Mercurial > hg > cmmr2012-drupal-site
comparison core/modules/text/tests/src/Kernel/TextWithSummaryItemTest.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children | a9cd425dd02b |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c75dbcec494b |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\Tests\text\Kernel; | |
4 | |
5 use Drupal\Core\Field\FieldItemListInterface; | |
6 use Drupal\Core\Field\FieldItemInterface; | |
7 use Drupal\field\Entity\FieldConfig; | |
8 use Drupal\Tests\field\Kernel\FieldKernelTestBase; | |
9 use Drupal\field\Entity\FieldStorageConfig; | |
10 use Drupal\filter\Entity\FilterFormat; | |
11 | |
12 /** | |
13 * Tests using entity fields of the text summary field type. | |
14 * | |
15 * @group text | |
16 */ | |
17 class TextWithSummaryItemTest extends FieldKernelTestBase { | |
18 | |
19 /** | |
20 * Modules to enable. | |
21 * | |
22 * @var array | |
23 */ | |
24 public static $modules = ['filter']; | |
25 | |
26 /** | |
27 * Field storage entity. | |
28 * | |
29 * @var \Drupal\field\Entity\FieldStorageConfig. | |
30 */ | |
31 protected $fieldStorage; | |
32 | |
33 /** | |
34 * Field entity. | |
35 * | |
36 * @var \Drupal\field\Entity\FieldConfig | |
37 */ | |
38 protected $field; | |
39 | |
40 | |
41 protected function setUp() { | |
42 parent::setUp(); | |
43 | |
44 $this->installEntitySchema('entity_test_rev'); | |
45 | |
46 // Create the necessary formats. | |
47 $this->installConfig(['filter']); | |
48 FilterFormat::create([ | |
49 'format' => 'no_filters', | |
50 'filters' => [], | |
51 ])->save(); | |
52 } | |
53 | |
54 /** | |
55 * Tests processed properties. | |
56 */ | |
57 public function testCrudAndUpdate() { | |
58 $entity_type = 'entity_test'; | |
59 $this->createField($entity_type); | |
60 | |
61 // Create an entity with a summary and no text format. | |
62 $storage = $this->container->get('entity_type.manager') | |
63 ->getStorage($entity_type); | |
64 $entity = $storage->create(); | |
65 $entity->summary_field->value = $value = $this->randomMachineName(); | |
66 $entity->summary_field->summary = $summary = $this->randomMachineName(); | |
67 $entity->summary_field->format = NULL; | |
68 $entity->name->value = $this->randomMachineName(); | |
69 $entity->save(); | |
70 | |
71 $entity = $storage->load($entity->id()); | |
72 $this->assertTrue($entity->summary_field instanceof FieldItemListInterface, 'Field implements interface.'); | |
73 $this->assertTrue($entity->summary_field[0] instanceof FieldItemInterface, 'Field item implements interface.'); | |
74 $this->assertEqual($entity->summary_field->value, $value); | |
75 $this->assertEqual($entity->summary_field->summary, $summary); | |
76 $this->assertNull($entity->summary_field->format); | |
77 // Even if no format is given, if text processing is enabled, the default | |
78 // format is used. | |
79 $this->assertEqual($entity->summary_field->processed, "<p>$value</p>\n"); | |
80 $this->assertEqual($entity->summary_field->summary_processed, "<p>$summary</p>\n"); | |
81 | |
82 // Change the format, this should update the processed properties. | |
83 $entity->summary_field->format = 'no_filters'; | |
84 $this->assertEqual($entity->summary_field->processed, $value); | |
85 $this->assertEqual($entity->summary_field->summary_processed, $summary); | |
86 | |
87 // Test the generateSampleValue() method. | |
88 $entity = $this->container->get('entity_type.manager') | |
89 ->getStorage($entity_type) | |
90 ->create(); | |
91 $entity->summary_field->generateSampleItems(); | |
92 $this->entityValidateAndSave($entity); | |
93 } | |
94 | |
95 /** | |
96 * Creates a text_with_summary field storage and field. | |
97 * | |
98 * @param string $entity_type | |
99 * Entity type for which the field should be created. | |
100 */ | |
101 protected function createField($entity_type) { | |
102 // Create a field . | |
103 $this->fieldStorage = FieldStorageConfig::create([ | |
104 'field_name' => 'summary_field', | |
105 'entity_type' => $entity_type, | |
106 'type' => 'text_with_summary', | |
107 'settings' => [ | |
108 'max_length' => 10, | |
109 ] | |
110 ]); | |
111 $this->fieldStorage->save(); | |
112 $this->field = FieldConfig::create([ | |
113 'field_storage' => $this->fieldStorage, | |
114 'bundle' => $entity_type, | |
115 ]); | |
116 $this->field->save(); | |
117 } | |
118 | |
119 } |