public function FieldItemListTest::testEquals in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/tests/Drupal/Tests/Core/Field/FieldItemListTest.php \Drupal\Tests\Core\Field\FieldItemListTest::testEquals()
@covers ::equals
@dataProvider providerTestEquals
File
- core/
tests/ Drupal/ Tests/ Core/ Field/ FieldItemListTest.php, line 28 - Contains \Drupal\Tests\Core\Field\FieldItemListTest.
Class
- FieldItemListTest
- @coversDefaultClass \Drupal\Core\Field\FieldItemList @group Field
Namespace
Drupal\Tests\Core\FieldCode
public function testEquals($expected, FieldItemInterface $first_field_item = NULL, FieldItemInterface $second_field_item = NULL) {
// Mock the field type manager and place it in the container.
$field_type_manager = $this
->getMock('Drupal\\Core\\Field\\FieldTypePluginManagerInterface');
$container = new ContainerBuilder();
$container
->set('plugin.manager.field.field_type', $field_type_manager);
\Drupal::setContainer($container);
$field_storage_definition = $this
->getMock('Drupal\\Core\\Field\\FieldStorageDefinitionInterface');
$field_storage_definition
->expects($this
->any())
->method('getColumns')
->willReturn([
0 => '0',
1 => '1',
]);
$field_definition = $this
->getMock('Drupal\\Core\\Field\\FieldDefinitionInterface');
$field_definition
->expects($this
->any())
->method('getFieldStorageDefinition')
->willReturn($field_storage_definition);
$field_list_a = new FieldItemList($field_definition);
$field_list_b = new FieldItemList($field_definition);
// Set up the mocking necessary for creating field items.
$field_type_manager
->expects($this
->any())
->method('createFieldItem')
->willReturnOnConsecutiveCalls($first_field_item, $second_field_item);
// Set the field item values.
if ($first_field_item instanceof FieldItemInterface) {
$field_list_a
->setValue($first_field_item);
}
if ($second_field_item instanceof FieldItemInterface) {
$field_list_b
->setValue($second_field_item);
}
$this
->assertEquals($expected, $field_list_a
->equals($field_list_b));
}