Mercurial > hg > isophonics-drupal-site
comparison core/modules/image/tests/src/Kernel/ImageStyleIntegrationTest.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 4c8ae668cc8c |
children | af1871eacc83 |
comparison
equal
deleted
inserted
replaced
16:c2387f117808 | 17:129ea1e6d783 |
---|---|
107 // image preview should be disabled. | 107 // image preview should be disabled. |
108 $this->assertNotNull($widget = $form_display->getComponent('sticker')); | 108 $this->assertNotNull($widget = $form_display->getComponent('sticker')); |
109 $this->assertSame('', $widget['settings']['preview_image_style']); | 109 $this->assertSame('', $widget['settings']['preview_image_style']); |
110 } | 110 } |
111 | 111 |
112 /** | |
113 * Tests renaming the ImageStyle. | |
114 */ | |
115 public function testEntityDisplayDependencyRename() { | |
116 // Create an image style. | |
117 /** @var \Drupal\image\ImageStyleInterface $style */ | |
118 $style = ImageStyle::create(['name' => 'main_style']); | |
119 $style->save(); | |
120 | |
121 // Create a node-type, named 'note'. | |
122 $node_type = NodeType::create(['type' => 'note']); | |
123 $node_type->save(); | |
124 | |
125 // Create an image field and attach it to the 'note' node-type. | |
126 FieldStorageConfig::create([ | |
127 'entity_type' => 'node', | |
128 'field_name' => 'sticker', | |
129 'type' => 'image', | |
130 ])->save(); | |
131 FieldConfig::create([ | |
132 'entity_type' => 'node', | |
133 'field_name' => 'sticker', | |
134 'bundle' => 'note', | |
135 ])->save(); | |
136 | |
137 // Create the default entity view display and set the 'sticker' field to use | |
138 // the 'main_style' images style in formatter. | |
139 /** @var \Drupal\Core\Entity\Display\EntityViewDisplayInterface $view_display */ | |
140 $view_display = EntityViewDisplay::create([ | |
141 'targetEntityType' => 'node', | |
142 'bundle' => 'note', | |
143 'mode' => 'default', | |
144 'status' => TRUE, | |
145 ])->setComponent('sticker', ['settings' => ['image_style' => 'main_style']]); | |
146 $view_display->save(); | |
147 | |
148 // Create the default entity form display and set the 'sticker' field to use | |
149 // the 'main_style' images style in the widget. | |
150 /** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $form_display */ | |
151 $form_display = EntityFormDisplay::create([ | |
152 'targetEntityType' => 'node', | |
153 'bundle' => 'note', | |
154 'mode' => 'default', | |
155 'status' => TRUE, | |
156 ])->setComponent('sticker', ['settings' => ['preview_image_style' => 'main_style']]); | |
157 $form_display->save(); | |
158 | |
159 // Check that the entity displays exists before dependency renaming. | |
160 $this->assertNotNull(EntityViewDisplay::load($view_display->id())); | |
161 $this->assertNotNull(EntityFormDisplay::load($form_display->id())); | |
162 | |
163 // Rename the 'main_style' image style. | |
164 $style->setName('main_style_renamed'); | |
165 $style->save(); | |
166 | |
167 // Check that the entity displays exists after dependency renaming. | |
168 $this->assertNotNull($view_display = EntityViewDisplay::load($view_display->id())); | |
169 $this->assertNotNull($form_display = EntityFormDisplay::load($form_display->id())); | |
170 // Check that the 'sticker' formatter component exists in both displays. | |
171 $this->assertNotNull($formatter = $view_display->getComponent('sticker')); | |
172 $this->assertNotNull($widget = $form_display->getComponent('sticker')); | |
173 // Check that both displays are using now 'main_style_renamed' for images. | |
174 $this->assertSame('main_style_renamed', $formatter['settings']['image_style']); | |
175 $this->assertSame('main_style_renamed', $widget['settings']['preview_image_style']); | |
176 } | |
177 | |
112 } | 178 } |