diff --git a/core/modules/migrate_drupal_ui/src/Form/ReviewForm.php b/core/modules/migrate_drupal_ui/src/Form/ReviewForm.php
index 5be85c42f2..1a1a179150 100644
--- a/core/modules/migrate_drupal_ui/src/Form/ReviewForm.php
+++ b/core/modules/migrate_drupal_ui/src/Form/ReviewForm.php
@@ -3,12 +3,14 @@
namespace Drupal\migrate_drupal_ui\Form;
use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Extension\Exception\UnknownExtensionException;
+use Drupal\Core\Extension\ModuleHandler;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\State\StateInterface;
use Drupal\Core\TempStore\PrivateTempStoreFactory;
-use Drupal\migrate_drupal_ui\Batch\MigrateUpgradeImportBatch;
-use Drupal\migrate_drupal\MigrationState;
use Drupal\migrate\Plugin\MigrationPluginManagerInterface;
+use Drupal\migrate_drupal\MigrationState;
+use Drupal\migrate_drupal_ui\Batch\MigrateUpgradeImportBatch;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
@@ -44,23 +46,40 @@ class ReviewForm extends MigrateUpgradeFormBase {
*/
protected $migrationState;
+ /**
+ * Module handler.
+ *
+ * @var \Drupal\Core\Extension\ModuleHandler
+ */
+ protected $moduleHandler;
+
+ /**
+ * Source system data set in buildForm().
+ *
+ * @var array
+ */
+ protected $systemData;
+
/**
* ReviewForm constructor.
*
- * @param \Drupal\Core\State\StateInterface $state
- * The state service.
+ * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
+ * The config factory service.
* @param \Drupal\migrate\Plugin\MigrationPluginManagerInterface $migration_plugin_manager
* The migration plugin manager service.
+ * @param \Drupal\Core\State\StateInterface $state
+ * The state service.
* @param \Drupal\Core\TempStore\PrivateTempStoreFactory $tempstore_private
* The private tempstore factory service.
- * @param \Drupal\migrate_drupal\MigrationState $migrationState
+ * @param \Drupal\migrate_drupal\MigrationState $migration_state
* Migration state service.
- * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
- * The config factory service.
+ * @param \Drupal\Core\Extension\ModuleHandler $module_handler
+ * The module handler service.
*/
- public function __construct(StateInterface $state, MigrationPluginManagerInterface $migration_plugin_manager, PrivateTempStoreFactory $tempstore_private, MigrationState $migrationState, ConfigFactoryInterface $config_factory) {
+ public function __construct(ConfigFactoryInterface $config_factory, MigrationPluginManagerInterface $migration_plugin_manager, StateInterface $state, PrivateTempStoreFactory $tempstore_private, MigrationState $migration_state, ModuleHandler $module_handler) {
parent::__construct($config_factory, $migration_plugin_manager, $state, $tempstore_private);
- $this->migrationState = $migrationState;
+ $this->migrationState = $migration_state;
+ $this->moduleHandler = $module_handler;
}
/**
@@ -68,11 +87,12 @@ public function __construct(StateInterface $state, MigrationPluginManagerInterfa
*/
public static function create(ContainerInterface $container) {
return new static(
- $container->get('state'),
+ $container->get('config.factory'),
$container->get('plugin.manager.migration'),
+ $container->get('state'),
$container->get('tempstore.private'),
$container->get('migrate_drupal.migration_state'),
- $container->get('config.factory')
+ $container->get('module_handler')
);
}
@@ -91,10 +111,10 @@ public function buildForm(array $form, FormStateInterface $form_state) {
$version = $this->store->get('version');
$this->migrations = $this->store->get('migrations');
// Fetch the source system data at the first opportunity.
- $system_data = $this->store->get('system_data');
+ $this->systemData = $this->store->get('system_data');
// If data is missing or this is the wrong step, start over.
- if (!$version || !$this->migrations || !$system_data ||
+ if (!$version || !$this->migrations || !$this->systemData ||
($this->store->get('step') != 'review')) {
return $this->restartUpgradeForm();
}
@@ -105,7 +125,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
$migrations = $this->migrationPluginManager->createInstances(array_keys($this->store->get('migrations')));
// Get the upgrade states for the source modules.
- $display = $this->migrationState->getUpgradeStates($version, $system_data, $migrations);
+ $display = $this->migrationState->getUpgradeStates($version, $this->systemData, $migrations);
// Missing migrations.
$missing_module_list = [
@@ -119,31 +139,30 @@ public function buildForm(array $form, FormStateInterface $form_state) {
$missing_module_list['module_list'] = [
'#type' => 'table',
'#header' => [
- $this->t('Drupal @version', ['@version' => $version]),
+ $this->t('Drupal @version module name', ['@version' => $version]),
+ $this->t('Drupal @version machine name', ['@version' => $version]),
$this->t('Drupal 8'),
],
];
$missing_count = 0;
if (isset($display[MigrationState::NOT_FINISHED])) {
- foreach ($display[MigrationState::NOT_FINISHED] as $source_module => $destination_modules) {
+ $output = $this->prepareOutput($display[MigrationState::NOT_FINISHED]);
+ foreach ($output as $data) {
$missing_count++;
- // Get the migration status for this $source_module, if a module of the
+ // Get the migration status for each source module, if a module of the
// same name exists on the destination site.
$missing_module_list['module_list'][] = [
- 'source_module' => [
- '#type' => 'html_tag',
- '#tag' => 'span',
- '#value' => $source_module,
- '#attributes' => [
- 'class' => [
- 'upgrade-analysis-report__status-icon',
- 'upgrade-analysis-report__status-icon--error',
- ],
- ],
+ 'source_module_name' => [
+ '#prefix' => '',
+ '#suffix' => '',
+ '#plain_text' => $data['source_module_name'],
+ ],
+ 'source_machine_name' => [
+ '#plain_text' => $data['source_machine_name'],
],
'destination_module' => [
- '#plain_text' => $destination_modules,
+ '#plain_text' => $data['destination'],
],
];
}
@@ -160,29 +179,28 @@ public function buildForm(array $form, FormStateInterface $form_state) {
$available_module_list['module_list'] = [
'#type' => 'table',
'#header' => [
- $this->t('Drupal @version', ['@version' => $version]),
+ $this->t('Drupal @version module name', ['@version' => $version]),
+ $this->t('Drupal @version machine name', ['@version' => $version]),
$this->t('Drupal 8'),
],
];
$available_count = 0;
if (isset($display[MigrationState::FINISHED])) {
- foreach ($display[MigrationState::FINISHED] as $source_module => $destination_modules) {
+ $output = $this->prepareOutput($display[MigrationState::FINISHED]);
+ foreach ($output as $data) {
$available_count++;
$available_module_list['module_list'][] = [
- 'source_module' => [
- '#type' => 'html_tag',
- '#tag' => 'span',
- '#value' => $source_module,
- '#attributes' => [
- 'class' => [
- 'upgrade-analysis-report__status-icon',
- 'upgrade-analysis-report__status-icon--checked',
- ],
- ],
+ 'source_module_name' => [
+ '#prefix' => '',
+ '#suffix' => '',
+ '#plain_text' => $data['source_module_name'],
+ ],
+ 'source_machine_name' => [
+ '#plain_text' => $data['source_machine_name'],
],
'destination_module' => [
- '#plain_text' => $destination_modules,
+ '#plain_text' => $data['destination'],
],
];
}
@@ -254,4 +272,58 @@ public function getConfirmText() {
return $this->t('Perform upgrade');
}
+ /**
+ * Prepare the migration state data for output.
+ *
+ * Each source and destination module_name is changed to the human readable
+ * name, the destination modules are put into a CSV format, and everything is
+ * sorted.
+ *
+ * @param array $migration_state
+ * An array where the keys are machine names of modules on
+ * the source site. Values are lists of machine names of modules on the
+ * destination site, in CSV format.
+ *
+ * @return array
+ * An indexed array of arrays that contain module data, sorted by the source
+ * module name. Each sub-array of contains the source module name, the
+ * source module machine name, and the the destination module names in a
+ * sorted CSV format.
+ */
+ protected function prepareOutput(array $migration_state) {
+ $output = [];
+ foreach ($migration_state as $source_machine_name => $destination_modules) {
+ $data = unserialize($this->systemData['module'][$source_machine_name]['info']);
+ $source_module_name = $data['name'] ?: $source_machine_name;
+ // Get the names of all the destination modules.
+ $destination_module_names = [];
+ if (!empty($destination_modules)) {
+ $destination_modules = explode(', ', $destination_modules);
+ foreach ($destination_modules as $destination_module) {
+ if ($destination_module === 'core') {
+ $destination_module_names[] = 'Core';
+ }
+ else {
+ try {
+ $destination_module_names[] = $this->moduleHandler->getName($destination_module);
+ }
+ catch (UnknownExtensionException $e) {
+ $destination_module_names[] = $destination_module;
+ }
+ }
+ }
+ }
+ sort($destination_module_names);
+ $output[$source_machine_name] = [
+ 'source_module_name' => $source_module_name,
+ 'source_machine_name' => $source_machine_name,
+ 'destination' => implode(', ', $destination_module_names),
+ ];
+ }
+ usort($output, function ($a, $b) {
+ return strcmp($a['source_module_name'], $b['source_module_name']);
+ });
+ return $output;
+ }
+
}
diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php b/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php
index 4b6754487c..737f61f22a 100644
--- a/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php
+++ b/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php
@@ -145,7 +145,7 @@ protected function assertUpgradePaths(WebAssert $session, array $available_paths
* Gets the available upgrade paths.
*
* @return string[]
- * An array of available upgrade paths.
+ * An array of source modules names that will be upgraded.
*/
abstract protected function getAvailablePaths();
@@ -153,7 +153,7 @@ protected function assertUpgradePaths(WebAssert $session, array $available_paths
* Gets the missing upgrade paths.
*
* @return string[]
- * An array of missing upgrade paths.
+ * An array of source modules names that will not upgraded.
*/
abstract protected function getMissingPaths();
diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/MultilingualReviewPageTestBase.php b/core/modules/migrate_drupal_ui/tests/src/Functional/MultilingualReviewPageTestBase.php
index b9f11b20e3..10e2395974 100644
--- a/core/modules/migrate_drupal_ui/tests/src/Functional/MultilingualReviewPageTestBase.php
+++ b/core/modules/migrate_drupal_ui/tests/src/Functional/MultilingualReviewPageTestBase.php
@@ -69,9 +69,10 @@ public function testMigrateUpgradeReviewPage() {
$this->assertUpgradePaths($session, $available_paths, $missing_paths);
// Check there are no errors when a module does not have any migrations and
- // does not need any. Test with a module that is was in both Drupal 6 and
+ // does not need any. Test with a module that was in both Drupal 6 and
// Drupal 7 core.
$module = 'help';
+ $module_name = 'Help';
$query = $this->sourceDatabase->delete('system');
$query->condition('type', 'module');
$query->condition('name', $module);
@@ -86,7 +87,7 @@ public function testMigrateUpgradeReviewPage() {
// Test the upgrade paths. First remove the module from the available paths
// list.
$available_paths = $this->getAvailablePaths();
- $available_paths = array_diff($available_paths, [$module]);
+ $available_paths = array_diff($available_paths, [$module_name]);
$missing_paths = $this->getMissingPaths();
$this->assertUpgradePaths($session, $available_paths, $missing_paths);
}
diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MultilingualReviewPageTest.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MultilingualReviewPageTest.php
index ea7c6bac6f..69bc61d439 100644
--- a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MultilingualReviewPageTest.php
+++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MultilingualReviewPageTest.php
@@ -60,83 +60,82 @@ protected function getSourceBasePath() {
*/
protected function getAvailablePaths() {
return [
- // Aggregator is set not_finished in migrate_sate_not_finished_test.
- 'aggregator',
- 'blog',
- 'blogapi',
- 'book',
- 'calendarsignup',
- 'color',
- 'comment',
- 'contact',
- 'content',
- 'content_copy',
- 'content_multigroup',
- 'content_permissions',
- 'date',
- 'date_api',
- 'date_locale',
- 'date_php4',
- 'date_popup',
- 'date_repeat',
- 'date_timezone',
- 'date_tools',
- 'datepicker',
- 'dblog',
- 'ddblock',
- 'email',
- 'event',
- 'fieldgroup',
- 'filefield',
- 'filefield_meta',
- 'filter',
- 'forum',
- 'help',
- 'i18nblocks',
- 'i18ncontent',
- 'i18nmenu',
- 'i18npoll',
- 'i18nprofile',
- 'i18nsync',
- 'imageapi',
- 'imageapi_gd',
- 'imageapi_imagemagick',
- 'imagecache',
- 'imagecache_ui',
- 'imagefield',
- 'jquery_ui',
- 'link',
- 'menu',
- 'node',
- 'nodeaccess',
- 'nodereference',
- 'number',
- 'openid',
- 'optionwidgets',
- 'path',
- 'phone',
- 'php',
- 'ping',
- 'poll',
- 'profile',
- 'search',
- 'statistics',
- 'syslog',
- 'system',
- 'taxonomy',
- 'text',
- 'throttle',
- 'tracker',
- 'translation',
- 'trigger',
- 'update',
- 'upload',
- 'user',
- 'userreference',
- 'variable',
- 'variable_admin',
- 'views_export',
- 'views_ui',
+ 'Aggregator',
+ 'Block translation',
+ 'Blog',
+ 'Blog API',
+ 'Book',
+ 'Calendar Signup',
+ 'Color',
+ 'Comment',
+ 'Contact',
+ 'Content',
+ 'Content Copy',
+ 'Content Multigroup',
+ 'Content Permissions',
+ 'Content translation',
+ 'Content type translation',
+ 'Database logging',
+ 'Date',
+ 'Date API',
+ 'Date Locale',
+ 'Date PHP4',
+ 'Date Picker',
+ 'Date Popup',
+ 'Date Repeat API',
+ 'Date Timezone',
+ 'Date Tools',
+ 'Dynamic display block',
+ 'Email',
+ 'Event',
+ 'Fieldgroup',
+ 'FileField',
+ 'FileField Meta',
+ 'Filter',
+ 'Forum',
+ 'Help',
+ 'ImageAPI',
+ 'ImageAPI GD2',
+ 'ImageAPI ImageMagick',
+ 'ImageCache',
+ 'ImageCache UI',
+ 'ImageField',
+ 'Link',
+ 'Menu',
+ 'Menu translation',
+ 'Node',
+ 'Node Reference',
+ 'Nodeaccess',
+ 'Number',
+ 'OpenID',
+ 'Option Widgets',
+ 'PHP filter',
+ 'Path',
+ 'Phone - CCK',
+ 'Ping',
+ 'Poll',
+ 'Poll aggregate',
+ 'Profile',
+ 'Profile translation',
+ 'Search',
+ 'Statistics',
+ 'Synchronize translations',
+ 'Syslog',
+ 'System',
+ 'Taxonomy',
+ 'Text',
+ 'Throttle',
+ 'Tracker',
+ 'Trigger',
+ 'Update status',
+ 'Upload',
+ 'User',
+ 'User Reference',
+ 'Variable API',
+ 'Variable admin',
+ 'Views UI',
+ 'Views exporter',
+ 'jQuery UI',
];
}
@@ -145,19 +144,19 @@ protected function getAvailablePaths() {
*/
protected function getMissingPaths() {
return [
- // Block is set not_finished in migrate_sate_not_finished_test.
- 'block',
- 'devel',
- 'devel_generate',
- 'devel_node_access',
- 'i18n',
- 'i18ncck',
- 'i18nstrings',
- 'i18ntaxonomy',
- 'i18nviews',
- 'locale',
+ // Block is set not_finished in migrate_state_not_finished_test.
+ 'Block',
+ 'CCK translation',
+ 'Devel',
+ 'Devel generate',
+ 'Devel node access',
+ 'Internationalization',
+ 'Locale',
+ 'String translation',
+ 'Taxonomy translation',
+ 'Views',
+ 'Views translation',
'migrate_status_active_test',
- 'views',
];
}
diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/NoMultilingualReviewPageTest.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/NoMultilingualReviewPageTest.php
index 469a73ca89..9343bbad2f 100644
--- a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/NoMultilingualReviewPageTest.php
+++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/NoMultilingualReviewPageTest.php
@@ -57,77 +57,77 @@ protected function getSourceBasePath() {
*/
protected function getAvailablePaths() {
return [
- 'aggregator',
- 'blog',
- 'blogapi',
- 'book',
- 'calendarsignup',
- 'color',
- 'comment',
- 'contact',
- 'content',
- 'content_copy',
- 'content_multigroup',
- 'content_permissions',
- 'date',
- 'date_api',
- 'date_locale',
- 'date_php4',
- 'date_popup',
- 'date_repeat',
- 'date_timezone',
- 'date_tools',
- 'datepicker',
- 'dblog',
- 'ddblock',
- 'email',
- 'event',
- 'fieldgroup',
- 'filefield',
- 'filefield_meta',
- 'filter',
- 'forum',
- 'help',
- 'imageapi',
- 'imageapi_gd',
- 'imageapi_imagemagick',
- 'imagecache',
- 'imagecache_ui',
- 'imagefield',
- 'jquery_ui',
- 'link',
- 'locale',
- 'menu',
- 'node',
- 'nodeaccess',
- 'nodereference',
- 'number',
- 'openid',
- 'optionwidgets',
- 'path',
- 'phone',
- 'php',
- 'ping',
- 'poll',
- 'profile',
- 'search',
- 'statistics',
- 'syslog',
- 'system',
- 'taxonomy',
- 'text',
- 'throttle',
- 'tracker',
- 'translation',
- 'trigger',
- 'update',
- 'upload',
- 'user',
- 'userreference',
- 'variable',
- 'variable_admin',
- 'views_export',
- 'views_ui',
+ 'Aggregator',
+ 'Blog',
+ 'Blog API',
+ 'Book',
+ 'Calendar Signup',
+ 'Color',
+ 'Comment',
+ 'Contact',
+ 'Content',
+ 'Content Copy',
+ 'Content Multigroup',
+ 'Content Permissions',
+ 'Content translation',
+ 'Database logging',
+ 'Date',
+ 'Date API',
+ 'Date Locale',
+ 'Date PHP4',
+ 'Date Picker',
+ 'Date Popup',
+ 'Date Repeat API',
+ 'Date Timezone',
+ 'Date Tools',
+ 'Dynamic display block',
+ 'Email',
+ 'Event',
+ 'Fieldgroup',
+ 'FileField',
+ 'FileField Meta',
+ 'Filter',
+ 'Forum',
+ 'Help',
+ 'ImageAPI',
+ 'ImageAPI GD2',
+ 'ImageAPI ImageMagick',
+ 'ImageCache',
+ 'ImageCache UI',
+ 'ImageField',
+ 'Link',
+ 'Locale',
+ 'Menu',
+ 'Node',
+ 'Nodeaccess',
+ 'Node Reference',
+ 'Number',
+ 'OpenID',
+ 'Option Widgets',
+ 'PHP filter',
+ 'Path',
+ 'Phone - CCK',
+ 'Ping',
+ 'Poll',
+ 'Profile',
+ 'Search',
+ 'Statistics',
+ 'Syslog',
+ 'System',
+ 'Taxonomy',
+ 'Text',
+ 'Throttle',
+ 'Tracker',
+ 'Trigger',
+ 'Update status',
+ 'Upload',
+ 'User',
+ 'User Reference',
+ 'Variable API',
+ 'Variable admin',
+ 'Views UI',
+ 'Views exporter',
+ 'jQuery UI',
];
}
@@ -144,23 +144,23 @@ protected function getIncompletePaths() {
protected function getMissingPaths() {
return [
// Block is set not_finished in migrate_state_not_finished_test.
- 'block',
- 'devel',
- 'devel_generate',
- 'devel_node_access',
- 'i18n',
- 'i18nblocks',
- 'i18ncck',
- 'i18ncontent',
- 'i18nmenu',
- 'i18npoll',
- 'i18nprofile',
- 'i18nstrings',
- 'i18nsync',
- 'i18ntaxonomy',
- 'i18nviews',
+ 'Block',
+ 'Block translation',
+ 'CCK translation',
+ 'Content type translation',
+ 'Devel',
+ 'Devel generate',
+ 'Devel node access',
+ 'Internationalization',
+ 'Menu translation',
'migrate_status_active_test',
- 'views',
+ 'Poll aggregate',
+ 'Profile translation',
+ 'String translation',
+ 'Synchronize translations',
+ 'Taxonomy translation',
+ 'Views',
+ 'Views translation',
];
}
diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/Upgrade6Test.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/Upgrade6Test.php
index 7d8822d5d1..81c6fca3f7 100644
--- a/core/modules/migrate_drupal_ui/tests/src/Functional/d6/Upgrade6Test.php
+++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/Upgrade6Test.php
@@ -141,48 +141,48 @@ protected function getEntityCountsIncremental() {
*/
protected function getAvailablePaths() {
return [
- 'aggregator',
- 'block',
- 'book',
- 'comment',
- 'contact',
- 'content',
- 'date',
- 'email',
- 'filefield',
- 'filter',
- 'forum',
- 'i18nblocks',
- 'i18ncontent',
- 'i18nmenu',
- 'i18nprofile',
- 'i18nsync',
- 'imagecache',
- 'imagefield',
- 'menu',
- 'node',
- 'nodereference',
- 'optionwidgets',
- 'path',
- 'search',
- 'statistics',
- 'system',
- 'taxonomy',
- 'text',
- 'translation',
- 'upload',
- 'user',
- 'userreference',
+ 'Aggregator',
+ 'Block',
+ 'Block translation',
+ 'Book',
+ 'Comment',
+ 'Contact',
+ 'Content',
+ 'Content translation',
+ 'Content type translation',
+ 'Date',
+ 'Email',
+ 'FileField',
+ 'Filter',
+ 'Forum',
+ 'ImageCache',
+ 'ImageField',
+ 'Menu',
+ 'Menu translation',
+ 'Node',
+ 'Node Reference',
+ 'Option Widgets',
+ 'Path',
+ 'Profile translation',
+ 'Search',
+ 'Statistics',
+ 'Synchronize translations',
+ 'System',
+ 'Taxonomy',
+ 'Text',
+ 'Upload',
+ 'User',
+ 'User Reference',
// Include modules that do not have an upgrade path and are enabled in the
// source database'.
- 'date_api',
- 'date_timezone',
- 'event',
- 'imageapi',
- 'number',
- 'php',
- 'profile',
- 'variable_admin',
+ 'Date API',
+ 'Date Timezone',
+ 'Event',
+ 'ImageAPI',
+ 'Number',
+ 'PHP filter',
+ 'Profile',
+ 'Variable admin',
];
}
@@ -191,11 +191,11 @@ protected function getAvailablePaths() {
*/
protected function getMissingPaths() {
return [
- 'i18n',
- 'i18ncck',
- 'i18nstrings',
- 'i18ntaxonomy',
- 'locale',
+ 'CCK translation',
+ 'Internationalization',
+ 'Locale',
+ 'String translation',
+ 'Taxonomy translation',
];
}
diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MultilingualReviewPageTest.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MultilingualReviewPageTest.php
index ca1944c1e7..9628f33968 100644
--- a/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MultilingualReviewPageTest.php
+++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/MultilingualReviewPageTest.php
@@ -57,83 +57,83 @@ protected function getSourceBasePath() {
*/
protected function getAvailablePaths() {
return [
- 'blog',
- 'book',
- 'bulk_export',
- 'color',
- 'comment',
- 'contact',
- 'contextual',
- 'ctools',
- 'ctools_access_ruleset',
- 'ctools_ajax_sample',
- 'ctools_custom_content',
- 'dashboard',
- 'date',
- 'date_api',
- 'date_all_day',
- 'date_context',
- 'date_migrate',
- 'date_popup',
- 'date_repeat',
- 'date_repeat_field',
- 'date_tools',
- 'date_views',
- 'dblog',
- 'email',
- 'entity',
- 'entity_feature',
- 'entity_token',
- 'entity_translation',
- 'entityreference',
- 'field',
- 'field_sql_storage',
- 'field_ui',
- 'file',
- 'filter',
- 'forum',
- 'help',
- 'i18n_block',
- 'i18n_sync',
- 'image',
- 'link',
- 'list',
- 'locale',
- 'menu',
- 'number',
- 'node',
- 'openid',
- 'options',
- 'overlay',
- 'page_manager',
- 'path',
- 'phone',
- 'php',
- 'poll',
- 'profile',
- 'rdf',
- 'search',
- 'search_embedded_form',
- 'search_extra_type',
- 'search_node_tags',
- 'shortcut',
- 'simpletest',
- 'statistics',
- 'stylizer',
- 'syslog',
- 'system',
- 'taxonomy',
- 'term_depth',
- 'text',
- 'title',
- 'toolbar',
- 'tracker',
- 'translation',
- 'trigger',
- 'update',
- 'user',
- 'views_content',
- 'views_ui',
+ 'Block languages',
+ 'Blog',
+ 'Book',
+ 'Bulk Export',
+ 'Chaos tools',
+ 'Chaos Tools (CTools) AJAX Example',
+ 'Color',
+ 'Comment',
+ 'Contact',
+ 'Content translation',
+ 'Contextual links',
+ 'Custom content panes',
+ 'Custom rulesets',
+ 'Dashboard',
+ 'Database logging',
+ 'Date',
+ 'Date API',
+ 'Date All Day',
+ 'Date Context',
+ 'Date Migration',
+ 'Date Popup',
+ 'Date Repeat API',
+ 'Date Repeat Field',
+ 'Date Tools',
+ 'Date Views',
+ 'Email',
+ 'Entity API',
+ 'Entity Reference',
+ 'Entity Translation',
+ 'Entity feature module',
+ 'Entity tokens',
+ 'Field',
+ 'Field SQL storage',
+ 'Field UI',
+ 'File',
+ 'Filter',
+ 'Forum',
+ 'Help',
+ 'Image',
+ 'Link',
+ 'List',
+ 'Locale',
+ 'Menu',
+ 'Node',
+ 'Number',
+ 'OpenID',
+ 'Options',
+ 'Overlay',
+ 'PHP filter',
+ 'Page manager',
+ 'Path',
+ 'Phone',
+ 'Poll',
+ 'Profile',
+ 'RDF',
+ 'Search',
+ 'Search embedded form',
+ 'Shortcut',
+ 'Statistics',
+ 'Stylizer',
+ 'Synchronize translations',
+ 'Syslog',
+ 'System',
+ 'Taxonomy',
+ 'Term Depth access',
+ 'Test search node tags',
+ 'Test search type',
+ 'Testing',
+ 'Text',
+ 'Title',
+ 'Toolbar',
+ 'Tracker',
+ 'Trigger',
+ 'Update manager',
+ 'User',
+ 'Views content panes',
+ 'Views UI',
];
}
@@ -142,39 +142,39 @@ protected function getAvailablePaths() {
*/
protected function getMissingPaths() {
return [
- // Action is set not_finished in migrate_sate_not_finished_test.
- // Aggregator is set not_finished in migrate_sate_not_finished_test.
- 'aggregator',
- // Block is set not_finished in migrate_sate_not_finished_test.
- 'block',
- 'breakpoints',
- 'entity_translation_i18n_menu',
- 'entity_translation_upgrade',
+ // Action is set not_finished in migrate_state_not_finished_test.
+ // Aggregator is set not_finished in migrate_state_not_finished_test.
+ 'Aggregator',
+ // Block is set not_finished in migrate_state_not_finished_test.
+ 'Block',
+ 'Breakpoints',
+ 'Contact translation',
+ 'Entity Translation Menu',
+ 'Entity Translation Upgrade',
+ 'Field translation',
// Flexslider_picture is a sub module of Picture module. Only the
// styles from picture are migrated.
- 'flexslider_picture',
- 'i18n',
- 'i18n_contact',
- 'i18n_field',
- 'i18n_forum',
- 'i18n_menu',
- 'i18n_node',
- 'i18n_path',
- 'i18n_redirect',
- 'i18n_select',
- 'i18n_string',
- 'i18n_taxonomy',
- 'i18n_translation',
- 'i18n_user',
- 'i18n_variable',
- 'picture',
+ 'FlexSlider Picture',
+ 'Internationalization',
+ 'Menu translation',
+ 'Multilingual content',
+ 'Multilingual forum',
+ 'Multilingual select',
+ 'Path translation',
+ 'Picture',
+ 'String translation',
+ 'Taxonomy translation',
+ 'Translation redirect',
+ 'Translation sets',
+ 'User mail translation',
+ 'Variable',
+ 'Variable admin',
+ 'Variable realm',
+ 'Variable store',
+ 'Variable translation',
+ 'Variable views',
+ 'Views',
'migrate_status_active_test',
- 'variable',
- 'variable_admin',
- 'variable_realm',
- 'variable_store',
- 'variable_views',
- 'views',
];
}
diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d7/NoMultilingualReviewPageTest.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/NoMultilingualReviewPageTest.php
new file mode 100644
index 0000000000..5892cb7701
--- /dev/null
+++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/NoMultilingualReviewPageTest.php
@@ -0,0 +1,179 @@
+loadFixture(drupal_get_path('module', 'migrate_drupal') . '/tests/fixtures/drupal7.php');
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function getSourceBasePath() {
+ return __DIR__ . '/files';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function getAvailablePaths() {
+ return [
+ 'Aggregator',
+ 'Block',
+ 'Block languages',
+ 'Book',
+ 'Bulk Export',
+ 'Chaos Tools (CTools) AJAX Example',
+ 'Chaos tools',
+ 'Color',
+ 'Comment',
+ 'Contact',
+ 'Custom content panes',
+ 'Custom rulesets',
+ 'Dashboard',
+ 'Database logging',
+ 'Date',
+ 'Date All Day',
+ 'Date Context',
+ 'Date Migration',
+ 'Date Popup',
+ 'Date Repeat API',
+ 'Date Repeat Field',
+ 'Date Tools',
+ 'Date Views',
+ 'Email',
+ 'Entity Reference',
+ 'Entity Translation',
+ 'Entity feature module',
+ 'Entity tokens',
+ 'Field',
+ 'Field SQL storage',
+ 'File',
+ 'Filter',
+ 'Forum',
+ 'Image',
+ 'Link',
+ 'List',
+ 'Menu',
+ 'Node',
+ 'Number',
+ 'OpenID',
+ 'Options',
+ 'Overlay',
+ 'Page manager',
+ 'Path',
+ 'Phone',
+ 'Poll',
+ 'Profile',
+ 'RDF',
+ 'Search',
+ 'Search embedded form',
+ 'Shortcut',
+ 'Statistics',
+ 'Stylizer',
+ 'Synchronize translations',
+ 'System',
+ 'Taxonomy',
+ 'Term Depth access',
+ 'Test search node tags',
+ 'Test search type',
+ 'Text',
+ 'Title',
+ 'User',
+ 'Variable translation',
+ 'Views UI',
+ 'Views content panes',
+ // Include modules that do not have an upgrade path and are enabled in the
+ // source database.
+ 'Blog',
+ 'Content translation',
+ 'Contextual links',
+ 'Date API',
+ 'Entity API',
+ 'Field UI',
+ 'Help',
+ 'PHP filter',
+ 'Testing',
+ 'Toolbar',
+ 'Trigger',
+ ];
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function getIncompletePaths() {
+ return [];
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function getMissingPaths() {
+ return [
+ 'Breakpoints',
+ 'Contact translation',
+ 'Entity Translation Menu',
+ 'Entity Translation Upgrade',
+ 'Field translation',
+ 'FlexSlider Picture',
+ 'Internationalization',
+ 'Locale',
+ 'Menu translation',
+ 'Multilingual content',
+ 'Multilingual forum',
+ 'Multilingual select',
+ 'Path translation',
+ 'Picture',
+ 'String translation',
+ 'Taxonomy translation',
+ 'Translation redirect',
+ 'Translation sets',
+ 'User mail translation',
+ 'Variable',
+ 'Variable admin',
+ 'Variable realm',
+ 'Variable store',
+ 'Variable views',
+ 'Views',
+ 'migrate_status_active_test',
+ // These modules are in the missing path list because they are installed
+ // on the source site but they are not installed on the destination site.
+ 'Syslog',
+ 'Tracker',
+ 'Update manager',
+ ];
+ }
+
+}
diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/d7/Upgrade7Test.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/Upgrade7Test.php
index 2f7072f94e..8925a9e3b1 100644
--- a/core/modules/migrate_drupal_ui/tests/src/Functional/d7/Upgrade7Test.php
+++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d7/Upgrade7Test.php
@@ -140,57 +140,57 @@ protected function getEntityCountsIncremental() {
*/
protected function getAvailablePaths() {
return [
- 'aggregator',
- 'block',
- 'book',
- 'color',
- 'comment',
- 'contact',
- 'ctools',
- 'date',
- 'dblog',
- 'email',
- 'entity_translation',
- 'entityreference',
- 'field',
- 'field_sql_storage',
- 'file',
- 'filter',
- 'forum',
- 'i18n_block',
- 'i18n_sync',
- 'i18n_variable',
- 'image',
- 'link',
- 'list',
- 'menu',
- 'node',
- 'number',
- 'options',
- 'path',
- 'phone',
- 'rdf',
- 'search',
- 'shortcut',
- 'statistics',
- 'system',
- 'taxonomy',
- 'text',
- 'title',
- 'user',
+ 'Aggregator',
+ 'Block languages',
+ 'Block',
+ 'Book',
+ 'Chaos tools',
+ 'Color',
+ 'Comment',
+ 'Contact',
+ 'Content translation',
+ 'Database logging',
+ 'Date',
+ 'Email',
+ 'Entity Reference',
+ 'Entity Translation',
+ 'Field SQL storage',
+ 'Field',
+ 'File',
+ 'Filter',
+ 'Forum',
+ 'Image',
+ 'Link',
+ 'List',
+ 'Menu',
+ 'Node',
+ 'Number',
+ 'Options',
+ 'Path',
+ 'Phone',
+ 'RDF',
+ 'Search',
+ 'Shortcut',
+ 'Statistics',
+ 'Synchronize translations',
+ 'System',
+ 'Taxonomy',
+ 'Text',
+ 'Title',
+ 'User',
+ 'Variable translation',
// Include modules that do not have an upgrade path and are enabled in the
// source database.
- 'blog',
- 'contextual',
- 'date_api',
- 'entity',
- 'field_ui',
- 'help',
- 'php',
- 'simpletest',
- 'toolbar',
- 'translation',
- 'trigger',
+ 'Blog',
+ 'Contextual links',
+ 'Date API',
+ 'Entity API',
+ 'Field UI',
+ 'Help',
+ 'PHP filter',
+ 'Testing',
+ 'Toolbar',
+ 'Trigger',
];
}
@@ -199,21 +199,21 @@ protected function getAvailablePaths() {
*/
protected function getMissingPaths() {
return [
- 'i18n',
- 'i18n_field',
- 'i18n_string',
- 'i18n_menu',
- 'i18n_taxonomy',
- 'i18n_translation',
- 'locale',
- 'variable',
- 'variable_realm',
- 'variable_store',
+ 'Field translation',
+ 'Internationalization',
+ 'Locale',
+ 'Menu translation',
+ 'String translation',
+ 'Taxonomy translation',
+ 'Translation sets',
+ 'Variable realm',
+ 'Variable store',
+ 'Variable',
// These modules are in the missing path list because they are installed
// on the source site but they are not installed on the destination site.
- 'syslog',
- 'tracker',
- 'update',
+ 'Syslog',
+ 'Tracker',
+ 'Update manager',
];
}