You are here

public function MultifieldUnitTestCase::testCloning in Multifield 7.2

Same name and namespace in other branches
  1. 7 tests/MultifieldUnitTestCase.test \MultifieldUnitTestCase::testCloning()

File

tests/MultifieldUnitTestCase.test, line 534

Class

MultifieldUnitTestCase

Code

public function testCloning() {

  // Add the test node type.
  $node_type = $this
    ->drupalCreateContentType()->type;
  field_create_field(array(
    'field_name' => 'field_multifield',
    'type' => 'multifield',
    'cardinality' => FIELD_CARDINALITY_UNLIMITED,
  ));
  field_create_field(array(
    'field_name' => 'field_test',
    'type' => 'test_field',
  ));
  field_create_instance(array(
    'field_name' => 'field_test',
    'entity_type' => 'multifield',
    'bundle' => 'field_multifield',
  ));
  field_create_instance(array(
    'field_name' => 'field_multifield',
    'entity_type' => 'node',
    'bundle' => $node_type,
  ));

  // Test creating a new entity with a manual ID.
  $node = entity_create_stub_entity('node', array(
    1,
    1,
    $node_type,
  ));
  $node->is_new = TRUE;
  $node->field_multifield[LANGUAGE_NONE][0]['field_test'][LANGUAGE_NONE][0]['value'] = 1;
  node_save($node);
  $clone = clone $node;
  $clone->nid = NULL;
  $clone->vid = NULL;
  node_save($clone);
  $this
    ->assertEqual($node->field_multifield[LANGUAGE_NONE][0]['field_test'], $clone->field_multifield[LANGUAGE_NONE][0]['field_test']);
  $this
    ->assertNotEqual($node->field_multifield[LANGUAGE_NONE][0]['id'], $clone->field_multifield[LANGUAGE_NONE][0]['id']);
}