diff --git a/core/modules/system/src/Tests/Update/PathAliasUpdateTest.php b/core/modules/system/src/Tests/Update/PathAliasUpdateTest.php index 3da9741..2d84a59 100644 --- a/core/modules/system/src/Tests/Update/PathAliasUpdateTest.php +++ b/core/modules/system/src/Tests/Update/PathAliasUpdateTest.php @@ -35,22 +35,134 @@ public function testUpdate() { if (!$schema->tableExists('url_alias')) { return; } - $this->runUpdates(); - - // A copy of the data from drupal-8.path-alias-lowercase-2075889.php - $data = [ - '/node/add' => '/Content/CREATE', - '/admin/config/search/path/filter' => '/ADMIN/config/FIND/paths', - '/search/user/help' => '/SEARCH/people/HELP', - ]; /** @var \Drupal\Core\Path\AliasStorageInterface $alias_storage */ $alias_storage = \Drupal::service('path.alias_storage'); + // Check that the aliases are mixed case before updating. + foreach ($this-> aliasData() as $source => $path) { + $alias = $alias_storage->load(['source' => $source]); + $this->assertIdentical($path, $alias['alias']); + } + + $this->runUpdates(); + // Check that the mixed case path aliases were converted to all lower case. - foreach ($data as $source => $path) { + foreach ($this-> aliasData() as $source => $path) { $alias = $alias_storage->load(['source' => $source]); $this->assertIdentical(Unicode::strtolower($path), $alias['alias']); } } + /** + * Returns a copy of the data from drupal-8.path-alias-lowercase-2075889.php + * + * @return array + * Keys are route paths and values are aliases. + */ + public function aliasData() { + return [ + '/node/add' => '/Content/CREATE', + '/admin/config/search/path/filter' => '/ADMIN/config/FIND/paths', + '/admin/reports/fields' => '/ALIASprefix/admin/reports/fields', + '/admin/config/media/image-styles' => '/ALIASprefix/admin/config/media/image-styles', + '/admin/structure/menu/add' => '/ALIASprefix/admin/structure/menu/add', + '/admin/structure/menu' => '/ALIASprefix/admin/structure/menu', + '/admin/structure/types' => '/ALIASprefix/admin/structure/types', + '/admin/config/search/pages' => '/ALIASprefix/admin/config/search/pages', + '/admin/config/user-interface/shortcut' => '/ALIASprefix/admin/config/user-interface/shortcut', + '/admin/structure/taxonomy/add' => '/ALIASprefix/admin/structure/taxonomy/add', + '/admin/structure/taxonomy' => '/ALIASprefix/admin/structure/taxonomy', + '/admin/config/people/accounts' => '/ALIASprefix/admin/config/people/accounts', + '/admin/people' => '/ALIASprefix/admin/people', + '/admin/config/people/accounts/fields' => '/ALIASprefix/admin/config/people/accounts/fields', + '/admin/people/roles' => '/ALIASprefix/admin/people/roles', + '/admin/structure/views' => '/ALIASprefix/admin/structure/views', + '/admin/structure/display-modes' => '/ALIASprefix/admin/structure/display-modes', + '/admin/structure/display-modes/form/add' => '/ALIASprefix/admin/structure/display-modes/form/add', + '/admin/structure/display-modes/view/add' => '/ALIASprefix/admin/structure/display-modes/view/add', + '/admin/config/people/accounts/fields/add-field' => '/ALIASprefix/admin/config/people/accounts/fields/add-field', + '/file/progress' => '/ALIASprefix/file/progress', + '/admin/config/content/formats' => '/ALIASprefix/admin/config/content/formats', + '/admin/config/content/formats/add' => '/ALIASprefix/admin/config/content/formats/add', + '/filter/tips' => '/ALIASprefix/filter/tips', + '/admin/help' => '/ALIASprefix/admin/help', + '/history/get_node_read_timestamps' => '/ALIASprefix/history/get_node_read_timestamps', + '/admin/config/media/image-styles/add' => '/ALIASprefix/admin/config/media/image-styles/add', + '/admin/structure/menu/parents' => '/ALIASprefix/admin/structure/menu/parents', + '/admin/reports/status/rebuild' => '/ALIASprefix/admin/reports/status/rebuild', + '/admin/content/node/delete' => '/ALIASprefix/admin/content/node/delete', + '/admin/structure/types/add' => '/ALIASprefix/admin/structure/types/add', + '/admin/config/search/path/add' => '/ALIASprefix/admin/config/search/path/add', + '/admin/config/search/path' => '/ALIASprefix/admin/config/search/path', + '/quickedit/attachments' => '/ALIASprefix/quickedit/attachments', + '/quickedit/metadata' => '/ALIASprefix/quickedit/metadata', + '/search/node/help' => '/ALIASprefix/search/node/help', + '/admin/config/search/pages/reindex' => '/ALIASprefix/admin/config/search/pages/reindex', + '/search' => '/ALIASprefix/search', + '/search/node' => '/ALIASprefix/search/node', + '/search/user' => '/ALIASprefix/search/user', + '/admin/config/user-interface/shortcut/add-set' => '/ALIASprefix/admin/config/user-interface/shortcut/add-set', + '/admin' => '/ALIASprefix/admin', + '/admin/config' => '/ALIASprefix/admin/config', + '/admin/config/content' => '/ALIASprefix/admin/config/content', + '/admin/config/development' => '/ALIASprefix/admin/config/development', + '/admin/config/media' => '/ALIASprefix/admin/config/media', + '/admin/config/regional' => '/ALIASprefix/admin/config/regional', + '/admin/config/search' => '/ALIASprefix/admin/config/search', + '/admin/config/services' => '/ALIASprefix/admin/config/services', + '/admin/config/system' => '/ALIASprefix/admin/config/system', + '/admin/config/user-interface' => '/ALIASprefix/admin/config/user-interface', + '/admin/config/workflow' => '/ALIASprefix/admin/config/workflow', + '/admin/content' => '/ALIASprefix/admin/content', + '/admin/index' => '/ALIASprefix/admin/index', + '/admin/reports' => '/ALIASprefix/admin/reports', + '/admin/structure' => '/ALIASprefix/admin/structure', + '/admin/config/system/cron' => '/ALIASprefix/admin/config/system/cron', + '/admin/config/regional/date-time/formats/add' => '/ALIASprefix/admin/config/regional/date-time/formats/add', + '/admin/config/media/file-system' => '/ALIASprefix/admin/config/media/file-system', + '/admin/config/media/image-toolkit' => '/ALIASprefix/admin/config/media/image-toolkit', + '/admin/config/development/logging' => '/ALIASprefix/admin/config/development/logging', + '/machine_name/transliterate' => '/ALIASprefix/machine_name/transliterate', + '/admin/modules' => '/ALIASprefix/admin/modules', + '/admin/modules/list/confirm' => '/ALIASprefix/admin/modules/list/confirm', + '/admin/modules/uninstall' => '/ALIASprefix/admin/modules/uninstall', + '/admin/modules/uninstall/confirm' => '/ALIASprefix/admin/modules/uninstall/confirm', + '/admin/config/development/performance' => '/ALIASprefix/admin/config/development/performance', + '/admin/reports/status/php' => '/ALIASprefix/admin/reports/status/php', + '/admin/config/regional/settings' => '/ALIASprefix/admin/config/regional/settings', + '/admin/config/services/rss-publishing' => '/ALIASprefix/admin/config/services/rss-publishing', + '/admin/reports/status/run-cron' => '/ALIASprefix/admin/reports/status/run-cron', + '/admin/config/system/site-information' => '/ALIASprefix/admin/config/system/site-information', + '/admin/config/development/maintenance' => '/ALIASprefix/admin/config/development/maintenance', + '/admin/reports/status' => '/ALIASprefix/admin/reports/status', + '/system/temporary' => '/ALIASprefix/system/temporary', + '/admin/appearance' => '/ALIASprefix/admin/appearance', + '/admin/appearance/install' => '/ALIASprefix/admin/appearance/install', + '/admin/appearance/settings' => '/ALIASprefix/admin/appearance/settings', + '/admin/appearance/default' => '/ALIASprefix/admin/appearance/default', + '/admin/appearance/uninstall' => '/ALIASprefix/admin/appearance/uninstall', + '/admin/people/create' => '/ALIASprefix/admin/people/create', + '/admin/config/people' => '/ALIASprefix/admin/config/people', + '/admin/people/permissions' => '/ALIASprefix/admin/people/permissions', + '/user/login' => '/ALIASprefix/user/login', + '/user/logout' => '/ALIASprefix/user/logout', + '/admin/people/cancel' => '/ALIASprefix/admin/people/cancel', + '/user' => '/ALIASprefix/user', + '/user/password' => '/ALIASprefix/user/password', + '/user/register' => '/ALIASprefix/user/register', + '/admin/people/roles/add' => '/ALIASprefix/admin/people/roles/add', + '/admin/structure/block/block-content' => '/ALIASprefix/admin/structure/block/block-content', + '/admin/content/files' => '/ALIASprefix/admin/content/files', + '/rss.xml' => '/ALIASprefix/rss.xml', + '/node' => '/ALIASprefix/node', + '/admin/structure/views/add' => '/ALIASprefix/admin/structure/views/add', + '/admin/views/ajax/autocomplete/tag' => '/ALIASprefix/admin/views/ajax/autocomplete/tag', + '/admin/reports/fields/views-fields' => '/ALIASprefix/admin/reports/fields/views-fields', + '/admin/reports/views-plugins' => '/ALIASprefix/admin/reports/views-plugins', + '/admin/structure/views/settings/advanced' => '/ALIASprefix/admin/structure/views/settings/advanced', + '/admin/structure/views/settings' => '/ALIASprefix/admin/structure/views/settings', + '/search/user/help' => '/SEARCH/people/HELP', + ]; + } + } diff --git a/core/modules/system/tests/fixtures/update/drupal-8.path-alias-lowercase-2075889.php b/core/modules/system/tests/fixtures/update/drupal-8.path-alias-lowercase-2075889.php index b53279d..4f6f8a2 100644 --- a/core/modules/system/tests/fixtures/update/drupal-8.path-alias-lowercase-2075889.php +++ b/core/modules/system/tests/fixtures/update/drupal-8.path-alias-lowercase-2075889.php @@ -14,6 +14,104 @@ $data = [ '/node/add' => '/Content/CREATE', '/admin/config/search/path/filter' => '/ADMIN/config/FIND/paths', + '/admin/reports/fields' => '/ALIASprefix/admin/reports/fields', + '/admin/config/media/image-styles' => '/ALIASprefix/admin/config/media/image-styles', + '/admin/structure/menu/add' => '/ALIASprefix/admin/structure/menu/add', + '/admin/structure/menu' => '/ALIASprefix/admin/structure/menu', + '/admin/structure/types' => '/ALIASprefix/admin/structure/types', + '/admin/config/search/pages' => '/ALIASprefix/admin/config/search/pages', + '/admin/config/user-interface/shortcut' => '/ALIASprefix/admin/config/user-interface/shortcut', + '/admin/structure/taxonomy/add' => '/ALIASprefix/admin/structure/taxonomy/add', + '/admin/structure/taxonomy' => '/ALIASprefix/admin/structure/taxonomy', + '/admin/config/people/accounts' => '/ALIASprefix/admin/config/people/accounts', + '/admin/people' => '/ALIASprefix/admin/people', + '/admin/config/people/accounts/fields' => '/ALIASprefix/admin/config/people/accounts/fields', + '/admin/people/roles' => '/ALIASprefix/admin/people/roles', + '/admin/structure/views' => '/ALIASprefix/admin/structure/views', + '/admin/structure/display-modes' => '/ALIASprefix/admin/structure/display-modes', + '/admin/structure/display-modes/form/add' => '/ALIASprefix/admin/structure/display-modes/form/add', + '/admin/structure/display-modes/view/add' => '/ALIASprefix/admin/structure/display-modes/view/add', + '/admin/config/people/accounts/fields/add-field' => '/ALIASprefix/admin/config/people/accounts/fields/add-field', + '/file/progress' => '/ALIASprefix/file/progress', + '/admin/config/content/formats' => '/ALIASprefix/admin/config/content/formats', + '/admin/config/content/formats/add' => '/ALIASprefix/admin/config/content/formats/add', + '/filter/tips' => '/ALIASprefix/filter/tips', + '/admin/help' => '/ALIASprefix/admin/help', + '/history/get_node_read_timestamps' => '/ALIASprefix/history/get_node_read_timestamps', + '/admin/config/media/image-styles/add' => '/ALIASprefix/admin/config/media/image-styles/add', + '/admin/structure/menu/parents' => '/ALIASprefix/admin/structure/menu/parents', + '/admin/reports/status/rebuild' => '/ALIASprefix/admin/reports/status/rebuild', + '/admin/content/node/delete' => '/ALIASprefix/admin/content/node/delete', + '/admin/structure/types/add' => '/ALIASprefix/admin/structure/types/add', + '/admin/config/search/path/add' => '/ALIASprefix/admin/config/search/path/add', + '/admin/config/search/path' => '/ALIASprefix/admin/config/search/path', + '/quickedit/attachments' => '/ALIASprefix/quickedit/attachments', + '/quickedit/metadata' => '/ALIASprefix/quickedit/metadata', + '/search/node/help' => '/ALIASprefix/search/node/help', + '/admin/config/search/pages/reindex' => '/ALIASprefix/admin/config/search/pages/reindex', + '/search' => '/ALIASprefix/search', + '/search/node' => '/ALIASprefix/search/node', + '/search/user' => '/ALIASprefix/search/user', + '/admin/config/user-interface/shortcut/add-set' => '/ALIASprefix/admin/config/user-interface/shortcut/add-set', + '/admin' => '/ALIASprefix/admin', + '/admin/config' => '/ALIASprefix/admin/config', + '/admin/config/content' => '/ALIASprefix/admin/config/content', + '/admin/config/development' => '/ALIASprefix/admin/config/development', + '/admin/config/media' => '/ALIASprefix/admin/config/media', + '/admin/config/regional' => '/ALIASprefix/admin/config/regional', + '/admin/config/search' => '/ALIASprefix/admin/config/search', + '/admin/config/services' => '/ALIASprefix/admin/config/services', + '/admin/config/system' => '/ALIASprefix/admin/config/system', + '/admin/config/user-interface' => '/ALIASprefix/admin/config/user-interface', + '/admin/config/workflow' => '/ALIASprefix/admin/config/workflow', + '/admin/content' => '/ALIASprefix/admin/content', + '/admin/index' => '/ALIASprefix/admin/index', + '/admin/reports' => '/ALIASprefix/admin/reports', + '/admin/structure' => '/ALIASprefix/admin/structure', + '/admin/config/system/cron' => '/ALIASprefix/admin/config/system/cron', + '/admin/config/regional/date-time/formats/add' => '/ALIASprefix/admin/config/regional/date-time/formats/add', + '/admin/config/media/file-system' => '/ALIASprefix/admin/config/media/file-system', + '/admin/config/media/image-toolkit' => '/ALIASprefix/admin/config/media/image-toolkit', + '/admin/config/development/logging' => '/ALIASprefix/admin/config/development/logging', + '/machine_name/transliterate' => '/ALIASprefix/machine_name/transliterate', + '/admin/modules' => '/ALIASprefix/admin/modules', + '/admin/modules/list/confirm' => '/ALIASprefix/admin/modules/list/confirm', + '/admin/modules/uninstall' => '/ALIASprefix/admin/modules/uninstall', + '/admin/modules/uninstall/confirm' => '/ALIASprefix/admin/modules/uninstall/confirm', + '/admin/config/development/performance' => '/ALIASprefix/admin/config/development/performance', + '/admin/reports/status/php' => '/ALIASprefix/admin/reports/status/php', + '/admin/config/regional/settings' => '/ALIASprefix/admin/config/regional/settings', + '/admin/config/services/rss-publishing' => '/ALIASprefix/admin/config/services/rss-publishing', + '/admin/reports/status/run-cron' => '/ALIASprefix/admin/reports/status/run-cron', + '/admin/config/system/site-information' => '/ALIASprefix/admin/config/system/site-information', + '/admin/config/development/maintenance' => '/ALIASprefix/admin/config/development/maintenance', + '/admin/reports/status' => '/ALIASprefix/admin/reports/status', + '/system/temporary' => '/ALIASprefix/system/temporary', + '/admin/appearance' => '/ALIASprefix/admin/appearance', + '/admin/appearance/install' => '/ALIASprefix/admin/appearance/install', + '/admin/appearance/settings' => '/ALIASprefix/admin/appearance/settings', + '/admin/appearance/default' => '/ALIASprefix/admin/appearance/default', + '/admin/appearance/uninstall' => '/ALIASprefix/admin/appearance/uninstall', + '/admin/people/create' => '/ALIASprefix/admin/people/create', + '/admin/config/people' => '/ALIASprefix/admin/config/people', + '/admin/people/permissions' => '/ALIASprefix/admin/people/permissions', + '/user/login' => '/ALIASprefix/user/login', + '/user/logout' => '/ALIASprefix/user/logout', + '/admin/people/cancel' => '/ALIASprefix/admin/people/cancel', + '/user' => '/ALIASprefix/user', + '/user/password' => '/ALIASprefix/user/password', + '/user/register' => '/ALIASprefix/user/register', + '/admin/people/roles/add' => '/ALIASprefix/admin/people/roles/add', + '/admin/structure/block/block-content' => '/ALIASprefix/admin/structure/block/block-content', + '/admin/content/files' => '/ALIASprefix/admin/content/files', + '/rss.xml' => '/ALIASprefix/rss.xml', + '/node' => '/ALIASprefix/node', + '/admin/structure/views/add' => '/ALIASprefix/admin/structure/views/add', + '/admin/views/ajax/autocomplete/tag' => '/ALIASprefix/admin/views/ajax/autocomplete/tag', + '/admin/reports/fields/views-fields' => '/ALIASprefix/admin/reports/fields/views-fields', + '/admin/reports/views-plugins' => '/ALIASprefix/admin/reports/views-plugins', + '/admin/structure/views/settings/advanced' => '/ALIASprefix/admin/structure/views/settings/advanced', + '/admin/structure/views/settings' => '/ALIASprefix/admin/structure/views/settings', '/search/user/help' => '/SEARCH/people/HELP', ];