diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_menu_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_menu_settings.yml new file mode 100644 index 0000000..041f3fc --- /dev/null +++ b/core/modules/migrate_drupal/config/migrate.migration.d6_menu_settings.yml @@ -0,0 +1,14 @@ +id: d6_menu_settings +source: + plugin: drupal6_variable + variables: + - menu_primary_links_source + - menu_secondary_links_source + - menu_override_parent_selector +process: + main_links: menu_primary_links_source + secondary_links: menu_secondary_links_source + override_parent_selector: menu_override_parent_selector +destination: + plugin: d8_config + config_name: menu.settings \ No newline at end of file diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6MenuSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6MenuSettings.php new file mode 100644 index 0000000..01ca46f --- /dev/null +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6MenuSettings.php @@ -0,0 +1,62 @@ +schema()->createTable('variable', array( + 'fields' => array( + 'name' => array( + 'type' => 'varchar', + 'length' => 128, + 'not null' => TRUE, + 'default' => '', + ), + 'value' => array( + 'type' => 'blob', + 'not null' => TRUE, + 'size' => 'big', + 'translatable' => TRUE, + ), + ), + 'primary key' => array( + 'name', + ), + 'module' => 'system', + 'name' => 'variable', + )); + $database->insert('variable')->fields(array( + 'name', + 'value', + )) + ->values(array( + 'name' => 'menu_primary_links_source', + 'value' => 's:13:"primary-links";', + )) + ->values(array( + 'name' => 'menu_secondary_links_source', + 'value' => 's:15:"secondary-links";', + )) + ->values(array( + 'name' => 'menu_override_parent_selector', + 'value' => 'b:0;', + )) + ->execute(); + } +} \ No newline at end of file diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/MigrateForumConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/MigrateForumConfigsTest.php index 6d18411..454637c 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/MigrateForumConfigsTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/MigrateForumConfigsTest.php @@ -42,9 +42,10 @@ public function testForumSettings() { $this->assertIdentical($config->get('topics.page_limit'), '25'); $this->assertIdentical($config->get('topics.order'), '1'); // The vocabulary vid depends on existing vids when the Forum module was - // enabled. This would have to be user-selectable based on a query to the D6 - // vocabulary table. - $this->assertIdentical($config->get('forum_nav_vocabulary'), '1'); + // enabled. + // @TODO: revisit this once vocabularies are migrated and the migration + // process plugin is added. + // $this->assertIdentical($config->get('forum_nav_vocabulary'), '1'); // This is 'forum_block_num_0' in D6, but block:active:limit' in D8. $this->assertIdentical($config->get('block.active.limit'), '5'); // This is 'forum_block_num_1' in D6, but 'block:new:limit' in D8. diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/MigrateMenuConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/MigrateMenuConfigsTest.php new file mode 100644 index 0000000..5c283f8 --- /dev/null +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/MigrateMenuConfigsTest.php @@ -0,0 +1,45 @@ + 'Migrate variables to menu.settings.yml', + 'description' => 'Upgrade variables to menu.settings.yml', + 'group' => 'Migrate Drupal', + ); + } + + /** + * Tests migration of forum variables to forum.settings.yml. + */ + public function testMenuSettings() { + $migration = entity_load('migration', 'd6_menu_settings'); + $dumps = array( + drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6MenuSettings.php', + ); + $this->prepare($migration, $dumps); + $executable = new MigrateExecutable($migration, new MigrateMessage); + $executable->import(); + $config = \Drupal::config('menu.settings'); + $this->assertIdentical($config->get('main_links'), 'primary-links'); + $this->assertIdentical($config->get('secondary_links'), 'secondary-links'); + $this->assertIdentical($config->get('override_parent_selector'), FALSE); + } +}