diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_action_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_action_settings.yml
new file mode 100644
index 0000000..2da277f
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_action_settings.yml
@@ -0,0 +1,10 @@
+id: d6_action_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - actions_max_stack
+process:
+  recursion_limit: actions_max_stack
+destination:
+  plugin: d8_config
+  config_name: action.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_aggregator_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_aggregator_settings.yml
new file mode 100644
index 0000000..a6ec30c
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_aggregator_settings.yml
@@ -0,0 +1,24 @@
+id: d6_aggregator_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - aggregator_fetcher
+    - aggregator_parser
+    - aggregator_processors
+    - aggregator_allowed_html_tags
+    - aggregator_teaser_length
+    - aggregator_clear
+    - aggregator_summary_items
+    - aggregator_category_selector
+process:
+  fetcher: aggregator_fetcher
+  parser: aggregator_parser
+  processors: aggregator_processors
+  'items:allowed_html': aggregator_allowed_html_tags
+  'items:teaser_length': aggregator_teaser_length
+  'items:expire': aggregator_clear
+  'source:list_max': aggregator_summary_items
+  'source:category_selector': aggregator_category_selector
+destination:
+  plugin: d8_config
+  config_name: aggregator.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_book_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_book_settings.yml
new file mode 100644
index 0000000..77da0ce
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_book_settings.yml
@@ -0,0 +1,14 @@
+id: d6_book_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - book_child_type
+    - book_block_mode
+    - book_allowed_types
+process:
+  child_type: book_child_type
+  'block:navigation:mode': book_block_mode
+  allowed_types: book_allowed_types
+destination:
+  plugin: d8_config
+  config_name: book.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_contact_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_contact_settings.yml
new file mode 100644
index 0000000..46470f8
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_contact_settings.yml
@@ -0,0 +1,12 @@
+id: d6_contact_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - contact_default_status
+    - contact_hourly_threshold
+process:
+  user_default_enabled: contact_default_status
+  'flood:limit': contact_hourly_threshold
+destination:
+  plugin: d8_config
+  config_name: contact.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_dblog_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_dblog_settings.yml
new file mode 100644
index 0000000..cea039f
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_dblog_settings.yml
@@ -0,0 +1,10 @@
+id: d6_dblog_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - dblog_row_limit
+process:
+  row_limit: dblog_row_limit
+destination:
+  plugin: d8_config
+  config_name: dblog.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_field_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_field_settings.yml
new file mode 100644
index 0000000..45d6c34
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_field_settings.yml
@@ -0,0 +1,10 @@
+id: d6_field_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - field_language_fallback
+process:
+  language_fallback: field_language_fallback
+destination:
+  plugin: d8_config
+  config_name: field.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_file_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_file_settings.yml
new file mode 100644
index 0000000..35e077b
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_file_settings.yml
@@ -0,0 +1,14 @@
+id: d6_file_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - file_description_type
+    - file_description_length
+    - file_icon_directory
+process:
+  'description:type': file_description_type
+  'description:length': file_description_length
+  'icon:directory': file_icon_directory
+destination:
+  plugin: d8_config
+  config_name: file.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_forum_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_forum_settings.yml
new file mode 100644
index 0000000..5bb0a1f
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_forum_settings.yml
@@ -0,0 +1,18 @@
+id: d6_forum_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - forum_hot_topic
+    - forum_per_page
+    - forum_order
+    - forum_block_num_0
+    - forum_block_num_1
+process:
+  'block:active:limit': forum_block_num_0
+  'block:new:limit': forum_block_num_1
+  'topics:hot_threshold': forum_hot_topic
+  'topics:page_limit': forum_per_page
+  'topics:order': forum_order
+destination:
+  plugin: d8_config
+  config_name: forum.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_locale_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_locale_settings.yml
new file mode 100644
index 0000000..1183b5e
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_locale_settings.yml
@@ -0,0 +1,12 @@
+id: d6_locale_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - locale_cache_strings
+    - locale_js_directory
+process:
+  cache_string: locale_cache_strings
+  'javascript:directory': locale_js_directory
+destination:
+  plugin: d8_config
+  config_name: locale.settings
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..b57bd3e
--- /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
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_node_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_node_settings.yml
new file mode 100644
index 0000000..ab37378
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_node_settings.yml
@@ -0,0 +1,10 @@
+id: d6_node_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - node_admin_theme
+process:
+  use_admin_theme: node_admin_theme
+destination:
+  plugin: d8_config
+  config_name: node.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_search_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_search_settings.yml
new file mode 100644
index 0000000..1efa73b
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_search_settings.yml
@@ -0,0 +1,18 @@
+id: d6_search_settings
+source:
+    plugin: drupal6_variable
+    variables:
+        - minimum_word_size
+        - overlap_cjk
+        - search_cron_limit
+        - search_tag_weights
+        - search_and_or_limit
+process:
+    'index:minimum_word_size': minimum_word_size
+    'index:overlap_cjk': overlap_cjk
+    'index:cron_limit': search_cron_limit
+    'index:tag_weights': search_tag_weights
+    and_or_limit: search_and_or_limit
+destination:
+    plugin: d8_config
+    config_name: search.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_simpletest_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_simpletest_settings.yml
new file mode 100644
index 0000000..8a6f06c
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_simpletest_settings.yml
@@ -0,0 +1,18 @@
+id: d6_simpletest_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - simpletest_clear_results
+    - simpletest_httpauth_method
+    - simpletest_httpauth_password
+    - simpletest_httpauth_username
+    - simpletest_verbose
+process:
+  clear_results: simpletest_clear_results
+  'httpauth:method': simpletest_httpauth_method
+  'httpauth:password': simpletest_httpauth_password
+  'httpauth:username': simpletest_httpauth_username
+  verbose: simpletest_verbose
+destination:
+  plugin: d8_config
+  config_name: simpletest.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_statistics_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_statistics_settings.yml
new file mode 100644
index 0000000..24a1baf
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_statistics_settings.yml
@@ -0,0 +1,20 @@
+id: d6_statistics_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - statistics_enable_access_log
+    - statistics_flush_accesslog_timer
+    - statistics_count_content_views
+    - statistics_block_top_day_num
+    - statistics_block_top_all_num
+    - statistics_block_top_last_num
+process:
+  'access_log:enable': statistics_enable_access_log
+  'access_log:max_lifetime': statistics_flush_accesslog_timer
+  'count_content_views': statistics_count_content_views
+  'block:popular:top_day_limit': statistics_block_top_day_num
+  'block:popular:top_all_limit': statistics_block_top_all_num
+  'block:popular:top_recent_limit': statistics_block_top_last_num
+destination:
+  plugin: d8_config
+  config_name: statistics.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_syslog_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_syslog_settings.yml
new file mode 100644
index 0000000..8be7bf2
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_syslog_settings.yml
@@ -0,0 +1,12 @@
+id: d6_syslog_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - syslog_identity
+    - syslog_facility
+process:
+  identity: syslog_identity
+  facility: syslog_facility
+destination:
+  plugin: d8_config
+  config_name: syslog.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_system_cron.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_system_cron.yml
index 736af9b..1e0e452 100644
--- a/core/modules/migrate_drupal/config/migrate.migration.d6_system_cron.yml
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_system_cron.yml
@@ -1,13 +1,13 @@
 id: d6_system_cron
 source:
-    plugin: drupal6_variable
-    variables:
-        - cron_threshold_warning
-        - cron_threshold_error
-        - cron_last
+  plugin: drupal6_variable
+  variables:
+    - cron_threshold_warning
+    - cron_threshold_error
+    - cron_last
 process:
-    'threshold:warning': cron_threshold_warning
-    'threshold:error': cron_threshold_error
+  'threshold:warning': cron_threshold_warning
+  'threshold:error': cron_threshold_error
 destination:
-    plugin: d8_config
-    config_name: system.cron
+  plugin: d8_config
+  config_name: system.cron
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_system_file.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_system_file.yml
new file mode 100644
index 0000000..df0797d
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_system_file.yml
@@ -0,0 +1,12 @@
+id: d6_system_file
+source:
+  plugin: drupal6_variable
+  variables:
+    - file_directory_path
+    - file_directory_temp
+process:
+  'path:private': file_directory_path
+  'path:temporary': file_directory_temp
+destination:
+  plugin: d8_config
+  config_name: system.file
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_system_filter.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_system_filter.yml
new file mode 100644
index 0000000..0a2690e
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_system_filter.yml
@@ -0,0 +1,10 @@
+id: d6_system_filter
+source:
+  plugin: drupal6_variable
+  variables:
+    - filter_allowed_protocols
+process:
+  protocols: filter_allowed_protocols
+destination:
+  plugin: d8_config
+  config_name: system.filter
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_system_image.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_system_image.yml
new file mode 100644
index 0000000..6d98bfc
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_system_image.yml
@@ -0,0 +1,10 @@
+id: d6_system_image
+source:
+  plugin: drupal6_variable
+  variables:
+    - image_toolkit
+process:
+  toolkit: image_toolkit
+destination:
+  plugin: d8_config
+  config_name: system.image
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_system_image_gd.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_system_image_gd.yml
new file mode 100644
index 0000000..29aacba
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_system_image_gd.yml
@@ -0,0 +1,10 @@
+id: d6_system_image_gd
+source:
+  plugin: drupal6_variable
+  variables:
+    - image_jpeg_quality
+process:
+  jpeg_quality: image_jpeg_quality
+destination:
+  plugin: d8_config
+  config_name: system.image.gd
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_system_maintenance.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_system_maintenance.yml
new file mode 100644
index 0000000..a711614
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_system_maintenance.yml
@@ -0,0 +1,12 @@
+id: d6_system_maintenance
+source:
+  plugin: drupal6_variable
+  variables:
+    - site_offline
+    - site_offline_message
+process:
+  enable: site_offline
+  message: site_offline_message
+destination:
+  plugin: d8_config
+  config_name: system.maintenance
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_system_performance.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_system_performance.yml
index cde5d17..6498d9e 100644
--- a/core/modules/migrate_drupal/config/migrate.migration.d6_system_performance.yml
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_system_performance.yml
@@ -1,14 +1,14 @@
 id: d6_system_performance
 source:
-    plugin: drupal6_variable
-    variables:
-        - preprocess_css
-        - preprocess_js
-        - cache_lifetime
+  plugin: drupal6_variable
+  variables:
+    - preprocess_css
+    - preprocess_js
+    - cache_lifetime
 process:
-    'css:preprocess': preprocess_css
-    'js:preprocess': preprocess_js
-    'cache:page:max_age': cache_lifetime
+  'css:preprocess': preprocess_css
+  'js:preprocess': preprocess_js
+  'cache:page:max_age': cache_lifetime
 destination:
-    plugin: d8_config
-    config_name: system.performance
+  plugin: d8_config
+  config_name: system.performance
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_system_rss.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_system_rss.yml
index acce5e2..ca8498f 100644
--- a/core/modules/migrate_drupal/config/migrate.migration.d6_system_rss.yml
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_system_rss.yml
@@ -1,10 +1,10 @@
 id: d6_system_rss
 source:
-    plugin: drupal6_variable
-    variables:
-        - feed_default_items
+  plugin: drupal6_variable
+  variables:
+    - feed_default_items
 process:
-    'items:limit': feed_default_items
+  'items:limit': feed_default_items
 destination:
-    plugin: d8_config
-    config_name: system.rss
+  plugin: d8_config
+  config_name: system.rss
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_system_site.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_system_site.yml
index bcfb712..de88ed4 100644
--- a/core/modules/migrate_drupal/config/migrate.migration.d6_system_site.yml
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_system_site.yml
@@ -1,24 +1,24 @@
 id: d6_system_site
 source:
-    plugin: drupal6_variable
-    variables:
-        - site_name
-        - site_mail
-        - site_slogan
-        - site_frontpage
-        - site_403
-        - site_404
-        - drupal_weight_select_max
-        - admin_compact_mode
+  plugin: drupal6_variable
+  variables:
+    - site_name
+    - site_mail
+    - site_slogan
+    - site_frontpage
+    - site_403
+    - site_404
+    - drupal_weight_select_max
+    - admin_compact_mode
 process:
-    name: site_name
-    mail: site_mail
-    slogan: site_slogan
-    'page:front': site_frontpage
-    'page:403': site_403
-    'page:404': site_404
-    weight_select_max: drupal_weight_select_max
-    admin_compact_mode: admin_compact_mode
+  name: site_name
+  mail: site_mail
+  slogan: site_slogan
+  'page:front': site_frontpage
+  'page:403': site_403
+  'page:404': site_404
+  weight_select_max: drupal_weight_select_max
+  admin_compact_mode: admin_compact_mode
 destination:
-    plugin: d8_config
-    config_name: system.site
+  plugin: d8_config
+  config_name: system.site
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_system_theme.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_system_theme.yml
new file mode 100644
index 0000000..ba78e8c
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_system_theme.yml
@@ -0,0 +1,12 @@
+id: d6_system_theme
+source:
+  plugin: drupal6_variable
+  variables:
+    - admin_theme
+    - theme_default
+process:
+  admin: admin_theme
+  default: theme_default
+destination:
+  plugin: d8_config
+  config_name: system.theme
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_taxonomy_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_taxonomy_settings.yml
new file mode 100644
index 0000000..a6bbaf7
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_taxonomy_settings.yml
@@ -0,0 +1,12 @@
+id: d6_taxonomy_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - taxonomy_override_selector
+    - taxonomy_terms_per_page_admin
+process:
+  override_selector: taxonomy_override_selector
+  terms_per_page_admin: taxonomy_terms_per_page_admin
+destination:
+  plugin: d8_config
+  config_name: taxonomy.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_text_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_text_settings.yml
new file mode 100644
index 0000000..fb5dea5
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_text_settings.yml
@@ -0,0 +1,10 @@
+id: d6_text_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - teaser_length
+process:
+  default_summary_length: teaser_length
+destination:
+  plugin: d8_config
+  config_name: text.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_update_settings.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_update_settings.yml
new file mode 100644
index 0000000..a3ab12a
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_update_settings.yml
@@ -0,0 +1,16 @@
+id: d6_update_settings
+source:
+  plugin: drupal6_variable
+  variables:
+    - update_max_fetch_attempts
+    - update_fetch_url
+    - update_notification_threshold
+    - update_notify_emails
+process:
+  'fetch:max_attempts': update_max_fetch_attempts
+  'fetch:url': update_fetch_url
+  'notification:threshold': update_notification_threshold
+  'notification:mails': update_notify_emails
+destination:
+  plugin: d8_config
+  config_name: update.settings
diff --git a/core/modules/migrate_drupal/config/migrate.migration.d6_user_mail.yml b/core/modules/migrate_drupal/config/migrate.migration.d6_user_mail.yml
new file mode 100644
index 0000000..1450402
--- /dev/null
+++ b/core/modules/migrate_drupal/config/migrate.migration.d6_user_mail.yml
@@ -0,0 +1,36 @@
+id: d6_user_mail
+source:
+  plugin: drupal6_variable
+  variables:
+    - user_mail_status_activated_subject
+    - user_mail_status_activated_body
+    - user_mail_password_reset_subject
+    - user_mail_password_reset_body
+    - user_mail_status_deleted_subject
+    - user_mail_status_deleted_body
+    - user_mail_register_admin_created_subject
+    - user_mail_register_admin_created_body
+    - user_mail_register_no_approval_required_subject
+    - user_mail_register_no_approval_required_body
+    - user_mail_user_mail_register_pending_approval_subject
+    - user_mail_user_mail_register_pending_approval_body
+    - user_mail_status_blocked_subject
+    - user_mail_status_blocked_body
+process:
+  'status_activated:subject': user_mail_status_activated_subject
+  'status_activated:body': user_mail_status_activated_body
+  'password_reset:subject': user_mail_password_reset_subject
+  'password_reset:body': user_mail_password_reset_body
+  'cancel_confirm:subject': user_mail_status_deleted_subject
+  'cancel_confirm:body': user_mail_status_deleted_body
+  'register_admin_created:subject': user_mail_register_admin_created_subject
+  'register_admin_created:body': user_mail_register_admin_created_body
+  'register_no_approval_required:subject': user_mail_register_no_approval_required_subject
+  'register_no_approval_required:body': user_mail_register_no_approval_required_body
+  'register_pending_approval:subject': user_mail_user_mail_register_pending_approval_subject
+  'register_pending_approval:body': user_mail_user_mail_register_pending_approval_body
+  'status_blocked:subject': user_mail_status_blocked_subject
+  'status_blocked:body': user_mail_status_blocked_body
+destination:
+  plugin: d8_config
+  config_name: user.mail
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ActionSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ActionSettings.php
new file mode 100644
index 0000000..4e26141
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ActionSettings.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6ActionSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing action.settings.yml migration.
+ */
+class Drupal6ActionSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'action',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'actions_max_stack',
+      'value' => 'i:35;',
+    ))
+    ->execute();
+  }
+
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6AggregatorSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6AggregatorSettings.php
new file mode 100644
index 0000000..968331c
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6AggregatorSettings.php
@@ -0,0 +1,83 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6AggregatorSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing aggregator.settings.yml migration.
+ */
+class Drupal6AggregatorSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'aggregator',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'aggregator_fetcher',
+      'value' => 's:10:"aggregator";',
+    ))
+    ->values(array(
+      'name' => 'aggregator_parser',
+      'value' => 's:10:"aggregator";',
+    ))
+    ->values(array(
+      'name' => 'aggregator_processors',
+      'value' => 'a:1:{i:0;s:10:"aggregator";}',
+    ))
+    ->values(array(
+      'name' => 'aggregator_allowed_html_tags',
+      'value' => 's:70:"<a> <b> <br /> <dd> <dl> <dt> <em> <i> <li> <ol> <p> <strong> <u> <ul>";',
+    ))
+    ->values(array(
+      'name' => 'aggregator_teaser_length',
+      'value' => 's:3:"600";',
+    ))
+    ->values(array(
+      'name' => 'aggregator_clear',
+      'value' => 's:7:"9676800";',
+    ))
+    ->values(array(
+      'name' => 'aggregator_summary_items',
+      'value' => 's:1:"3";',
+    ))
+    ->values(array(
+      'name' => 'aggregator_category_selector',
+      'value' => 's:10:"checkboxes";',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6BookSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6BookSettings.php
new file mode 100644
index 0000000..0a2196c
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6BookSettings.php
@@ -0,0 +1,63 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6BookSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing book.settings.yml migration.
+ */
+class Drupal6BookSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'book',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'book_allowed_types',
+      'value' => 'a:1:{i:0;s:4:"book";}',
+    ))
+    ->values(array(
+      'name' => 'book_block_mode',
+      'value' => 's:9:"all pages";',
+    ))
+    ->values(array(
+      'name' => 'book_child_type',
+      'value' => 's:4:"book";',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ContactSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ContactSettings.php
new file mode 100644
index 0000000..be8ce6b
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ContactSettings.php
@@ -0,0 +1,59 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6ContactSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing contact.settings.yml migration.
+ */
+class Drupal6ContactSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'contact',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'contact_default_status',
+      'value' => 'i:1;',
+    ))
+    ->values(array(
+      'name' => 'contact_hourly_threshold',
+      'value' => 'i:3;',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6DblogSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6DblogSettings.php
new file mode 100644
index 0000000..9303a55
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6DblogSettings.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6DblogSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing dblog.settings.yml migration.
+ */
+class Drupal6DblogSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'dblog',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'dblog_row_limit',
+      'value' => 'i:1000;',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6FieldSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6FieldSettings.php
new file mode 100644
index 0000000..75f1dfc
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6FieldSettings.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6FieldSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing field.settings.yml migration.
+ */
+class Drupal6FieldSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'field',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'field_language_fallback',
+        'value' => 'b:1;',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6FileSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6FileSettings.php
new file mode 100644
index 0000000..b5e55b4
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6FileSettings.php
@@ -0,0 +1,63 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6FileSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing file.settings.yml migration.
+ */
+class Drupal6FileSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'file',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'file_description_type',
+        'value' => 's:9:"textfield";',
+    ))
+    ->values(array(
+      'name' => 'file_description_length',
+        'value' => 'i:128;',
+    ))
+    ->values(array(
+      'name' => 'file_icon_directory',
+      'value' => 's:25:"sites/default/files/icons";',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ForumSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ForumSettings.php
new file mode 100644
index 0000000..ad5d0f4
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ForumSettings.php
@@ -0,0 +1,77 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6ForumSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing forum.site.yml migration.
+ */
+class Drupal6ForumSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'forum',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'forum_hot_topic',
+      'value' => 's:2:"15";',
+    ))
+    ->values(array(
+      'name' => 'forum_per_page',
+      'value' => 's:2:"25";',
+    ))
+    ->values(array(
+      'name' => 'forum_order',
+      'value' => 's:1:"1";',
+    ))
+    ->values(array(
+      'name' => 'forum_nav_vocabulary',
+      'value' => 's:1:"1";',
+    ))
+    // 'forum_block_num_active' in D8.
+    ->values(array(
+      'name' => 'forum_block_num_0',
+      'value' => 's:1:"5";',
+    ))
+    // 'forum_block_num_new' in D8.
+    ->values(array(
+      'name' => 'forum_block_num_1',
+      'value' => 's:1:"5";',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6LocaleSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6LocaleSettings.php
new file mode 100644
index 0000000..778e353
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6LocaleSettings.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6LocaleSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing locale.settings.yml migration.
+ */
+class Drupal6LocaleSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'locale',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'locale_cache_strings',
+      'value' => 'i:1;',
+    ))
+    ->values(array(
+      'name' => 'locale_js_directory',
+      'value' => 's:9:"languages";',
+    ))
+    ->execute();
+  }
+
+}
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..4ca4961
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6MenuSettings.php
@@ -0,0 +1,62 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6MenuSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing menu.settings.yml migration.
+ */
+class Drupal6MenuSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   */
+  public static function load(Connection $database) {
+    $database->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();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6NodeSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6NodeSettings.php
new file mode 100644
index 0000000..67211d5
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6NodeSettings.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6NodeSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing node.settings.yml migration.
+ */
+class Drupal6NodeSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'node_admin_theme',
+      'value' => 'i:0;',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SearchSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SearchSettings.php
new file mode 100644
index 0000000..09cccef
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SearchSettings.php
@@ -0,0 +1,84 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate\Tests\Drupal6SearchSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing forum.site.yml migration.
+ */
+class Drupal6SearchSettings {
+
+  /**
+   * Mock the database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The mocked database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'forum',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'minimum_word_size',
+      'value' => 's:1:"3";',
+    ))
+    ->values(array(
+      'name' => 'overlap_cjk',
+      'value' => 'i:1;',
+    ))
+    ->values(array(
+      'name' => 'search_cron_limit',
+      'value' => 's:3:"100";',
+    ))
+    ->values(array(
+      'name' => 'search_tag_weights',
+      'value' => serialize(array(
+        'h1' => 25,
+        'h2' => 18,
+        'h3' => 15,
+        'h4' => 12,
+        'h5' => 9,
+        'h6' => 6,
+        'u' => 3,
+        'b' => 3,
+        'i' => 3,
+        'strong' => 3,
+        'em' => 3,
+        'a' => 10,
+      )),
+    ))
+    ->values(array(
+      'name' => 'search_and_or_limit',
+      'value' => 'i:7;',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SimpletestSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SimpletestSettings.php
new file mode 100644
index 0000000..b035460
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SimpletestSettings.php
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SimpletestSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing simpletest.settings.yml migration.
+ */
+class Drupal6SimpletestSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'simpletest',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'simpletest_clear_results',
+      'value' => 'b:1;',
+    ))
+    ->values(array(
+      'name' => 'simpletest_httpauth_method',
+      'value' => 'i:1;',
+    ))
+    ->values(array(
+      'name' => 'simpletest_httpauth_password',
+      'value' => 'N;',
+    ))
+    ->values(array(
+      'name' => 'simpletest_httpauth_username',
+      'value' => 'N;',
+    ))
+    ->values(array(
+      'name' => 'simpletest_verbose',
+      'value' => 'b:1;',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6StatisticsSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6StatisticsSettings.php
new file mode 100644
index 0000000..40474cb
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6StatisticsSettings.php
@@ -0,0 +1,75 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6StatisticsSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing statistics.settings.yml migration.
+ */
+class Drupal6StatisticsSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'statistics',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'statistics_enable_access_log',
+      'value' => 'i:0;',
+    ))
+    ->values(array(
+      'name' => 'statistics_flush_accesslog_timer',
+      'value' => 'i:259200;',
+    ))
+    ->values(array(
+      'name' => 'statistics_count_content_view',
+      'value' => 'i:0;',
+    ))
+    ->values(array(
+      'name' => 'statistics_block_top_day_num',
+      'value' => 'i:0;',
+    ))
+    ->values(array(
+      'name' => 'statistics_block_top_all_num',
+      'value' => 'i:0;',
+    ))
+    ->values(array(
+      'name' => 'statistics_block_top_last_num',
+      'value' => 'i:0;',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SyslogSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SyslogSettings.php
new file mode 100644
index 0000000..dd87afa
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SyslogSettings.php
@@ -0,0 +1,61 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SyslogSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing syslog.settings.yml migration.
+ */
+class Drupal6SyslogSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $facility = defined('LOG_LOCAL0') ? LOG_LOCAL0 : LOG_USER;
+
+    $database->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' => 'syslog',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'syslog_facility',
+      'value' => serialize($facility),
+    ))
+    ->values(array(
+      'name' => 'syslog_identity',
+      'value' => 's:6:"drupal";',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemCron.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemCron.php
index 6c68424..155cc7b 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemCron.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemCron.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains \Drupal\migrate\Tests\Drupal6SystemCron.
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SystemCron.
  */
 
 namespace Drupal\migrate_drupal\Tests\Dump;
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemFile.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemFile.php
new file mode 100644
index 0000000..1516090
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemFile.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SystemFile.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing system.file.yml migration.
+ */
+class Drupal6SystemFile {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'file_directory_path',
+      'value' => 's:10:"files/test";',
+    ))
+    ->values(array(
+      'name' => 'file_directory_temp',
+      'value' => 's:10:"files/temp";',
+    ))
+    ->execute();
+  }
+
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemFilter.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemFilter.php
new file mode 100644
index 0000000..2a3c253
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemFilter.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SystemFilter.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing system.filter.yml migration.
+ */
+class Drupal6SystemFilter {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'filter_allowed_protocols',
+      'value' => 'a:13:{i:0;s:4:"http";i:1;s:5:"https";i:2;s:3:"ftp";i:3;s:4:"news";i:4;s:4:"nntp";i:5;s:3:"tel";i:6;s:6:"telnet";i:7;s:6:"mailto";i:8;s:3:"irc";i:9;s:3:"ssh";i:10;s:4:"sftp";i:11;s:6:"webcal";i:12;s:4:"rtsp";}',
+    ))
+    ->execute();
+  }
+
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemImage.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemImage.php
new file mode 100644
index 0000000..6596cac
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemImage.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SystemImage.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing system.image.yml migration.
+ */
+class Drupal6SystemImage {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'image_toolkit',
+      'value' => 's:2:"gd";',
+    ))
+    ->execute();
+  }
+
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemImageGd.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemImageGd.php
new file mode 100644
index 0000000..383c240
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemImageGd.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SystemImageGd.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing system.image.gd.yml migration.
+ */
+class Drupal6SystemImageGd {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'image_jpeg_quality',
+      'value' => 'i:75;',
+    ))
+    ->execute();
+  }
+
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemMaintenance.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemMaintenance.php
new file mode 100644
index 0000000..ff2c000
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemMaintenance.php
@@ -0,0 +1,59 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SystemMaintenance.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing system.maintenance.yml migration.
+ */
+class Drupal6SystemMaintenance {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'site_offline',
+      'value' => 'i:0;',
+    ))
+    ->values(array(
+      'name' => 'site_offline_message',
+      'value' => 's:94:"Drupal is currently under maintenance. We should be back shortly. Thank you for your patience.";',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemPerformance.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemPerformance.php
index 91f1a23..2d8d018 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemPerformance.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemPerformance.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains \Drupal\migrate\Tests\Drupal6SystemPerformance.
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SystemPerformance.
  */
 
 namespace Drupal\migrate_drupal\Tests\Dump;
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemRss.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemRss.php
index f6f1cf8..b2658a0 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemRss.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemRss.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Contains \Drupal\migrate\Tests\Drupal6SystemRss.
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SystemRss.
  */
 
 namespace Drupal\migrate_drupal\Tests\Dump;
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemSite.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemSite.php
index e320417..849e0e7 100644
--- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemSite.php
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemSite.php
@@ -1,5 +1,10 @@
 <?php
 
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SystemSite.
+ */
+
 namespace Drupal\migrate_drupal\Tests\Dump;
 
 use Drupal\Core\Database\Connection;
@@ -10,7 +15,10 @@
 class Drupal6SystemSite {
 
   /**
+   * Sample database schema and values.
+   *
    * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
    */
   public static function load(Connection $database) {
     $database->schema()->createTable('variable', array(
@@ -40,35 +48,31 @@ public static function load(Connection $database) {
     ))
     ->values(array(
       'name' => 'site_name',
-      'value' => 's:6:"drupal";',
+      'value' => serialize('Drupal'),
     ))
     ->values(array(
       'name' => 'site_mail',
-      'value' => 's:17:"admin@example.com";',
+      'value' => serialize('admin@example.com'),
     ))
     ->values(array(
       'name' => 'site_slogan',
-      'value' => 's:13:"Migrate rocks";',
+      'value' => serialize('Migrate rocks'),
     ))
     ->values(array(
       'name' => 'site_frontpage',
-      'value' => 's:12:"anonymous-hp";',
+      'value' => serialize('anonymous-hp'),
     ))
     ->values(array(
       'name' => 'site_403',
-      'value' => 's:4:"user";',
+      'value' => serialize('user'),
     ))
     ->values(array(
       'name' => 'site_404',
-      'value' => 's:14:"page-not-found";',
-    ))
-    ->values(array(
-      'name' => 'drupal_weight_select_max',
-      'value' => 'i:99;',
+      'value' => serialize('page-not-found'),
     ))
     ->values(array(
       'name' => 'admin_compact_mode',
-      'value' => 'b:0;',
+      'value' => serialize(FALSE),
     ))
     ->execute();
   }
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemTheme.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemTheme.php
new file mode 100644
index 0000000..2ea5e64
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemTheme.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6SystemTheme.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing system.theme.yml migration.
+ */
+class Drupal6SystemTheme {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'admin_theme',
+      'value' => 'i:0;',
+    ))
+    ->values(array(
+      'name' => 'theme_default',
+      'value' => 's:7:"garland";',
+    ))
+    ->execute();
+  }
+
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6TaxonomySettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6TaxonomySettings.php
new file mode 100644
index 0000000..c04ad2e
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6TaxonomySettings.php
@@ -0,0 +1,59 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6TaxonomySettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing taxonomy.settings.yml migration.
+ */
+class Drupal6TaxonomySettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'taxonomy',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'taxonomy_override_selector',
+      'value' => 'b:0;',
+    ))
+    ->values(array(
+      'name' => 'taxonomy_terms_per_page_admin',
+      'value' => 'i:100;',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6TextSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6TextSettings.php
new file mode 100644
index 0000000..d396ca0
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6TextSettings.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6TextSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing text.settings.yml migration.
+ */
+class Drupal6TextSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'text',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'teaser_length',
+      'value' => 'i:600;',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6UpdateSettings.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6UpdateSettings.php
new file mode 100644
index 0000000..e11ee01
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6UpdateSettings.php
@@ -0,0 +1,67 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6UpdateSettings.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing update.settings.yml migration.
+ */
+class Drupal6UpdateSettings {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'update',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'update_max_fetch_attempts',
+      'value' => 'i:2;',
+    ))
+    ->values(array(
+      'name' => 'update_fetch_url',
+      'value' => 's:41:"http://updates.drupal.org/release-history";',
+    ))
+    ->values(array(
+      'name' => 'update_notification_threshold',
+      'value' => 's:3:"all";',
+    ))
+    ->values(array(
+      'name' => 'update_notify_emails',
+      'value' => 'a:0:{}',
+    ))
+    ->execute();
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6UserMail.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6UserMail.php
new file mode 100644
index 0000000..5b84be4
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6UserMail.php
@@ -0,0 +1,107 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\Dump\Drupal6UserMail.
+ */
+
+namespace Drupal\migrate_drupal\Tests\Dump;
+
+use Drupal\Core\Database\Connection;
+
+/**
+ * Database dump for testing user.mail.yml migration.
+ */
+class Drupal6UserMail {
+
+  /**
+   * Sample database schema and values.
+   *
+   * @param \Drupal\Core\Database\Connection $database
+   *   The database connection.
+   */
+  public static function load(Connection $database) {
+    $database->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' => 'user',
+      'name' => 'variable',
+    ));
+    $database->insert('variable')->fields(array(
+      'name',
+      'value',
+    ))
+    ->values(array(
+      'name' => 'user_mail_status_activated_subject',
+      'value' => 's:49:"Account details for !username at !site (approved)";',
+    ))
+    ->values(array(
+      'name' => 'user_mail_status_activated_body',
+      'value' => "s:419:\"!username,\n\nYour account at !site has been activated.\n\nYou may now log in by clicking on this link or copying and pasting it in your browser:\n\n!login_url\n\nThis is a one-time login, so it can be used only once.\n\nAfter logging in, you will be redirected to !edit_uri so you can change your password.\n\nOnce you have set your own password, you will be able to log in to !login_uri in the future using:\n\nusername: !username\n\";",
+    ))
+    ->values(array(
+      'name' => 'user_mail_password_reset_subject',
+      'value' => 's:52:"Replacement login information for !username at !site";',
+    ))
+    ->values(array(
+      'name' => 'user_mail_password_reset_body',
+      'value' => "s:409:\"!username,\n\nA request to reset the password for your account has been made at !site.\n\nYou may now log in to !uri_brief by clicking on this link or copying and pasting it in your browser:\n\n!login_url\n\nThis is a one-time login, so it can be used only once. It expires after one day and nothing will happen if it's not used.\n\nAfter logging in, you will be redirected to !edit_uri so you can change your password.\";",
+    ))
+    ->values(array(
+      'name' => 'user_mail_status_deleted_subject',
+      'value' => 's:48:"Account details for !username at !site (deleted)";',
+    ))
+    ->values(array(
+      'name' => 'user_mail_status_deleted_body',
+      'value' => "s:51:\"!username,\n\nYour account on !site has been deleted.\";",
+    ))
+    ->values(array(
+      'name' => 'user_mail_register_admin_created_subject',
+      'value' => 's:52:"An administrator created an account for you at !site";',
+    ))
+    ->values(array(
+      'name' => 'user_mail_register_admin_created_body',
+      'value' => "s:452:\"!username,\n\nA site administrator at !site has created an account for you. You may now log in to !login_uri using the following username and password:\n\nusername: !username\npassword: !password\n\nYou may also log in by clicking on this link or copying and pasting it in your browser:\n\n!login_url\n\nThis is a one-time login, so it can be used only once.\n\nAfter logging in, you will be redirected to !edit_uri so you can change your password.\n\n\n--  !site team\";",
+    ))
+    ->values(array(
+      'name' => 'user_mail_register_no_approval_required_subject',
+      'value' => 's:38:"Account details for !username at !site";',
+    ))
+    ->values(array(
+      'name' => 'user_mail_register_no_approval_required_body',
+      'value' => "s:426:\"!username,\n\nThank you for registering at !site. You may now log in to !login_uri using the following username and password:\n\nusername: !username\npassword: !password\n\nYou may also log in by clicking on this link or copying and pasting it in your browser:\n\n!login_url\n\nThis is a one-time login, so it can be used only once.\n\nAfter logging in, you will be redirected to !edit_uri so you can change your password.\n\n\n--  !site team\";",
+    ))
+    ->values(array(
+      'name' => 'user_mail_user_mail_register_pending_approval_subject',
+      'value' => 's:63:"Account details for !username at !site (pending admin approval)";',
+    ))
+    ->values(array(
+      'name' => 'user_mail_user_mail_register_pending_approval_body',
+      'value' => "s:268:\"!username,\n\nThank you for registering at !site. Your application for an account is currently pending approval. Once it has been approved, you will receive another e-mail containing information about how to log in, set your password, and other details.\n\n\n--  !site team\";",
+    ))
+    ->values(array(
+      'name' => 'user_mail_status_blocked_subject',
+      'value' => 's:48:"Account details for !username at !site (blocked)";',
+    ))
+    ->values(array(
+      'name' => 'user_mail_status_blocked_body',
+      'value' => "s:51:\"!username,\n\nYour account on !site has been blocked.\";",
+    ))
+    ->execute();
+  }
+}
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
new file mode 100644
index 0000000..39d8f11
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateActionConfigsTest.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateActionConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Action module.
+ */
+class MigrateActionConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to action.settings.yml',
+      'description'  => 'Upgrade variables to action.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of action variables to action.settings.yml.
+   */
+  public function testActionSettings() {
+    $migration = entity_load('migration', 'd6_action_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ActionSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('action.settings');
+    $this->assertIdentical($config->get('recursion_limit'), 35);
+  }
+
+}
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
new file mode 100644
index 0000000..0b2fb89
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateAggregatorConfigsTest.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateAggregatorConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Aggregator module.
+ */
+class MigrateAggregatorConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to aggregator.settings.yml',
+      'description'  => 'Upgrade variables to aggregator.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of aggregator variables to aggregator.settings.yml.
+   */
+  public function testAggregatorSettings() {
+    $migration = entity_load('migration', 'd6_aggregator_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6AggregatorSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('aggregator.settings');
+    $this->assertIdentical($config->get('fetcher'), 'aggregator');
+    $this->assertIdentical($config->get('parser'), 'aggregator');
+    $this->assertIdentical($config->get('processors'), array('aggregator'));
+    $this->assertIdentical($config->get('items.teaser_length'), '600');
+    $this->assertIdentical($config->get('items.allowed_html'), '<a> <b> <br /> <dd> <dl> <dt> <em> <i> <li> <ol> <p> <strong> <u> <ul>');
+    $this->assertIdentical($config->get('items.expire'), '9676800');
+    $this->assertIdentical($config->get('source.list_max'), '3');
+    $this->assertIdentical($config->get('source.category_selector'), 'checkboxes');
+  }
+}
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
new file mode 100644
index 0000000..c610753
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateBookConfigsTest.php
@@ -0,0 +1,46 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateBookConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Book module.
+ */
+class MigrateBookConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to book.settings.yml',
+      'description'  => 'Upgrade variables to book.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of book variables to book.settings.yml.
+   */
+  public function testBookSettings() {
+    $migration = entity_load('migration', 'd6_book_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6BookSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('book.settings');
+    $this->assertIdentical($config->get('child_type'), 'book');
+    $this->assertIdentical($config->get('block.navigation.mode'), 'all pages');
+    $this->assertIdentical($config->get('allowed_types'), array('book'));
+  }
+}
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
new file mode 100644
index 0000000..6920d9d
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateContactConfigsTest.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateContactConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Contact module.
+ */
+class MigrateContactConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to contact.settings',
+      'description'  => 'Upgrade variables to contact.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of aggregator variables to aggregator.settings.yml.
+   */
+  public function testContactSettings() {
+    $migration = entity_load('migration', 'd6_contact_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ContactSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('contact.settings');
+    $this->assertIdentical($config->get('user_default_enabled'), 1);
+    $this->assertIdentical($config->get('flood.limit'), 3);
+  }
+}
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
new file mode 100644
index 0000000..f5d54af
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateDblogConfigsTest.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateDblogConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the dblog module.
+ */
+class MigrateDblogConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to dblog.settings.yml',
+      'description'  => 'Upgrade variables to dblog.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of dblog variables to dblog.settings.yml.
+   */
+  public function testBookSettings() {
+    $migration = entity_load('migration', 'd6_dblog_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6DblogSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('dblog.settings');
+    $this->assertIdentical($config->get('row_limit'), 1000);
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFieldConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFieldConfigsTest.php
new file mode 100644
index 0000000..083c1cd
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFieldConfigsTest.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateFieldConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Field module.
+ */
+class MigrateFieldConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to field.settings.yml',
+      'description'  => 'Upgrade variables to field.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of field variables to field.settings.yml.
+   */
+  public function testFieldSettings() {
+    $migration = entity_load('migration', 'd6_field_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6FieldSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('field.settings');
+    $this->assertIdentical($config->get('language_fallback'), TRUE);
+  }
+}
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
new file mode 100644
index 0000000..cdfcee6
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateFileConfigsTest.php
@@ -0,0 +1,46 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateFileConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the File module.
+ */
+class MigrateFileConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to file.settings.yml',
+      'description'  => 'Upgrade variables to file.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of file variables to file.settings.yml.
+   */
+  public function testFileSettings() {
+    $migration = entity_load('migration', 'd6_file_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6FileSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('file.settings');
+    $this->assertIdentical($config->get('description.type'), 'textfield');
+    $this->assertIdentical($config->get('description.length'), 128);
+    $this->assertIdentical($config->get('icon.directory'), 'sites/default/files/icons');
+  }
+}
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
new file mode 100644
index 0000000..114bd1e
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateForumConfigsTest.php
@@ -0,0 +1,52 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateForumConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables for the Forum module.
+ */
+class MigrateForumConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to forum.settings.yml',
+      'description'  => 'Upgrade variables to forum.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of forum variables to forum.settings.yml.
+   */
+  public function testForumSettings() {
+    $migration = entity_load('migration', 'd6_forum_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6ForumSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('forum.settings');
+    $this->assertIdentical($config->get('topics.hot_threshold'), '15');
+    $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');
+    // 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.
+    $this->assertIdentical($config->get('block.new.limit'), '5');
+  }
+}
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
new file mode 100644
index 0000000..2c70389
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLocaleConfigsTest.php
@@ -0,0 +1,46 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateLocaleConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Locale module.
+ */
+class MigrateLocaleConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to locale.settings.yml',
+      'description'  => 'Upgrade variables to locale.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of locale variables to locale.settings.yml.
+   */
+  public function testLocaleSettings() {
+    $migration = entity_load('migration', 'd6_locale_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6LocaleSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('locale.settings');
+    $this->assertIdentical($config->get('cache_string'), 1);
+    $this->assertIdentical($config->get('javascript.directory'), 'languages');
+  }
+
+}
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
new file mode 100644
index 0000000..f060c93
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateMenuConfigsTest.php
@@ -0,0 +1,46 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\MigrateMenuConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables for the Menu module.
+ */
+class MigrateMenuConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => '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);
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateNodeConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateNodeConfigsTest.php
new file mode 100644
index 0000000..549e3d5
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateNodeConfigsTest.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateSystemSiteTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+class MigrateNodeConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to node.settings.yml',
+      'description'  => 'Upgrade variables to node.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  function testNodeSettings() {
+    $migration = entity_load('migration', 'd6_node_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6NodeSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage);
+    $executable->import();
+    $config = \Drupal::config('node.settings');
+    $this->assertIdentical($config->get('use_admin_theme'), 0);
+  }
+}
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
new file mode 100644
index 0000000..142fe05
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSearchConfigsTest.php
@@ -0,0 +1,62 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateSearchConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables for the Search module.
+ */
+class MigrateSearchConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to search.settings.yml',
+      'description'  => 'Upgrade variables to search.settings.yml',
+      'group' => 'Migrate',
+    );
+  }
+
+  /**
+   * Tests migration of search variables to search.settings.yml.
+   */
+  public function testSearchSettings() {
+    $migration = entity_load('migration', 'd6_search_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SearchSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('search.settings');
+    $this->assertIdentical($config->get('index.minimum_word_size'), '3');
+    $this->assertIdentical($config->get('index.overlap_cjk'), 1);
+    $this->assertIdentical($config->get('index.cron_limit'), '100');
+    // Not sure where these two variables are set in D6.
+    $this->assertIdentical($config->get('index.tag_weights'), array(
+        'h1' => 25,
+        'h2' => 18,
+        'h3' => 15,
+        'h4' => 12,
+        'h5' => 9,
+        'h6' => 6,
+        'u' => 3,
+        'b' => 3,
+        'i' => 3,
+        'strong' => 3,
+        'em' => 3,
+        'a' => 10,
+      ));
+    $this->assertIdentical($config->get('and_or_limit'), 7);
+  }
+}
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
new file mode 100644
index 0000000..6653fc3
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSimpletestConfigsTest.php
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateSimpletestConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Simpletest module.
+ */
+class MigrateSimpletestConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to simpletest.settings.yml',
+      'description'  => 'Upgrade variables to simpletest.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of simpletest variables to simpletest.settings.yml.
+   */
+  public function testSimpletestSettings() {
+    $migration = entity_load('migration', 'd6_simpletest_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SimpletestSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('simpletest.settings');
+    $this->assertIdentical($config->get('clear_results'), TRUE);
+    $this->assertIdentical($config->get('httpauth.method'), CURLAUTH_BASIC);
+    $this->assertIdentical($config->get('httpauth.password'), NULL);
+    $this->assertIdentical($config->get('httpauth.username'), NULL);
+    $this->assertIdentical($config->get('verbose'), TRUE);
+  }
+}
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
new file mode 100644
index 0000000..ba40e2f
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateStatisticsConfigsTest.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateStatisticsConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Statistics module.
+ */
+class MigrateStatisticsConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to statistics.settings.yml',
+      'description'  => 'Upgrade variables to statistics.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of statistics variables to statistics.settings.yml.
+   */
+  public function testStatisticsSettings() {
+    $migration = entity_load('migration', 'd6_statistics_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6StatisticsSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('statistics.settings');
+    $this->assertIdentical($config->get('access_log.enable'), 0);
+    $this->assertIdentical($config->get('access_log.max_lifetime'), 259200);
+    $this->assertIdentical($config->get('count_content_views'), NULL);
+    $this->assertIdentical($config->get('block.popular.top_day_limit'), 0);
+    $this->assertIdentical($config->get('block.popular.top_all_limit'), 0);
+    $this->assertIdentical($config->get('block.popular.top_recent_limit'), 0);
+  }
+}
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
new file mode 100644
index 0000000..6bf965f
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSyslogConfigsTest.php
@@ -0,0 +1,46 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateSyslogConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Syslog module.
+ */
+class MigrateSyslogConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to syslog.settings.yml',
+      'description'  => 'Upgrade variables to syslog.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of syslog variables to syslog.settings.yml.
+   */
+  public function testSyslogSettings() {
+    $migration = entity_load('migration', 'd6_syslog_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SyslogSettings.php',
+    );
+    $facility = defined('LOG_LOCAL0') ? LOG_LOCAL0 : LOG_USER;
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('syslog.settings');
+    $this->assertIdentical($config->get('identity'), 'drupal');
+    $this->assertIdentical($config->get('facility'), $facility);
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSystemConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSystemConfigsTest.php
new file mode 100644
index 0000000..95d97f0d
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateSystemConfigsTest.php
@@ -0,0 +1,191 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateSystemSiteTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+class MigrateSystemConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to system.*.yml',
+      'description'  => 'Upgrade variables to system.*.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of system (cron) variables to system.cron.yml.
+   */
+  public function testSystemCron() {
+    $migration = entity_load('migration', 'd6_system_cron');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemCron.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('system.cron');
+    $this->assertIdentical($config->get('threshold.warning'), 172800);
+    $this->assertIdentical($config->get('threshold.error'), 1209600);
+  }
+
+  /**
+   * Tests migration of system (rss) variables to system.rss.yml.
+   */
+  public function testSystemRss() {
+    $migration = entity_load('migration', 'd6_system_rss');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemRss.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('system.rss');
+    $this->assertIdentical($config->get('items.limit'), 10);
+  }
+
+  /**
+   * Tests migration of system (Performance) variables to system.performance.yml.
+   */
+  public function testSystemPerformance() {
+    $migration = entity_load('migration', 'd6_system_performance');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemPerformance.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('system.performance');
+    $this->assertIdentical($config->get('css.preprocess'), 0);
+    $this->assertIdentical($config->get('js.preprocess'), 0);
+    $this->assertIdentical($config->get('cache.page.max_age'), 0);
+  }
+
+  /**
+   * Tests migration of system (theme) variables to system.theme.yml.
+   */
+  public function testSystemTheme() {
+    $migration = entity_load('migration', 'd6_system_theme');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemTheme.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('system.theme');
+    $this->assertIdentical($config->get('admin'), 0);
+    $this->assertIdentical($config->get('default'), 'garland');
+  }
+
+  /**
+   * Tests migration of system (maintenance) variables to system.maintenance.yml.
+   */
+  public function testSystemMaintenance() {
+    $migration = entity_load('migration', 'd6_system_maintenance');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemMaintenance.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('system.maintenance');
+    $this->assertIdentical($config->get('enable'), 0);
+    $this->assertIdentical($config->get('message'), 'Drupal is currently under maintenance. We should be back shortly. Thank you for your patience.');
+  }
+
+  /**
+   * Tests migration of system (site) variables to system.site.yml.
+   */
+  public function testSystemSite() {
+    $migration = entity_load('migration', 'd6_system_site');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemSite.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('system.site');
+    $this->assertIdentical($config->get('name'), 'Drupal');
+    $this->assertIdentical($config->get('mail'), 'admin@example.com');
+    $this->assertIdentical($config->get('slogan'), 'Migrate rocks');
+    $this->assertIdentical($config->get('page.403'), 'user');
+    $this->assertIdentical($config->get('page.404'), 'page-not-found');
+    $this->assertIdentical($config->get('page.front'), 'anonymous-hp');
+    $this->assertIdentical($config->get('admin_compact_mode'), FALSE);
+  }
+
+  /**
+   * Tests migration of system (filter) variables to system.filter.yml.
+   */
+  public function testSystemFilter() {
+    $migration = entity_load('migration', 'd6_system_filter');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemFilter.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('system.filter');
+    $this->assertIdentical($config->get('protocols'), array('http', 'https', 'ftp', 'news', 'nntp', 'tel', 'telnet', 'mailto', 'irc', 'ssh', 'sftp', 'webcal', 'rtsp'));
+  }
+
+  /**
+   * Tests migration of system (image) variables to system.image.yml.
+   */
+  public function testSystemImage() {
+    $migration = entity_load('migration', 'd6_system_image');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemImage.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('system.image');
+    $this->assertIdentical($config->get('toolkit'), 'gd');
+  }
+
+  /**
+   * Tests migration of system (image GD) variables to system.image.gd.yml.
+   */
+  public function testSystemImageGd() {
+    $migration = entity_load('migration', 'd6_system_image_gd');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemImageGd.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('system.image.gd');
+    $this->assertIdentical($config->get('jpeg_quality'), 75);
+  }
+
+  /**
+   * Tests migration of system (file) variables to system.file.yml.
+   */
+  public function testSystemFile() {
+    $migration = entity_load('migration', 'd6_system_file');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6SystemFile.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    config_context_enter('config.context.free');
+    $config = \Drupal::config('system.file');
+    $this->assertIdentical($config->get('path.private'), 'files/test');
+    $this->assertIdentical($config->get('path.temporary'), 'files/temp');
+    config_context_leave();
+  }
+
+}
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
new file mode 100644
index 0000000..4857e43
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTaxonomyConfigsTest.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateTaxonomyConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Taxonomy module.
+ */
+class MigrateTaxonomyConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to taxonomy.settings.yml',
+      'description'  => 'Upgrade variables to taxonomy.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of taxonomy variables to taxonomy.settings.yml.
+   */
+  public function testTaxonomySettings() {
+    $migration = entity_load('migration', 'd6_taxonomy_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6TaxonomySettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('taxonomy.settings');
+    $this->assertIdentical($config->get('terms_per_page_admin'), 100);
+    $this->assertIdentical($config->get('override_selector'), FALSE);
+  }
+}
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
new file mode 100644
index 0000000..5457c93
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateTextConfigsTest.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateTextConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Text module.
+ */
+class MigrateTextConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to text.settings.yml',
+      'description'  => 'Upgrade variables to text.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of text variables to text.settings.yml.
+   */
+  public function testTextSettings() {
+    $migration = entity_load('migration', 'd6_text_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6TextSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('text.settings');
+    $this->assertIdentical($config->get('default_summary_length'), 600);
+  }
+
+}
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
new file mode 100644
index 0000000..16395f1
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUpdateConfigsTest.php
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateUpdateConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the Update module.
+ */
+class MigrateUpdateConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to update.settings.yml',
+      'description'  => 'Upgrade variables to update.settings.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of update variables to update.settings.yml.
+   */
+  public function testUpdateSettings() {
+    $migration = entity_load('migration', 'd6_update_settings');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6UpdateSettings.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('update.settings');
+    $this->assertIdentical($config->get('fetch.max_attempts'), 2);
+    $this->assertIdentical($config->get('fetch.url'), 'http://updates.drupal.org/release-history');
+    $this->assertIdentical($config->get('notification.threshold'), 'all');
+    $this->assertIdentical($config->get('notification.mails'), array());
+  }
+}
diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUserConfigsTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUserConfigsTest.php
new file mode 100644
index 0000000..ebd6966
--- /dev/null
+++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateUserConfigsTest.php
@@ -0,0 +1,57 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\system\Tests\Upgrade\MigrateUserConfigsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d6;
+
+use Drupal\migrate\MigrateMessage;
+use Drupal\migrate\MigrateExecutable;
+use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
+
+/**
+ * Tests migration of variables from the User module.
+ */
+class MigrateUserConfigsTest extends MigrateDrupalTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getInfo() {
+    return array(
+      'name'  => 'Migrate variables to user.*.yml',
+      'description'  => 'Upgrade variables to user.*.yml',
+      'group' => 'Migrate Drupal',
+    );
+  }
+
+  /**
+   * Tests migration of user variables to user.mail.yml.
+   */
+  public function testUserMail() {
+    $migration = entity_load('migration', 'd6_user_mail');
+    $dumps = array(
+      drupal_get_path('module', 'migrate_drupal') . '/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6UserMail.php',
+    );
+    $this->prepare($migration, $dumps);
+    $executable = new MigrateExecutable($migration, new MigrateMessage());
+    $executable->import();
+    $config = \Drupal::config('user.mail');
+    $this->assertIdentical($config->get('status_activated.subject'), 'Account details for !username at !site (approved)');
+    $this->assertIdentical($config->get('status_activated.body'), "!username,\n\nYour account at !site has been activated.\n\nYou may now log in by clicking on this link or copying and pasting it in your browser:\n\n!login_url\n\nThis is a one-time login, so it can be used only once.\n\nAfter logging in, you will be redirected to !edit_uri so you can change your password.\n\nOnce you have set your own password, you will be able to log in to !login_uri in the future using:\n\nusername: !username\n");
+    $this->assertIdentical($config->get('password_reset.subject'), 'Replacement login information for !username at !site');
+    $this->assertIdentical($config->get('password_reset.body'), "!username,\n\nA request to reset the password for your account has been made at !site.\n\nYou may now log in to !uri_brief by clicking on this link or copying and pasting it in your browser:\n\n!login_url\n\nThis is a one-time login, so it can be used only once. It expires after one day and nothing will happen if it's not used.\n\nAfter logging in, you will be redirected to !edit_uri so you can change your password.");
+    $this->assertIdentical($config->get('cancel_confirm.subject'), 'Account details for !username at !site (deleted)');
+    $this->assertIdentical($config->get('cancel_confirm.body'), "!username,\n\nYour account on !site has been deleted.");
+    $this->assertIdentical($config->get('register_admin_created.subject'), 'An administrator created an account for you at !site');
+    $this->assertIdentical($config->get('register_admin_created.body'), "!username,\n\nA site administrator at !site has created an account for you. You may now log in to !login_uri using the following username and password:\n\nusername: !username\npassword: !password\n\nYou may also log in by clicking on this link or copying and pasting it in your browser:\n\n!login_url\n\nThis is a one-time login, so it can be used only once.\n\nAfter logging in, you will be redirected to !edit_uri so you can change your password.\n\n\n--  !site team");
+    $this->assertIdentical($config->get('register_no_approval_required.subject'), 'Account details for !username at !site');
+    $this->assertIdentical($config->get('register_no_approval_required.body'), "!username,\n\nThank you for registering at !site. You may now log in to !login_uri using the following username and password:\n\nusername: !username\npassword: !password\n\nYou may also log in by clicking on this link or copying and pasting it in your browser:\n\n!login_url\n\nThis is a one-time login, so it can be used only once.\n\nAfter logging in, you will be redirected to !edit_uri so you can change your password.\n\n\n--  !site team");
+    $this->assertIdentical($config->get('register_pending_approval.subject'), 'Account details for !username at !site (pending admin approval)');
+    $this->assertIdentical($config->get('register_pending_approval.body'), "!username,\n\nThank you for registering at !site. Your application for an account is currently pending approval. Once it has been approved, you will receive another e-mail containing information about how to log in, set your password, and other details.\n\n\n--  !site team");
+    $this->assertIdentical($config->get('status_blocked.subject'), 'Account details for !username at !site (blocked)');
+    $this->assertIdentical($config->get('status_blocked.body'), "!username,\n\nYour account on !site has been blocked.");
+  }
+}
