Issue #3012001 by quietone, rkostov, ellenoise: Duplications within migration process plugin
parent
58abc5cdc1
commit
ddfcac8d27
|
|
@ -278,7 +278,7 @@ class Migration extends PluginBase implements MigrationInterface, RequirementsIn
|
|||
$this->destinationPluginManager = $destination_plugin_manager;
|
||||
$this->idMapPluginManager = $idmap_plugin_manager;
|
||||
|
||||
foreach (NestedArray::mergeDeep($plugin_definition, $configuration) as $key => $value) {
|
||||
foreach (NestedArray::mergeDeepArray([$plugin_definition, $configuration], TRUE) as $key => $value) {
|
||||
$this->$key = $value;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ class MigrationPluginConfigurationTest extends KernelTestBase {
|
|||
'migrate_drupal',
|
||||
// Test with a simple migration.
|
||||
'ban',
|
||||
'locale',
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
@ -27,9 +28,10 @@ class MigrationPluginConfigurationTest extends KernelTestBase {
|
|||
*
|
||||
* @dataProvider mergeProvider
|
||||
*/
|
||||
public function testConfigurationMerge($configuration, $expected) {
|
||||
public function testConfigurationMerge($id, $configuration, $expected) {
|
||||
/** @var \Drupal\migrate\Plugin\MigrationInterface $migration */
|
||||
$migration = $this->container->get('plugin.manager.migration')->createInstance('d7_blocked_ips', $configuration);
|
||||
$migration = $this->container->get('plugin.manager.migration')
|
||||
->createInstance($id, $configuration);
|
||||
$source_configuration = $migration->getSourceConfiguration();
|
||||
$this->assertEquals($expected, $source_configuration);
|
||||
}
|
||||
|
|
@ -42,6 +44,7 @@ class MigrationPluginConfigurationTest extends KernelTestBase {
|
|||
// Tests adding new configuration to a migration.
|
||||
[
|
||||
// New configuration.
|
||||
'd7_blocked_ips',
|
||||
[
|
||||
'source' => [
|
||||
'constants' => [
|
||||
|
|
@ -60,6 +63,7 @@ class MigrationPluginConfigurationTest extends KernelTestBase {
|
|||
// Tests overriding pre-existing configuration in a migration.
|
||||
[
|
||||
// New configuration.
|
||||
'd7_blocked_ips',
|
||||
[
|
||||
'source' => [
|
||||
'plugin' => 'a_different_plugin',
|
||||
|
|
@ -70,6 +74,29 @@ class MigrationPluginConfigurationTest extends KernelTestBase {
|
|||
'plugin' => 'a_different_plugin',
|
||||
],
|
||||
],
|
||||
// New configuration.
|
||||
[
|
||||
'locale_settings',
|
||||
[
|
||||
'source' => [
|
||||
'plugin' => 'variable',
|
||||
'variables' => [
|
||||
'locale_cache_strings',
|
||||
'locale_js_directory',
|
||||
],
|
||||
'source_module' => 'locale',
|
||||
],
|
||||
],
|
||||
// Expected final source and process configuration.
|
||||
[
|
||||
'plugin' => 'variable',
|
||||
'variables' => [
|
||||
'locale_cache_strings',
|
||||
'locale_js_directory',
|
||||
],
|
||||
'source_module' => 'locale',
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue