X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Ftests%2FDrupal%2FTests%2FCore%2FField%2FFieldItemListTest.php;fp=web%2Fcore%2Ftests%2FDrupal%2FTests%2FCore%2FField%2FFieldItemListTest.php;h=83a0854dfb0b2dc6f3e8da69d39d28c487259797;hp=8927597452a29e9bea64a5bc72d976df256d72fe;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hpb=aea91e65e895364e460983b890e295aa5d5540a5 diff --git a/web/core/tests/Drupal/Tests/Core/Field/FieldItemListTest.php b/web/core/tests/Drupal/Tests/Core/Field/FieldItemListTest.php index 892759745..83a0854df 100644 --- a/web/core/tests/Drupal/Tests/Core/Field/FieldItemListTest.php +++ b/web/core/tests/Drupal/Tests/Core/Field/FieldItemListTest.php @@ -28,10 +28,24 @@ class FieldItemListTest extends UnitTestCase { $container->set('plugin.manager.field.field_type', $field_type_manager); \Drupal::setContainer($container); + // Set up three properties, one of them being computed. + $property_definitions['0'] = $this->getMock('Drupal\Core\TypedData\DataDefinitionInterface'); + $property_definitions['0']->expects($this->any()) + ->method('isComputed') + ->willReturn(FALSE); + $property_definitions['1'] = $this->getMock('Drupal\Core\TypedData\DataDefinitionInterface'); + $property_definitions['1']->expects($this->any()) + ->method('isComputed') + ->willReturn(FALSE); + $property_definitions['2'] = $this->getMock('Drupal\Core\TypedData\DataDefinitionInterface'); + $property_definitions['2']->expects($this->any()) + ->method('isComputed') + ->willReturn(TRUE); + $field_storage_definition = $this->getMock('Drupal\Core\Field\FieldStorageDefinitionInterface'); $field_storage_definition->expects($this->any()) - ->method('getColumns') - ->willReturn([0 => '0', 1 => '1']); + ->method('getPropertyDefinitions') + ->will($this->returnValue($property_definitions)); $field_definition = $this->getMock('Drupal\Core\Field\FieldDefinitionInterface'); $field_definition->expects($this->any()) ->method('getFieldStorageDefinition') @@ -95,6 +109,30 @@ class FieldItemListTest extends UnitTestCase { // types. $datasets[] = [TRUE, $field_item_b, $field_item_e]; + /** @var \Drupal\Core\Field\FieldItemBase $field_item_f */ + $field_item_f = $this->getMockForAbstractClass('Drupal\Core\Field\FieldItemBase', [], '', FALSE); + $field_item_f->setValue(['0' => 1, '1' => 2, '2' => 3]); + /** @var \Drupal\Core\Field\FieldItemBase $field_item_g */ + $field_item_g = $this->getMockForAbstractClass('Drupal\Core\Field\FieldItemBase', [], '', FALSE); + $field_item_g->setValue(['0' => 1, '1' => 2, '2' => 4]); + + // Tests field item lists where both have same values for the non-computed + // properties ('0' and '1') and a different value for the computed one + // ('2'). + $datasets[] = [TRUE, $field_item_f, $field_item_g]; + + /** @var \Drupal\Core\Field\FieldItemBase $field_item_h */ + $field_item_h = $this->getMockForAbstractClass('Drupal\Core\Field\FieldItemBase', [], '', FALSE); + $field_item_h->setValue(['0' => 1, '1' => 2, '3' => 3]); + /** @var \Drupal\Core\Field\FieldItemBase $field_item_i */ + $field_item_i = $this->getMockForAbstractClass('Drupal\Core\Field\FieldItemBase', [], '', FALSE); + $field_item_i->setValue(['0' => 1, '1' => 2, '3' => 4]); + + // Tests field item lists where both have same values for the non-computed + // properties ('0' and '1') and a different value for a property that does + // not exist ('3'). + $datasets[] = [TRUE, $field_item_h, $field_item_i]; + return $datasets; } @@ -114,10 +152,20 @@ class FieldItemListTest extends UnitTestCase { $container->set('plugin.manager.field.field_type', $field_type_manager); \Drupal::setContainer($container); + // Set up the properties of the field item. + $property_definitions['0'] = $this->getMock('Drupal\Core\TypedData\DataDefinitionInterface'); + $property_definitions['0']->expects($this->any()) + ->method('isComputed') + ->willReturn(FALSE); + $property_definitions['1'] = $this->getMock('Drupal\Core\TypedData\DataDefinitionInterface'); + $property_definitions['1']->expects($this->any()) + ->method('isComputed') + ->willReturn(FALSE); + $field_storage_definition = $this->getMock('Drupal\Core\Field\FieldStorageDefinitionInterface'); $field_storage_definition->expects($this->any()) - ->method('getColumns') - ->willReturn([0 => '0', 1 => '1']); + ->method('getPropertyDefinitions') + ->will($this->returnValue($property_definitions)); $field_definition = $this->getMock('Drupal\Core\Field\FieldDefinitionInterface'); $field_definition->expects($this->any()) ->method('getFieldStorageDefinition')