diff --git a/core/modules/field/src/Tests/ConfigFieldDefinitionTest.php b/core/modules/field/src/Tests/ConfigFieldDefinitionTest.php index 8ac7032..dcd558c 100644 --- a/core/modules/field/src/Tests/ConfigFieldDefinitionTest.php +++ b/core/modules/field/src/Tests/ConfigFieldDefinitionTest.php @@ -56,10 +56,10 @@ public function setUp() { */ public function testBundleFieldDefinition() { $definitions = $this->entityManager->getFieldDefinitions($this->entityType, $this->bundle); - $this->assertTrue(isset($definitions[$this->fields->instance->getName()])); - $this->assertTrue($definitions[$this->fields->instance->getName()] instanceof FieldDefinitionInterface); + $this->assertTrue(isset($definitions[$this->fieldTestData->instance->getName()])); + $this->assertTrue($definitions[$this->fieldTestData->instance->getName()] instanceof FieldDefinitionInterface); // Make sure no field for the instance on another entity type is exposed. - $this->assertFalse(isset($definitions[$this->fields->instance_rev->getName()])); + $this->assertFalse(isset($definitions[$this->fieldTestData->instance_rev->getName()])); } /** @@ -67,11 +67,11 @@ public function testBundleFieldDefinition() { */ public function testFieldStorageDefinition() { $field_storage_definitions = $this->entityManager->getFieldStorageDefinitions($this->entityType); - $this->assertTrue(isset($field_storage_definitions[$this->fields->instance->getName()])); - $this->assertTrue($field_storage_definitions[$this->fields->instance->getName()] instanceof FieldStorageDefinitionInterface); + $this->assertTrue(isset($field_storage_definitions[$this->fieldTestData->instance->getName()])); + $this->assertTrue($field_storage_definitions[$this->fieldTestData->instance->getName()] instanceof FieldStorageDefinitionInterface); // Make sure no storage field for the instance on another entity type is // exposed. - $this->assertFalse(isset($field_storage_definitions[$this->fields->instance_rev->getName()])); + $this->assertFalse(isset($field_storage_definitions[$this->fieldTestData->instance_rev->getName()])); } } diff --git a/core/modules/field/src/Tests/FieldAttachOtherTest.php b/core/modules/field/src/Tests/FieldAttachOtherTest.php index 4a0b50c..92db885 100644 --- a/core/modules/field/src/Tests/FieldAttachOtherTest.php +++ b/core/modules/field/src/Tests/FieldAttachOtherTest.php @@ -33,10 +33,10 @@ function testEntityDisplayBuild() { $entity_init = entity_create($entity_type); // Populate values to be displayed. - $values = $this->_generateTestFieldValues($this->fields->field_storage->getCardinality()); - $entity_init->{$this->fields->field_name}->setValue($values); - $values_2 = $this->_generateTestFieldValues($this->fields->field_storage_2->getCardinality()); - $entity_init->{$this->fields->field_name_2}->setValue($values_2); + $values = $this->_generateTestFieldValues($this->fieldTestData->field_storage->getCardinality()); + $entity_init->{$this->fieldTestData->field_name}->setValue($values); + $values_2 = $this->_generateTestFieldValues($this->fieldTestData->field_storage_2->getCardinality()); + $entity_init->{$this->fieldTestData->field_name_2}->setValue($values_2); // Simple formatter, label displayed. $entity = clone($entity_init); @@ -50,7 +50,7 @@ function testEntityDisplayBuild() { 'test_formatter_setting' => $formatter_setting, ), ); - $display->setComponent($this->fields->field_name, $display_options); + $display->setComponent($this->fieldTestData->field_name, $display_options); $formatter_setting_2 = $this->randomName(); $display_options_2 = array( @@ -60,16 +60,16 @@ function testEntityDisplayBuild() { 'test_formatter_setting' => $formatter_setting_2, ), ); - $display->setComponent($this->fields->field_name_2, $display_options_2); + $display->setComponent($this->fieldTestData->field_name_2, $display_options_2); // View all fields. $content = $display->build($entity); $this->render($content); - $this->assertRaw($this->fields->instance->getLabel(), "First field's label is displayed."); + $this->assertRaw($this->fieldTestData->instance->getLabel(), "First field's label is displayed."); foreach ($values as $delta => $value) { $this->assertRaw("$formatter_setting|{$value['value']}", "Value $delta is displayed, formatter settings are applied."); } - $this->assertRaw($this->fields->instance_2->getLabel(), "Second field's label is displayed."); + $this->assertRaw($this->fieldTestData->instance_2->getLabel(), "Second field's label is displayed."); foreach ($values_2 as $delta => $value) { $this->assertRaw("$formatter_setting_2|{$value['value']}", "Value $delta is displayed, formatter settings are applied."); } @@ -77,17 +77,17 @@ function testEntityDisplayBuild() { // Label hidden. $entity = clone($entity_init); $display_options['label'] = 'hidden'; - $display->setComponent($this->fields->field_name, $display_options); + $display->setComponent($this->fieldTestData->field_name, $display_options); $content = $display->build($entity); $this->render($content); - $this->assertNoRaw($this->fields->instance->getLabel(), "Hidden label: label is not displayed."); + $this->assertNoRaw($this->fieldTestData->instance->getLabel(), "Hidden label: label is not displayed."); // Field hidden. $entity = clone($entity_init); - $display->removeComponent($this->fields->field_name); + $display->removeComponent($this->fieldTestData->field_name); $content = $display->build($entity); $this->render($content); - $this->assertNoRaw($this->fields->instance->getLabel(), "Hidden field: label is not displayed."); + $this->assertNoRaw($this->fieldTestData->instance->getLabel(), "Hidden field: label is not displayed."); foreach ($values as $delta => $value) { $this->assertNoRaw("$formatter_setting|{$value['value']}", "Hidden field: value $delta is not displayed."); } @@ -95,7 +95,7 @@ function testEntityDisplayBuild() { // Multiple formatter. $entity = clone($entity_init); $formatter_setting = $this->randomName(); - $display->setComponent($this->fields->field_name, array( + $display->setComponent($this->fieldTestData->field_name, array( 'label' => 'above', 'type' => 'field_test_multiple', 'settings' => array( @@ -113,7 +113,7 @@ function testEntityDisplayBuild() { // Test a formatter that uses hook_field_formatter_prepare_view(). $entity = clone($entity_init); $formatter_setting = $this->randomName(); - $display->setComponent($this->fields->field_name, array( + $display->setComponent($this->fieldTestData->field_name, array( 'label' => 'above', 'type' => 'field_test_with_prepare_view', 'settings' => array( @@ -137,21 +137,21 @@ function testEntityDisplayBuild() { function testEntityDisplayViewMultiple() { // Use a formatter that has a prepareView() step. $display = entity_get_display('entity_test', 'entity_test', 'full') - ->setComponent($this->fields->field_name, array( + ->setComponent($this->fieldTestData->field_name, array( 'type' => 'field_test_with_prepare_view', )); // Create two entities. $entity1 = entity_create('entity_test', array('id' => 1, 'type' => 'entity_test')); - $entity1->{$this->fields->field_name}->setValue($this->_generateTestFieldValues(1)); + $entity1->{$this->fieldTestData->field_name}->setValue($this->_generateTestFieldValues(1)); $entity2 = entity_create('entity_test', array('id' => 2, 'type' => 'entity_test')); - $entity2->{$this->fields->field_name}->setValue($this->_generateTestFieldValues(1)); + $entity2->{$this->fieldTestData->field_name}->setValue($this->_generateTestFieldValues(1)); // Run buildMultiple(), and check that the entities come out as expected. $display->buildMultiple(array($entity1, $entity2)); - $item1 = $entity1->{$this->fields->field_name}[0]; + $item1 = $entity1->{$this->fieldTestData->field_name}[0]; $this->assertEqual($item1->additional_formatter_value, $item1->value + 1, 'Entity 1 ran through the prepareView() formatter method.'); - $item2 = $entity2->{$this->fields->field_name}[0]; + $item2 = $entity2->{$this->fieldTestData->field_name}[0]; $this->assertEqual($item2->additional_formatter_value, $item2->value + 1, 'Entity 2 ran through the prepareView() formatter method.'); } @@ -163,8 +163,8 @@ function testEntityDisplayViewMultiple() { */ function testEntityCache() { // Initialize random values and a test entity. - $entity_init = entity_create('entity_test', array('type' => $this->fields->instance->bundle)); - $values = $this->_generateTestFieldValues($this->fields->field_storage->getCardinality()); + $entity_init = entity_create('entity_test', array('type' => $this->fieldTestData->instance->bundle)); + $values = $this->_generateTestFieldValues($this->fieldTestData->field_storage->getCardinality()); // Non-cacheable entity type. $entity_type = 'entity_test'; @@ -175,7 +175,7 @@ function testEntityCache() { // Save, and check that no cache entry is present. $entity = clone($entity_init); - $entity->{$this->fields->field_name}->setValue($values); + $entity->{$this->fieldTestData->field_name}->setValue($values); $entity = $this->entitySaveReload($entity); $cid = "values:$entity_type:" . $entity->id(); $this->assertFalse(\Drupal::cache('entity')->get($cid), 'Non-cached: no cache entry on insert and load'); @@ -194,7 +194,7 @@ function testEntityCache() { // Save, and check that no cache entry is present. $entity = clone($entity_init); - $entity->{$this->fields->field_name_2} = $values; + $entity->{$this->fieldTestData->field_name_2} = $values; $entity->save(); $cid = "values:$entity_type:" . $entity->id(); @@ -207,8 +207,8 @@ function testEntityCache() { $this->assertEqual($cache->data, $cached_entity, 'Cached: correct cache entry on load'); // Update with different values, and check that the cache entry is wiped. - $values = $this->_generateTestFieldValues($this->fields->field_storage_2->getCardinality()); - $entity->{$this->fields->field_name_2} = $values; + $values = $this->_generateTestFieldValues($this->fieldTestData->field_storage_2->getCardinality()); + $entity->{$this->fieldTestData->field_name_2} = $values; $entity->save(); $this->assertFalse(\Drupal::cache('entity')->get($cid), 'Cached: no cache entry on update'); @@ -219,8 +219,8 @@ function testEntityCache() { $this->assertEqual($cache->data, $cached_entity, 'Cached: correct cache entry on load'); // Create a new revision, and check that the cache entry is wiped. - $values = $this->_generateTestFieldValues($this->fields->field_storage_2->getCardinality()); - $entity->{$this->fields->field_name_2} = $values; + $values = $this->_generateTestFieldValues($this->fieldTestData->field_storage_2->getCardinality()); + $entity->{$this->fieldTestData->field_name_2} = $values; $entity->setNewRevision(); $entity->save(); $this->assertFalse(\Drupal::cache('entity')->get($cid), 'Cached: no cache entry on new revision creation'); @@ -246,29 +246,29 @@ function testEntityFormDisplayBuildForm() { $this->createFieldWithInstance('_2'); $entity_type = 'entity_test'; - $entity = entity_create($entity_type, array('id' => 1, 'revision_id' => 1, 'type' => $this->fields->instance->bundle)); + $entity = entity_create($entity_type, array('id' => 1, 'revision_id' => 1, 'type' => $this->fieldTestData->instance->bundle)); // Test generating widgets for all fields. - $display = entity_get_form_display($entity_type, $this->fields->instance->bundle, 'default'); + $display = entity_get_form_display($entity_type, $this->fieldTestData->instance->bundle, 'default'); $form = array(); $form_state = \Drupal::formBuilder()->getFormStateDefaults(); $display->buildForm($entity, $form, $form_state); - $this->assertEqual($form[$this->fields->field_name]['widget']['#title'], $this->fields->instance->getLabel(), "First field's form title is {$this->fields->instance->getLabel()}"); - $this->assertEqual($form[$this->fields->field_name_2]['widget']['#title'], $this->fields->instance_2->getLabel(), "Second field's form title is {$this->fields->instance_2->getLabel()}"); - for ($delta = 0; $delta < $this->fields->field_storage->getCardinality(); $delta++) { + $this->assertEqual($form[$this->fieldTestData->field_name]['widget']['#title'], $this->fieldTestData->instance->getLabel(), "First field's form title is {$this->fieldTestData->instance->getLabel()}"); + $this->assertEqual($form[$this->fieldTestData->field_name_2]['widget']['#title'], $this->fieldTestData->instance_2->getLabel(), "Second field's form title is {$this->fieldTestData->instance_2->getLabel()}"); + for ($delta = 0; $delta < $this->fieldTestData->field_storage->getCardinality(); $delta++) { // field_test_widget uses 'textfield' - $this->assertEqual($form[$this->fields->field_name]['widget'][$delta]['value']['#type'], 'textfield', "First field's form delta $delta widget is textfield"); + $this->assertEqual($form[$this->fieldTestData->field_name]['widget'][$delta]['value']['#type'], 'textfield', "First field's form delta $delta widget is textfield"); } - for ($delta = 0; $delta < $this->fields->field_storage_2->getCardinality(); $delta++) { + for ($delta = 0; $delta < $this->fieldTestData->field_storage_2->getCardinality(); $delta++) { // field_test_widget uses 'textfield' - $this->assertEqual($form[$this->fields->field_name_2]['widget'][$delta]['value']['#type'], 'textfield', "Second field's form delta $delta widget is textfield"); + $this->assertEqual($form[$this->fieldTestData->field_name_2]['widget'][$delta]['value']['#type'], 'textfield', "Second field's form delta $delta widget is textfield"); } // Test generating widgets for all fields. - $display = entity_get_form_display($entity_type, $this->fields->instance->bundle, 'default'); + $display = entity_get_form_display($entity_type, $this->fieldTestData->instance->bundle, 'default'); foreach ($display->getComponents() as $name => $options) { - if ($name != $this->fields->field_name_2) { + if ($name != $this->fieldTestData->field_name_2) { $display->removeComponent($name); } } @@ -276,11 +276,11 @@ function testEntityFormDisplayBuildForm() { $form_state = \Drupal::formBuilder()->getFormStateDefaults(); $display->buildForm($entity, $form, $form_state); - $this->assertFalse(isset($form[$this->fields->field_name]), 'The first field does not exist in the form'); - $this->assertEqual($form[$this->fields->field_name_2]['widget']['#title'], $this->fields->instance_2->getLabel(), "Second field's form title is {$this->fields->instance_2->getLabel()}"); - for ($delta = 0; $delta < $this->fields->field_storage_2->getCardinality(); $delta++) { + $this->assertFalse(isset($form[$this->fieldTestData->field_name]), 'The first field does not exist in the form'); + $this->assertEqual($form[$this->fieldTestData->field_name_2]['widget']['#title'], $this->fieldTestData->instance_2->getLabel(), "Second field's form title is {$this->fieldTestData->instance_2->getLabel()}"); + for ($delta = 0; $delta < $this->fieldTestData->field_storage_2->getCardinality(); $delta++) { // field_test_widget uses 'textfield' - $this->assertEqual($form[$this->fields->field_name_2]['widget'][$delta]['value']['#type'], 'textfield', "Second field's form delta $delta widget is textfield"); + $this->assertEqual($form[$this->fieldTestData->field_name_2]['widget'][$delta]['value']['#type'], 'textfield', "Second field's form delta $delta widget is textfield"); } } @@ -291,10 +291,10 @@ function testEntityFormDisplayExtractFormValues() { $this->createFieldWithInstance('_2'); $entity_type = 'entity_test'; - $entity_init = entity_create($entity_type, array('id' => 1, 'revision_id' => 1, 'type' => $this->fields->instance->bundle)); + $entity_init = entity_create($entity_type, array('id' => 1, 'revision_id' => 1, 'type' => $this->fieldTestData->instance->bundle)); // Build the form for all fields. - $display = entity_get_form_display($entity_type, $this->fields->instance->bundle, 'default'); + $display = entity_get_form_display($entity_type, $this->fieldTestData->instance->bundle, 'default'); $form = array(); $form_state = \Drupal::formBuilder()->getFormStateDefaults(); $display->buildForm($entity_init, $form, $form_state); @@ -303,11 +303,11 @@ function testEntityFormDisplayExtractFormValues() { // First field. $values = array(); $weights = array(); - for ($delta = 0; $delta < $this->fields->field_storage->getCardinality(); $delta++) { + for ($delta = 0; $delta < $this->fieldTestData->field_storage->getCardinality(); $delta++) { $values[$delta]['value'] = mt_rand(1, 127); // Assign random weight. do { - $weight = mt_rand(0, $this->fields->field_storage->getCardinality()); + $weight = mt_rand(0, $this->fieldTestData->field_storage->getCardinality()); } while (in_array($weight, $weights)); $weights[$delta] = $weight; $values[$delta]['_weight'] = $weight; @@ -317,11 +317,11 @@ function testEntityFormDisplayExtractFormValues() { // Second field. $values_2 = array(); $weights_2 = array(); - for ($delta = 0; $delta < $this->fields->field_storage_2->getCardinality(); $delta++) { + for ($delta = 0; $delta < $this->fieldTestData->field_storage_2->getCardinality(); $delta++) { $values_2[$delta]['value'] = mt_rand(1, 127); // Assign random weight. do { - $weight = mt_rand(0, $this->fields->field_storage_2->getCardinality()); + $weight = mt_rand(0, $this->fieldTestData->field_storage_2->getCardinality()); } while (in_array($weight, $weights_2)); $weights_2[$delta] = $weight; $values_2[$delta]['_weight'] = $weight; @@ -333,8 +333,8 @@ function testEntityFormDisplayExtractFormValues() { $form_state['build_info']['callback_object'] = \Drupal::entityManager()->getFormObject($entity_type, 'default'); \Drupal::formBuilder()->prepareForm('field_test_entity_form', $form, $form_state); drupal_process_form('field_test_entity_form', $form, $form_state); - $form_state['values'][$this->fields->field_name] = $values; - $form_state['values'][$this->fields->field_name_2] = $values_2; + $form_state['values'][$this->fieldTestData->field_name] = $values; + $form_state['values'][$this->fieldTestData->field_name_2] = $values_2; // Extract values for all fields. $entity = clone($entity_init); @@ -349,17 +349,17 @@ function testEntityFormDisplayExtractFormValues() { $expected_values[] = array('value' => $values[$key]['value']); } } - $this->assertIdentical($entity->{$this->fields->field_name}->getValue(), $expected_values, 'Submit filters empty values'); + $this->assertIdentical($entity->{$this->fieldTestData->field_name}->getValue(), $expected_values, 'Submit filters empty values'); foreach ($weights_2 as $key => $value) { if ($key != 1) { $expected_values_2[] = array('value' => $values_2[$key]['value']); } } - $this->assertIdentical($entity->{$this->fields->field_name_2}->getValue(), $expected_values_2, 'Submit filters empty values'); + $this->assertIdentical($entity->{$this->fieldTestData->field_name_2}->getValue(), $expected_values_2, 'Submit filters empty values'); // Call EntityFormDisplayInterface::extractFormValues() for a single field (the second field). foreach ($display->getComponents() as $name => $options) { - if ($name != $this->fields->field_name_2) { + if ($name != $this->fieldTestData->field_name_2) { $display->removeComponent($name); } } @@ -371,8 +371,8 @@ function testEntityFormDisplayExtractFormValues() { $expected_values_2[] = array('value' => $values_2[$key]['value']); } } - $this->assertTrue($entity->{$this->fields->field_name}->isEmpty(), 'The first field is empty in the entity object'); - $this->assertIdentical($entity->{$this->fields->field_name_2}->getValue(), $expected_values_2, 'Submit filters empty values'); + $this->assertTrue($entity->{$this->fieldTestData->field_name}->isEmpty(), 'The first field is empty in the entity object'); + $this->assertIdentical($entity->{$this->fieldTestData->field_name_2}->getValue(), $expected_values_2, 'Submit filters empty values'); } } diff --git a/core/modules/field/src/Tests/FieldAttachStorageTest.php b/core/modules/field/src/Tests/FieldAttachStorageTest.php index bdae33a..a8aa976 100644 --- a/core/modules/field/src/Tests/FieldAttachStorageTest.php +++ b/core/modules/field/src/Tests/FieldAttachStorageTest.php @@ -30,7 +30,7 @@ public function setUp() { function testFieldAttachSaveLoad() { $entity_type = 'entity_test_rev'; $this->createFieldWithInstance('', $entity_type); - $cardinality = $this->fields->field_storage->getCardinality(); + $cardinality = $this->fieldTestData->field_storage->getCardinality(); // TODO : test empty values filtering and "compression" (store consecutive deltas). // Preparation: create three revisions and store them in $revision array. @@ -39,7 +39,7 @@ function testFieldAttachSaveLoad() { for ($revision_id = 0; $revision_id < 3; $revision_id++) { // Note: we try to insert one extra value. $current_values = $this->_generateTestFieldValues($cardinality + 1); - $entity->{$this->fields->field_name}->setValue($current_values); + $entity->{$this->fieldTestData->field_name}->setValue($current_values); $entity->setNewRevision(); $entity->save(); $entity_id = $entity->id(); @@ -52,20 +52,20 @@ function testFieldAttachSaveLoad() { $entity = $storage->load($entity_id); // Confirm current revision loads the correct data. // Number of values per field loaded equals the field cardinality. - $this->assertEqual(count($entity->{$this->fields->field_name}), $cardinality, 'Current revision: expected number of values'); + $this->assertEqual(count($entity->{$this->fieldTestData->field_name}), $cardinality, 'Current revision: expected number of values'); for ($delta = 0; $delta < $cardinality; $delta++) { // The field value loaded matches the one inserted or updated. - $this->assertEqual($entity->{$this->fields->field_name}[$delta]->value , $values[$current_revision][$delta]['value'], format_string('Current revision: expected value %delta was found.', array('%delta' => $delta))); + $this->assertEqual($entity->{$this->fieldTestData->field_name}[$delta]->value , $values[$current_revision][$delta]['value'], format_string('Current revision: expected value %delta was found.', array('%delta' => $delta))); } // Confirm each revision loads the correct data. foreach (array_keys($values) as $revision_id) { $entity = $storage->loadRevision($revision_id); // Number of values per field loaded equals the field cardinality. - $this->assertEqual(count($entity->{$this->fields->field_name}), $cardinality, format_string('Revision %revision_id: expected number of values.', array('%revision_id' => $revision_id))); + $this->assertEqual(count($entity->{$this->fieldTestData->field_name}), $cardinality, format_string('Revision %revision_id: expected number of values.', array('%revision_id' => $revision_id))); for ($delta = 0; $delta < $cardinality; $delta++) { // The field value loaded matches the one inserted or updated. - $this->assertEqual($entity->{$this->fields->field_name}[$delta]->value, $values[$revision_id][$delta]['value'], format_string('Revision %revision_id: expected value %delta was found.', array('%revision_id' => $revision_id, '%delta' => $delta))); + $this->assertEqual($entity->{$this->fieldTestData->field_name}[$delta]->value, $values[$revision_id][$delta]['value'], format_string('Revision %revision_id: expected value %delta was found.', array('%revision_id' => $revision_id, '%delta' => $delta))); } } } @@ -151,10 +151,10 @@ function testFieldAttachSaveEmptyData() { // Insert: Field is NULL. $entity = clone $entity_init; - $entity->{$this->fields->field_name} = NULL; + $entity->{$this->fieldTestData->field_name} = NULL; $entity->enforceIsNew(); $entity = $this->entitySaveReload($entity); - $this->assertTrue($entity->{$this->fields->field_name}->isEmpty(), 'Insert: NULL field results in no value saved'); + $this->assertTrue($entity->{$this->fieldTestData->field_name}->isEmpty(), 'Insert: NULL field results in no value saved'); // All saves after this point should be updates, not inserts. $entity_init->enforceIsNew(FALSE); @@ -162,28 +162,28 @@ function testFieldAttachSaveEmptyData() { // Add some real data. $entity = clone($entity_init); $values = $this->_generateTestFieldValues(1); - $entity->{$this->fields->field_name} = $values; + $entity->{$this->fieldTestData->field_name} = $values; $entity = $this->entitySaveReload($entity); - $this->assertEqual($entity->{$this->fields->field_name}->getValue(), $values, 'Field data saved'); + $this->assertEqual($entity->{$this->fieldTestData->field_name}->getValue(), $values, 'Field data saved'); // Update: Field is NULL. Data should be wiped. $entity = clone($entity_init); - $entity->{$this->fields->field_name} = NULL; + $entity->{$this->fieldTestData->field_name} = NULL; $entity = $this->entitySaveReload($entity); - $this->assertTrue($entity->{$this->fields->field_name}->isEmpty(), 'Update: NULL field removes existing values'); + $this->assertTrue($entity->{$this->fieldTestData->field_name}->isEmpty(), 'Update: NULL field removes existing values'); // Re-add some data. $entity = clone($entity_init); $values = $this->_generateTestFieldValues(1); - $entity->{$this->fields->field_name} = $values; + $entity->{$this->fieldTestData->field_name} = $values; $entity = $this->entitySaveReload($entity); - $this->assertEqual($entity->{$this->fields->field_name}->getValue(), $values, 'Field data saved'); + $this->assertEqual($entity->{$this->fieldTestData->field_name}->getValue(), $values, 'Field data saved'); // Update: Field is empty array. Data should be wiped. $entity = clone($entity_init); - $entity->{$this->fields->field_name} = array(); + $entity->{$this->fieldTestData->field_name} = array(); $entity = $this->entitySaveReload($entity); - $this->assertTrue($entity->{$this->fields->field_name}->isEmpty(), 'Update: empty array removes existing values'); + $this->assertTrue($entity->{$this->fieldTestData->field_name}->isEmpty(), 'Update: empty array removes existing values'); } /** @@ -194,25 +194,25 @@ function testFieldAttachSaveEmptyDataDefaultValue() { $this->createFieldWithInstance('', $entity_type); // Add a default value function. - $this->fields->instance->default_value_function = 'field_test_default_value'; - $this->fields->instance->save(); + $this->fieldTestData->instance->default_value_function = 'field_test_default_value'; + $this->fieldTestData->instance->save(); // Verify that fields are populated with default values. $entity_init = entity_create($entity_type, array('id' => 1, 'revision_id' => 1)); - $default = field_test_default_value($entity_init, $this->fields->instance); - $this->assertEqual($entity_init->{$this->fields->field_name}->getValue(), $default, 'Default field value correctly populated.'); + $default = field_test_default_value($entity_init, $this->fieldTestData->instance); + $this->assertEqual($entity_init->{$this->fieldTestData->field_name}->getValue(), $default, 'Default field value correctly populated.'); // Insert: Field is NULL. $entity = clone($entity_init); - $entity->{$this->fields->field_name} = NULL; + $entity->{$this->fieldTestData->field_name} = NULL; $entity->enforceIsNew(); $entity = $this->entitySaveReload($entity); - $this->assertTrue($entity->{$this->fields->field_name}->isEmpty(), 'Insert: NULL field results in no value saved'); + $this->assertTrue($entity->{$this->fieldTestData->field_name}->isEmpty(), 'Insert: NULL field results in no value saved'); // Verify that prepopulated field values are not overwritten by defaults. $value = array(array('value' => $default[0]['value'] - mt_rand(1, 127))); - $entity = entity_create($entity_type, array('type' => $entity_init->bundle(), $this->fields->field_name => $value)); - $this->assertEqual($entity->{$this->fields->field_name}->getValue(), $value, 'Prepopulated field value correctly maintained.'); + $entity = entity_create($entity_type, array('type' => $entity_init->bundle(), $this->fieldTestData->field_name => $value)); + $this->assertEqual($entity->{$this->fieldTestData->field_name}->getValue(), $value, 'Prepopulated field value correctly maintained.'); } /** @@ -221,13 +221,13 @@ function testFieldAttachSaveEmptyDataDefaultValue() { function testFieldAttachDelete() { $entity_type = 'entity_test_rev'; $this->createFieldWithInstance('', $entity_type); - $cardinality = $this->fields->field_storage->getCardinality(); - $entity = entity_create($entity_type, array('type' => $this->fields->instance->bundle)); + $cardinality = $this->fieldTestData->field_storage->getCardinality(); + $entity = entity_create($entity_type, array('type' => $this->fieldTestData->instance->bundle)); $vids = array(); // Create revision 0 $values = $this->_generateTestFieldValues($cardinality); - $entity->{$this->fields->field_name} = $values; + $entity->{$this->fieldTestData->field_name} = $values; $entity->save(); $vids[] = $entity->getRevisionId(); @@ -246,7 +246,7 @@ function testFieldAttachDelete() { // Confirm each revision loads foreach ($vids as $vid) { $revision = $controller->loadRevision($vid); - $this->assertEqual(count($revision->{$this->fields->field_name}), $cardinality, "The test entity revision $vid has $cardinality values."); + $this->assertEqual(count($revision->{$this->fieldTestData->field_name}), $cardinality, "The test entity revision $vid has $cardinality values."); } // Delete revision 1, confirm the other two still load. @@ -255,13 +255,13 @@ function testFieldAttachDelete() { foreach (array(0, 2) as $key) { $vid = $vids[$key]; $revision = $controller->loadRevision($vid); - $this->assertEqual(count($revision->{$this->fields->field_name}), $cardinality, "The test entity revision $vid has $cardinality values."); + $this->assertEqual(count($revision->{$this->fieldTestData->field_name}), $cardinality, "The test entity revision $vid has $cardinality values."); } // Confirm the current revision still loads $controller->resetCache(); $current = $controller->load($entity->id()); - $this->assertEqual(count($current->{$this->fields->field_name}), $cardinality, "The test entity current revision has $cardinality values."); + $this->assertEqual(count($current->{$this->fieldTestData->field_name}), $cardinality, "The test entity current revision has $cardinality values."); // Delete all field data, confirm nothing loads $entity->delete(); @@ -279,38 +279,38 @@ function testFieldAttachDelete() { function testEntityCreateRenameBundle() { $entity_type = 'entity_test_rev'; $this->createFieldWithInstance('', $entity_type); - $cardinality = $this->fields->field_storage->getCardinality(); + $cardinality = $this->fieldTestData->field_storage->getCardinality(); // Create a new bundle. $new_bundle = 'test_bundle_' . drupal_strtolower($this->randomName()); entity_test_create_bundle($new_bundle, NULL, $entity_type); // Add an instance to that bundle. - $this->fields->instance_definition['bundle'] = $new_bundle; - entity_create('field_instance_config', $this->fields->instance_definition)->save(); + $this->fieldTestData->instance_definition['bundle'] = $new_bundle; + entity_create('field_instance_config', $this->fieldTestData->instance_definition)->save(); // Save an entity with data in the field. - $entity = entity_create($entity_type, array('type' => $this->fields->instance->bundle)); + $entity = entity_create($entity_type, array('type' => $this->fieldTestData->instance->bundle)); $values = $this->_generateTestFieldValues($cardinality); - $entity->{$this->fields->field_name} = $values; + $entity->{$this->fieldTestData->field_name} = $values; // Verify the field data is present on load. $entity = $this->entitySaveReload($entity); - $this->assertEqual(count($entity->{$this->fields->field_name}), $cardinality, "Data is retrieved for the new bundle"); + $this->assertEqual(count($entity->{$this->fieldTestData->field_name}), $cardinality, "Data is retrieved for the new bundle"); // Rename the bundle. $new_bundle = 'test_bundle_' . drupal_strtolower($this->randomName()); - entity_test_rename_bundle($this->fields->instance_definition['bundle'], $new_bundle, $entity_type); + entity_test_rename_bundle($this->fieldTestData->instance_definition['bundle'], $new_bundle, $entity_type); // Check that the instance definition has been updated. - $this->fields->instance = FieldInstanceConfig::loadByName($entity_type, $new_bundle, $this->fields->field_name); - $this->assertIdentical($this->fields->instance->bundle, $new_bundle, "Bundle name has been updated in the instance."); + $this->fieldTestData->instance = FieldInstanceConfig::loadByName($entity_type, $new_bundle, $this->fieldTestData->field_name); + $this->assertIdentical($this->fieldTestData->instance->bundle, $new_bundle, "Bundle name has been updated in the instance."); // Verify the field data is present on load. $controller = $this->container->get('entity.manager')->getStorage($entity->getEntityTypeId()); $controller->resetCache(); $entity = $controller->load($entity->id()); - $this->assertEqual(count($entity->{$this->fields->field_name}), $cardinality, "Bundle name has been updated in the field storage"); + $this->assertEqual(count($entity->{$this->fieldTestData->field_name}), $cardinality, "Bundle name has been updated in the field storage"); } /** @@ -325,8 +325,8 @@ function testEntityDeleteBundle() { entity_test_create_bundle($new_bundle, NULL, $entity_type); // Add an instance to that bundle. - $this->fields->instance_definition['bundle'] = $new_bundle; - entity_create('field_instance_config', $this->fields->instance_definition)->save(); + $this->fieldTestData->instance_definition['bundle'] = $new_bundle; + entity_create('field_instance_config', $this->fieldTestData->instance_definition)->save(); // Create a second field for the test bundle $field_name = drupal_strtolower($this->randomName() . '_field_name'); @@ -340,7 +340,7 @@ function testEntityDeleteBundle() { $instance = array( 'field_name' => $field_name, 'entity_type' => $entity_type, - 'bundle' => $this->fields->instance->bundle, + 'bundle' => $this->fieldTestData->instance->bundle, 'label' => $this->randomName() . '_label', 'description' => $this->randomName() . '_description', 'weight' => mt_rand(0, 127), @@ -348,29 +348,29 @@ function testEntityDeleteBundle() { entity_create('field_instance_config', $instance)->save(); // Save an entity with data for both fields - $entity = entity_create($entity_type, array('type' => $this->fields->instance->bundle)); - $values = $this->_generateTestFieldValues($this->fields->field_storage->getCardinality()); - $entity->{$this->fields->field_name} = $values; + $entity = entity_create($entity_type, array('type' => $this->fieldTestData->instance->bundle)); + $values = $this->_generateTestFieldValues($this->fieldTestData->field_storage->getCardinality()); + $entity->{$this->fieldTestData->field_name} = $values; $entity->{$field_name} = $this->_generateTestFieldValues(1); $entity = $this->entitySaveReload($entity); // Verify the fields are present on load - $this->assertEqual(count($entity->{$this->fields->field_name}), 4, 'First field got loaded'); + $this->assertEqual(count($entity->{$this->fieldTestData->field_name}), 4, 'First field got loaded'); $this->assertEqual(count($entity->{$field_name}), 1, 'Second field got loaded'); // Delete the bundle. - entity_test_delete_bundle($this->fields->instance->bundle, $entity_type); + entity_test_delete_bundle($this->fieldTestData->instance->bundle, $entity_type); // Verify no data gets loaded $controller = $this->container->get('entity.manager')->getStorage($entity->getEntityTypeId()); $controller->resetCache(); $entity= $controller->load($entity->id()); - $this->assertTrue(empty($entity->{$this->fields->field_name}), 'No data for first field'); + $this->assertTrue(empty($entity->{$this->fieldTestData->field_name}), 'No data for first field'); $this->assertTrue(empty($entity->{$field_name}), 'No data for second field'); // Verify that the instances are gone. - $this->assertFalse(entity_load('field_instance_config', 'entity_test.' . $this->fields->instance->bundle . '.' . $this->fields->field_name), "First field is deleted"); + $this->assertFalse(entity_load('field_instance_config', 'entity_test.' . $this->fieldTestData->instance->bundle . '.' . $this->fieldTestData->field_name), "First field is deleted"); $this->assertFalse(entity_load('field_instance_config', 'entity_test.' . $instance['bundle']. '.' . $field_name), "Second field is deleted"); } diff --git a/core/modules/field/src/Tests/FieldUnitTestBase.php b/core/modules/field/src/Tests/FieldUnitTestBase.php index c8dbb95..44b8d21 100644 --- a/core/modules/field/src/Tests/FieldUnitTestBase.php +++ b/core/modules/field/src/Tests/FieldUnitTestBase.php @@ -37,7 +37,7 @@ * * @var \ArrayObject */ - protected $fields; + protected $fieldTestData; /** * Set the default field storage backend for fields created during tests. @@ -45,7 +45,7 @@ protected function setUp() { parent::setUp(); - $this->fields = new \ArrayObject(array(), \ArrayObject::ARRAY_AS_PROPS); + $this->fieldTestData = new \ArrayObject(array(), \ArrayObject::ARRAY_AS_PROPS); $this->installEntitySchema('entity_test'); $this->installEntitySchema('user'); @@ -78,17 +78,17 @@ protected function createFieldWithInstance($suffix = '', $entity_type = 'entity_ $instance = 'instance' . $suffix; $instance_definition = 'instance_definition' . $suffix; - $this->fields->$field_name = drupal_strtolower($this->randomName() . '_field_name' . $suffix); - $this->fields->$field_storage = entity_create('field_storage_config', array( - 'name' => $this->fields->$field_name, + $this->fieldTestData->$field_name = drupal_strtolower($this->randomName() . '_field_name' . $suffix); + $this->fieldTestData->$field_storage = entity_create('field_storage_config', array( + 'name' => $this->fieldTestData->$field_name, 'entity_type' => $entity_type, 'type' => 'test_field', 'cardinality' => 4, )); - $this->fields->$field_storage->save(); - $this->fields->$field_storage_uuid = $this->fields->$field_storage->uuid(); - $this->fields->$instance_definition = array( - 'field_storage' => $this->fields->$field_storage, + $this->fieldTestData->$field_storage->save(); + $this->fieldTestData->$field_storage_uuid = $this->fieldTestData->$field_storage->uuid(); + $this->fieldTestData->$instance_definition = array( + 'field_storage' => $this->fieldTestData->$field_storage, 'bundle' => $bundle, 'label' => $this->randomName() . '_label', 'description' => $this->randomName() . '_description', @@ -96,11 +96,11 @@ protected function createFieldWithInstance($suffix = '', $entity_type = 'entity_ 'test_instance_setting' => $this->randomName(), ), ); - $this->fields->$instance = entity_create('field_instance_config', $this->fields->$instance_definition); - $this->fields->$instance->save(); + $this->fieldTestData->$instance = entity_create('field_instance_config', $this->fieldTestData->$instance_definition); + $this->fieldTestData->$instance->save(); entity_get_form_display($entity_type, $bundle, 'default') - ->setComponent($this->fields->$field_name, array( + ->setComponent($this->fieldTestData->$field_name, array( 'type' => 'test_field_widget', 'settings' => array( 'test_widget_setting' => $this->randomName(), diff --git a/core/modules/field/src/Tests/FieldValidationTest.php b/core/modules/field/src/Tests/FieldValidationTest.php index c625781..d7bcecb 100644 --- a/core/modules/field/src/Tests/FieldValidationTest.php +++ b/core/modules/field/src/Tests/FieldValidationTest.php @@ -50,27 +50,27 @@ public function setUp() { * Tests that the number of values is validated against the field cardinality. */ function testCardinalityConstraint() { - $cardinality = $this->fields->field_storage->cardinality; + $cardinality = $this->fieldTestData->field_storage->cardinality; $entity = $this->entity; for ($delta = 0; $delta < $cardinality + 1; $delta++) { - $entity->{$this->fields->field_name}->get($delta)->set('value', 1); + $entity->{$this->fieldTestData->field_name}->get($delta)->set('value', 1); } // Validate the field. - $violations = $entity->{$this->fields->field_name}->validate(); + $violations = $entity->{$this->fieldTestData->field_name}->validate(); // Check that the expected constraint violations are reported. $this->assertEqual(count($violations), 1); $this->assertEqual($violations[0]->getPropertyPath(), ''); - $this->assertEqual($violations[0]->getMessage(), t('%name: this field cannot hold more than @count values.', array('%name' => $this->fields->instance->getLabel(), '@count' => $cardinality))); + $this->assertEqual($violations[0]->getMessage(), t('%name: this field cannot hold more than @count values.', array('%name' => $this->fieldTestData->instance->getLabel(), '@count' => $cardinality))); } /** * Tests that constraints defined by the field type are validated. */ function testFieldConstraints() { - $cardinality = $this->fields->field_storage->getCardinality(); + $cardinality = $this->fieldTestData->field_storage->getCardinality(); $entity = $this->entity; // The test is only valid if the field cardinality is greater than 2. @@ -85,13 +85,13 @@ function testFieldConstraints() { } else { $value = -1; - $expected_violations[$delta . '.value'][] = t('%name does not accept the value -1.', array('%name' => $this->fields->instance->getLabel())); + $expected_violations[$delta . '.value'][] = t('%name does not accept the value -1.', array('%name' => $this->fieldTestData->instance->getLabel())); } - $entity->{$this->fields->field_name}->get($delta)->set('value', $value); + $entity->{$this->fieldTestData->field_name}->get($delta)->set('value', $value); } // Validate the field. - $violations = $entity->{$this->fields->field_name}->validate(); + $violations = $entity->{$this->fieldTestData->field_name}->validate(); // Check that the expected constraint violations are reported. $violations_by_path = array();