diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageAdminStylesTest.php b/core/modules/image/lib/Drupal/image/Tests/ImageAdminStylesTest.php index d683720..6f94b3b 100644 --- a/core/modules/image/lib/Drupal/image/Tests/ImageAdminStylesTest.php +++ b/core/modules/image/lib/Drupal/image/Tests/ImageAdminStylesTest.php @@ -258,4 +258,33 @@ class ImageAdminStylesTest extends ImageFieldTestBase { $this->drupalGet('node/' . $nid); $this->assertRaw(image_style_url('thumbnail', $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['uri']), t('Image displayed using style replacement style.')); } + /** + * Verify that editing an image effect does not cause it to duplicate. + */ + function testEditEffect() { + $this->drupalGet('admin/config/media/image-styles/add'); + $this->drupalPost(NULL, array('name' => 'test_style_effect_edit'), t('Create new style')); + $this->drupalPost(NULL, array('new' => 'image_scale_and_crop'), t('Add')); + $this->drupalPost(NULL, array('data[width]' => '300', 'data[height]' => '200'), t('Add effect')); + $this->assertText(t('Scale and crop 300x200')); + // There should normally be only the one edit link on this page initially. + $this->clickLink(t('edit')); + $this->drupalPost(NULL, array('data[width]' => '360', 'data[height]' => '240'), t('Update effect')); + $this->assertText(t('Scale and crop 360x240')); + // Check the previous effect is not also retained on this style after editing. + $this->assertNoText(t('Scale and crop 300x200')); + // Add scale effect, edit effect, add new effect that matches original scale + // effect, check that both effects still exist + $this->drupalGet('admin/config/media/image-styles/add'); + $this->drupalPost(NULL, array('name' => 'test_style_scale_edit_scale'), t('Create new style')); + $this->drupalPost(NULL, array('new' => 'image_scale'), t('Add')); + $this->drupalPost(NULL, array('data[width]' => '12', 'data[height]' => '19'), t('Add effect')); + $this->clickLink(t('edit')); + $this->drupalPost(NULL, array('data[width]' => '24', 'data[height]' => '19'), t('Update effect')); + $this->drupalPost(NULL, array('new' => 'image_scale'), t('Add')); + $this->drupalPost(NULL, array('data[width]' => '12', 'data[height]' => '19'), t('Add effect')); + $this->assertText(t('Scale 24x19')); + $this->assertText(t('Scale 12x19')); + + } }