diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigUpgradeTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigUpgradeTest.php index 6fe07de..f55921e 100644 --- a/core/modules/config/lib/Drupal/config/Tests/ConfigUpgradeTest.php +++ b/core/modules/config/lib/Drupal/config/Tests/ConfigUpgradeTest.php @@ -98,5 +98,26 @@ function testConfigurationUpdate() { catch (ConfigException $e) { $this->pass('Exception was thrown on missing default module configuration file.'); } + + // For this test it is essential that update_variables_to_config has already + // run on the config object. + config('config_upgrade.test') + ->set('numeric_keys.403', '') + ->set('numeric_keys.404', '') + ->save(); + + db_insert('variable') + ->fields(array('name', 'value')) + ->values(array('config_upgrade_403', serialize('custom403'))) + ->values(array('config_upgrade_404', serialize('custom404'))) + ->execute(); + + // Perform migration. + update_variables_to_config('config_upgrade.test', array( + 'config_upgrade_403' => 'numeric_keys.403', + 'config_upgrade_404' => 'numeric_keys.404', + )); + + $this->assertIdentical(config('config_upgrade.test')->get('numeric_keys'), array(403 => 'custom403', 404 => 'custom404')); } } diff --git a/core/modules/system/tests/modules/config_upgrade/config/config_upgrade.test.yml b/core/modules/system/tests/modules/config_upgrade/config/config_upgrade.test.yml index c921534..fc448c1 100644 --- a/core/modules/system/tests/modules/config_upgrade/config/config_upgrade.test.yml +++ b/core/modules/system/tests/modules/config_upgrade/config/config_upgrade.test.yml @@ -2,3 +2,6 @@ parent: bar: Bar baz: Baz foo: Foo +numeric_keys: + 403: '' + 404: ''