function FieldTestBase::assertFieldValues in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/field/src/Tests/FieldTestBase.php \Drupal\field\Tests\FieldTestBase::assertFieldValues()
Assert that a field has the expected values in an entity.
This function only checks a single column in the field values.
Parameters
EntityInterface $entity: The entity to test.
$field_name: The name of the field to test
$expected_values: The array of expected values.
$langcode: (Optional) The language code for the values. Defaults to \Drupal\Core\Language\LanguageInterface::LANGCODE_DEFAULT.
$column: (Optional) The name of the column to check. Defaults to 'value'.
6 calls to FieldTestBase::assertFieldValues()
- FormTest::testFieldFormMultipleWidget in core/
modules/ field/ src/ Tests/ FormTest.php - Tests widgets handling multiple values.
- NestedFormTest::testNestedFieldForm in core/
modules/ field/ src/ Tests/ NestedFormTest.php - Tests Field API form integration within a subform.
- OptionsWidgetsTest::testCheckBoxes in core/
modules/ options/ src/ Tests/ OptionsWidgetsTest.php - Tests the 'options_buttons' widget (multiple select).
- OptionsWidgetsTest::testRadioButtons in core/
modules/ options/ src/ Tests/ OptionsWidgetsTest.php - Tests the 'options_buttons' widget (single select).
- OptionsWidgetsTest::testSelectListMultiple in core/
modules/ options/ src/ Tests/ OptionsWidgetsTest.php - Tests the 'options_select' widget (multiple select).
File
- core/
modules/ field/ src/ Tests/ FieldTestBase.php, line 53 - Contains \Drupal\field\Tests\FieldTestBase.
Class
- FieldTestBase
- Parent class for Field API tests.
Namespace
Drupal\field\TestsCode
function assertFieldValues(EntityInterface $entity, $field_name, $expected_values, $langcode = LanguageInterface::LANGCODE_DEFAULT, $column = 'value') {
// Re-load the entity to make sure we have the latest changes.
\Drupal::entityManager()
->getStorage($entity
->getEntityTypeId())
->resetCache(array(
$entity
->id(),
));
$e = entity_load($entity
->getEntityTypeId(), $entity
->id());
$field = $values = $e
->getTranslation($langcode)->{$field_name};
// Filter out empty values so that they don't mess with the assertions.
$field
->filterEmptyItems();
$values = $field
->getValue();
$this
->assertEqual(count($values), count($expected_values), 'Expected number of values were saved.');
foreach ($expected_values as $key => $value) {
$this
->assertEqual($values[$key][$column], $value, format_string('Value @value was saved correctly.', array(
'@value' => $value,
)));
}
}