diff --git a/core/core.services.yml b/core/core.services.yml index f00c450..402d6ee 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -93,6 +93,7 @@ services: arguments: ['@database', config_snapshot] config.storage.schema: class: Drupal\Core\Config\Schema\SchemaStorage + arguments: ['@config.storage'] config.storage.installer: class: Drupal\Core\Config\InstallStorage config.typed: diff --git a/core/includes/config.inc b/core/includes/config.inc index 28a7a7f..954c470 100644 --- a/core/includes/config.inc +++ b/core/includes/config.inc @@ -30,6 +30,12 @@ function config_uninstall_default_config($type, $name) { foreach ($config_names as $config_name) { \Drupal::config($config_name)->delete(); } + $schema_dir = drupal_get_path($type, $name) . '/config/schema'; + if (is_dir($schema_dir)) { + // Refresh the schema cache if uninstalling an extension that provides + // configuration schema. + \Drupal::service('config.typed')->clearCachedDefinitions(); + } } /** diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc index cc2fb5b..9d86cb9 100644 --- a/core/includes/install.core.inc +++ b/core/includes/install.core.inc @@ -374,7 +374,8 @@ function install_begin_request(&$install_state) { $container->register('config.storage', 'Drupal\Core\Config\InstallStorage'); - $container->register('config.storage.schema', 'Drupal\Core\Config\Schema\SchemaStorage'); + $container->register('config.storage.schema', 'Drupal\Core\Config\Schema\SchemaStorage') + ->addArgument(new Reference('config.storage')); $container->register('config.typed', 'Drupal\Core\Config\TypedConfigManager') ->addArgument(new Reference('config.storage')) diff --git a/core/lib/Drupal/Core/Config/ConfigInstaller.php b/core/lib/Drupal/Core/Config/ConfigInstaller.php index 20d45fa..0be3354 100644 --- a/core/lib/Drupal/Core/Config/ConfigInstaller.php +++ b/core/lib/Drupal/Core/Config/ConfigInstaller.php @@ -75,13 +75,18 @@ public function __construct(ConfigFactory $config_factory, StorageInterface $act */ public function installDefaultConfig($type, $name) { // Get all default configuration owned by this extension. - $source_storage = new ExtensionInstallStorage(); + $source_storage = new ExtensionInstallStorage($this->activeStorage); $config_to_install = $source_storage->listAll($name . '.'); // Work out if this extension provides default configuration for any other // enabled extensions. $config_dir = drupal_get_path($type, $name) . '/config'; if (is_dir($config_dir)) { + if (is_dir($config_dir . '/schema')) { + // Refresh the schema cache if installing default configuration and the + // extension has a configuration schema directory. + $this->typedConfig->clearCachedDefinitions(); + } $default_storage = new FileStorage($config_dir); $other_module_config = array_filter($default_storage->listAll(), function ($value) use ($name) { return !preg_match('/^' . $name . '\./', $value); diff --git a/core/lib/Drupal/Core/Config/ExtensionInstallStorage.php b/core/lib/Drupal/Core/Config/ExtensionInstallStorage.php index 2c3bf08..5bedbbe 100644 --- a/core/lib/Drupal/Core/Config/ExtensionInstallStorage.php +++ b/core/lib/Drupal/Core/Config/ExtensionInstallStorage.php @@ -16,17 +16,53 @@ class ExtensionInstallStorage extends InstallStorage { /** + * The active configuration store. + * + * @var \Drupal\Core\Config\StorageInterface + */ + protected $configStorage; + + /** + * Overrides \Drupal\Core\Config\InstallStorage::__construct(). + * + * @param \Drupal\Core\Config\StorageInterface $config_storage + * The active configuration store where the list of enabled modules and + * themes is stored. + */ + public function __construct(StorageInterface $config_storage) { + $this->configStorage = $config_storage; + } + + /** + * Resets the static cache. + */ + public function reset() { + $this->folders = NULL; + } + + /** * Returns a map of all config object names and their folders. * - * The list is based on enabled modules and themes. + * The list is based on enabled modules and themes. The active configuration + * storage is used rather than \Drupal\Core\Extension\ModuleHandler and + * \Drupal\Core\Extension\ThemeHandler in order to resolve circular + * dependencies between these services and \Drupal\Core\Config\ConfigInstaller + * and \Drupal\Core\Config\TypedConfigManager. * * @return array * An array mapping config object names with directories. */ protected function getAllFolders() { if (!isset($this->folders)) { - $this->folders = $this->getComponentNames('module', array_keys(\Drupal::moduleHandler()->getModuleList())); - $this->folders += $this->getComponentNames('theme', array_keys(array_filter(list_themes(), function ($theme) {return $theme->status;}))); + $this->folders = array(); + $modules = $this->configStorage->read('system.module'); + if (isset($modules['enabled'])) { + $this->folders += $this->getComponentNames('module', array_keys($modules['enabled'])); + } + $themes = $this->configStorage->read('system.theme'); + if (isset($themes['enabled'])) { + $this->folders += $this->getComponentNames('theme', array_keys($themes['enabled'])); + } } return $this->folders; } diff --git a/core/lib/Drupal/Core/Config/Schema/SchemaStorage.php b/core/lib/Drupal/Core/Config/Schema/SchemaStorage.php index 171f30a..c94aca0 100644 --- a/core/lib/Drupal/Core/Config/Schema/SchemaStorage.php +++ b/core/lib/Drupal/Core/Config/Schema/SchemaStorage.php @@ -7,13 +7,13 @@ namespace Drupal\Core\Config\Schema; -use Drupal\Core\Config\InstallStorage; +use Drupal\Core\Config\ExtensionInstallStorage; use Drupal\Core\Config\StorageException; /** * Defines the file storage controller for metadata files. */ -class SchemaStorage extends InstallStorage { +class SchemaStorage extends ExtensionInstallStorage { /** * Implements \Drupal\Core\Config\StorageInterface::exists(). @@ -56,4 +56,29 @@ public function rename($name, $new_name) { throw new StorageException('Rename operation is not allowed for config schema storage.'); } + /** + * Returns a map of all config object names and their folders. + * + * The list is based on enabled modules and themes. + * + * @return array + * An array mapping config object names with directories. + */ + protected function getAllFolders() { + if (!isset($this->folders)) { + parent::getAllFolders(); + + // Ensure that the system schema are available as the base types used by + // all config schema are defined here. This ensures base configuration + // schema always exist regardless of whether or not the system.module is + // installed. This allows drupal_install_system() and + // \Drupal\simpletest\DrupalUnitTestBase to work. + if (!isset($this->folders['system.schema'])) { + $this->folders += $this->getComponentNames('module', array('system')); + } + + } + return $this->folders; + } + } diff --git a/core/lib/Drupal/Core/Config/TypedConfigManager.php b/core/lib/Drupal/Core/Config/TypedConfigManager.php index 09ec0c5..7716a5b 100644 --- a/core/lib/Drupal/Core/Config/TypedConfigManager.php +++ b/core/lib/Drupal/Core/Config/TypedConfigManager.php @@ -199,6 +199,7 @@ public function getDefinitions() { */ public function clearCachedDefinitions() { $this->definitions = NULL; + $this->schemaStorage->reset(); $this->cache->delete($this::CACHE_ID); } diff --git a/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php b/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php index 58a8850..b990c8b 100644 --- a/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php +++ b/core/lib/Drupal/Core/Config/TypedConfigManagerInterface.php @@ -7,12 +7,15 @@ namespace Drupal\Core\Config; +use Drupal\Component\Plugin\Discovery\CachedDiscoveryInterface; +use Drupal\Component\Plugin\PluginManagerInterface; + /** * Defines an interface for typed configuration manager. * * @package Drupal\Core\Config */ -Interface TypedConfigManagerInterface { +Interface TypedConfigManagerInterface extends PluginManagerInterface, CachedDiscoveryInterface { /** * Checks if the configuration schema with the given config name exists. @@ -24,4 +27,5 @@ * TRUE if configuration schema exists, FALSE otherwise. */ public function hasConfigSchema($name); + } diff --git a/core/lib/Drupal/Core/Extension/ModuleHandler.php b/core/lib/Drupal/Core/Extension/ModuleHandler.php index 02d80ad..d486973 100644 --- a/core/lib/Drupal/Core/Extension/ModuleHandler.php +++ b/core/lib/Drupal/Core/Extension/ModuleHandler.php @@ -723,12 +723,12 @@ public function uninstall(array $module_list, $uninstall_dependents = TRUE) { $this->invoke($module, 'uninstall'); drupal_uninstall_schema($module); - // Remove all configuration belonging to the module. - config_uninstall_default_config('module', $module); - // Remove the module's entry from the config. $module_config->clear("enabled.$module")->save(); + // Remove all configuration belonging to the module. + config_uninstall_default_config('module', $module); + // Update the module handler to remove the module. // The current ModuleHandler instance is obsolete with the kernel rebuild // below. diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigInstallTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigInstallTest.php index 992c1bd..bd2eab5 100644 --- a/core/modules/config/lib/Drupal/config/Tests/ConfigInstallTest.php +++ b/core/modules/config/lib/Drupal/config/Tests/ConfigInstallTest.php @@ -2,7 +2,7 @@ /** * @file - * Definition of Drupal\config\Tests\ConfigInstallTest. + * Contains \Drupal\config\Tests\ConfigInstallTest. */ namespace Drupal\config\Tests; @@ -42,10 +42,17 @@ function testModuleInstallation() { $config = \Drupal::config($default_configuration_entity); $this->assertIdentical($config->isNew(), TRUE); + // Ensure that schema provided by modules that are not installed is not + // available. + $this->assertFalse(\Drupal::service('config.typed')->hasConfigSchema('config_test.schema_in_install'), 'Configuration schema for config_test.schema_in_install does not exist.'); + // Install the test module. $this->enableModules(array('config_test')); $this->installConfig(array('config_test')); + // After module installation the new schema should exist. + $this->assertTrue(\Drupal::service('config.typed')->hasConfigSchema('config_test.schema_in_install'), 'Configuration schema for config_test.schema_in_install exists.'); + // Verify that default module config exists. \Drupal::configFactory()->reset($default_config); \Drupal::configFactory()->reset($default_configuration_entity); @@ -62,5 +69,15 @@ function testModuleInstallation() { $this->assertFalse(isset($GLOBALS['hook_config_test']['update'])); $this->assertFalse(isset($GLOBALS['hook_config_test']['predelete'])); $this->assertFalse(isset($GLOBALS['hook_config_test']['delete'])); + + // Ensure that data type casting is applied during config installation. + $config = \Drupal::config('config_test.schema_in_install'); + $this->assertIdentical($config->get('integer'), 1); + + // Test that uninstalling configuration removes configuration schema. + \Drupal::config('system.module')->set('enabled', array())->save(); + config_uninstall_default_config('module', 'config_test'); + $this->assertFalse(\Drupal::service('config.typed')->hasConfigSchema('config_test.schema_in_install'), 'Configuration schema for config_test.schema_in_install does not exist.'); + } } diff --git a/core/modules/config/tests/config_test/config/config_test.schema_in_install.yml b/core/modules/config/tests/config_test/config/config_test.schema_in_install.yml new file mode 100644 index 0000000..2ae0ace --- /dev/null +++ b/core/modules/config/tests/config_test/config/config_test.schema_in_install.yml @@ -0,0 +1 @@ +integer: '1' diff --git a/core/modules/config/tests/config_test/config/schema/config_test.schema.yml b/core/modules/config/tests/config_test/config/schema/config_test.schema.yml index dbb4a37..52505af 100644 --- a/core/modules/config/tests/config_test/config/schema/config_test.schema.yml +++ b/core/modules/config/tests/config_test/config/schema/config_test.schema.yml @@ -132,6 +132,14 @@ config_test.schema_data_types: sequence: - type: boolean +config_test.schema_in_install: + label: 'Schema test data with parenting' + type: mapping + mapping: + integer: + type: integer + label: 'Integer' + config_test.types: type: mapping label: 'Configuration type' diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateActionConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateActionConfigsTest.php index 3c9c833..ec3f29f 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateActionConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateActionConfigsTest.php @@ -17,6 +17,13 @@ class MigrateActionConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('action'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateAggregatorConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateAggregatorConfigsTest.php index d3cc6a5..88ec847 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateAggregatorConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateAggregatorConfigsTest.php @@ -17,6 +17,13 @@ class MigrateAggregatorConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('aggregator'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateBookConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateBookConfigsTest.php index 8e52d10..f3823e6 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateBookConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateBookConfigsTest.php @@ -17,6 +17,13 @@ class MigrateBookConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('book'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateContactConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateContactConfigsTest.php index 7eb7788..179b9e1 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateContactConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateContactConfigsTest.php @@ -17,6 +17,13 @@ class MigrateContactConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('contact'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateDblogConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateDblogConfigsTest.php index c761b21..ecfa088 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateDblogConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateDblogConfigsTest.php @@ -17,6 +17,13 @@ class MigrateDblogConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('dblog'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFileConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFileConfigsTest.php index 2422c4e..cb8d39c 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFileConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFileConfigsTest.php @@ -17,6 +17,13 @@ class MigrateFileConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('file'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateForumConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateForumConfigsTest.php index c492a09..e5a2426 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateForumConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateForumConfigsTest.php @@ -17,6 +17,13 @@ class MigrateForumConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('forum'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLocaleConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLocaleConfigsTest.php index ff058db..b47a0da 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLocaleConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLocaleConfigsTest.php @@ -17,6 +17,13 @@ class MigrateLocaleConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('locale'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateMenuConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateMenuConfigsTest.php index ebd83e5..ee96563 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateMenuConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateMenuConfigsTest.php @@ -17,6 +17,13 @@ class MigrateMenuConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('menu'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSearchConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSearchConfigsTest.php index 414296f..ae05722 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSearchConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSearchConfigsTest.php @@ -17,6 +17,13 @@ class MigrateSearchConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('search'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSimpletestConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSimpletestConfigsTest.php index 8a6fd1e..ca88209 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSimpletestConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSimpletestConfigsTest.php @@ -17,6 +17,13 @@ class MigrateSimpletestConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('simpletest'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateStatisticsConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateStatisticsConfigsTest.php index 15da7f1..44ae47b 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateStatisticsConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateStatisticsConfigsTest.php @@ -17,6 +17,13 @@ class MigrateStatisticsConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('statistics'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSyslogConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSyslogConfigsTest.php index 1f29060..47546f2 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSyslogConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSyslogConfigsTest.php @@ -17,6 +17,13 @@ class MigrateSyslogConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('syslog'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTaxonomyConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTaxonomyConfigsTest.php index e21e8c4..4cedef4 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTaxonomyConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTaxonomyConfigsTest.php @@ -17,6 +17,13 @@ class MigrateTaxonomyConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('taxonomy'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTextConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTextConfigsTest.php index ad96394..e47e99b 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTextConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTextConfigsTest.php @@ -17,6 +17,13 @@ class MigrateTextConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('text'); + + /** * {@inheritdoc} */ public static function getInfo() { diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUpdateConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUpdateConfigsTest.php index d35ba9a..f8721c5 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUpdateConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUpdateConfigsTest.php @@ -17,6 +17,13 @@ class MigrateUpdateConfigsTest extends MigrateDrupalTestBase { /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('update'); + + /** * {@inheritdoc} */ public static function getInfo() {