Mercurial > hg > isophonics-drupal-site
annotate core/modules/field/tests/src/Kernel/TestObjectItemTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 namespace Drupal\Tests\field\Kernel; |
Chris@0 | 4 |
Chris@0 | 5 use Drupal\entity_test\Entity\EntityTest; |
Chris@0 | 6 use Drupal\field\Entity\FieldConfig; |
Chris@0 | 7 use Drupal\field\Entity\FieldStorageConfig; |
Chris@0 | 8 |
Chris@0 | 9 /** |
Chris@0 | 10 * Tests the serialization of an object. |
Chris@0 | 11 * |
Chris@0 | 12 * @group field |
Chris@0 | 13 */ |
Chris@0 | 14 class TestObjectItemTest extends FieldKernelTestBase { |
Chris@0 | 15 |
Chris@0 | 16 /** |
Chris@0 | 17 * Modules to enable. |
Chris@0 | 18 * |
Chris@0 | 19 * @var array |
Chris@0 | 20 */ |
Chris@0 | 21 public static $modules = ['field_test']; |
Chris@0 | 22 |
Chris@0 | 23 /** |
Chris@0 | 24 * {@inheritdoc} |
Chris@0 | 25 */ |
Chris@0 | 26 protected function setUp() { |
Chris@0 | 27 parent::setUp(); |
Chris@0 | 28 |
Chris@0 | 29 // Create a 'test_field' field and storage for validation. |
Chris@0 | 30 FieldStorageConfig::create([ |
Chris@0 | 31 'field_name' => 'field_test', |
Chris@0 | 32 'entity_type' => 'entity_test', |
Chris@0 | 33 'type' => 'test_object_field', |
Chris@0 | 34 ])->save(); |
Chris@0 | 35 FieldConfig::create([ |
Chris@0 | 36 'entity_type' => 'entity_test', |
Chris@0 | 37 'field_name' => 'field_test', |
Chris@0 | 38 'bundle' => 'entity_test', |
Chris@0 | 39 ])->save(); |
Chris@0 | 40 } |
Chris@0 | 41 |
Chris@0 | 42 /** |
Chris@0 | 43 * Tests the serialization of a field type that has an object. |
Chris@0 | 44 */ |
Chris@0 | 45 public function testTestObjectItem() { |
Chris@0 | 46 $object = new \stdClass(); |
Chris@0 | 47 $object->foo = 'bar'; |
Chris@0 | 48 $entity = EntityTest::create(); |
Chris@0 | 49 $entity->field_test->value = $object; |
Chris@0 | 50 $entity->save(); |
Chris@0 | 51 |
Chris@0 | 52 // Verify that the entity has been created properly. |
Chris@0 | 53 $id = $entity->id(); |
Chris@0 | 54 $entity = EntityTest::load($id); |
Chris@0 | 55 $this->assertTrue($entity->field_test->value instanceof \stdClass); |
Chris@0 | 56 $this->assertEquals($object, $entity->field_test->value); |
Chris@0 | 57 } |
Chris@0 | 58 |
Chris@0 | 59 } |