diff --git a/core/lib/Drupal/Core/Plugin/DefaultPluginBag.php b/core/lib/Drupal/Core/Plugin/DefaultPluginBag.php index 9287d7c..b488250 100644 --- a/core/lib/Drupal/Core/Plugin/DefaultPluginBag.php +++ b/core/lib/Drupal/Core/Plugin/DefaultPluginBag.php @@ -131,6 +131,15 @@ public function getConfiguration() { * {@inheritdoc} */ public function setConfiguration($configuration) { + $this->configurations = array(); + $this->pluginInstances = array(); + $this->instanceIDs = array(); + + $instance_ids = array_keys($configuration); + $this->instanceIDs = array_combine($instance_ids, $instance_ids); + // Store the original order of the instance IDs for export. + $this->originalOrder = $this->instanceIDs; + foreach ($configuration as $instance_id => $instance_configuration) { $this->setInstanceConfiguration($instance_id, $instance_configuration); } diff --git a/core/modules/image/src/Tests/ImageImportTest.php b/core/modules/image/src/Tests/ImageImportTest.php new file mode 100644 index 0000000..cf68007 --- /dev/null +++ b/core/modules/image/src/Tests/ImageImportTest.php @@ -0,0 +1,48 @@ + 'test' + )); + + $style->addImageEffect(array('id' => 'image_module_test_null')); + $style->addImageEffect(array('id' => 'image_module_test_null')); + $style->save(); + + $this->assertEqual(count($style->getEffects()), 2, 'The entity contains two image effects.'); + + $uuid = \Drupal::service('uuid')->generate(); + $style->set('effects', array( + $uuid => array( + 'id' => 'image_module_test_null' + ), + )); + $style->save(); + + $style = ImageStyle::load('test'); + $this->assertEqual(count($style->getEffects()), 1, 'The entity contains one image effects.'); + } + +}