* Tests the migration with prefix negotiation.
*/
public function testLanguageNegotiationWithPrefix() {
+ $this->sourceDatabase->update('languages')
+ ->fields(['domain' => ''])
+ ->execute();
+
$this->executeMigrations([
'language',
'd7_language_negotiation_settings',
$this->assertSame('site_default', $config->get('selected_langcode'));
$expected_prefixes = [
'en' => '',
+ 'fr' => 'fr',
'is' => 'is',
];
$this->assertSame($expected_prefixes, $config->get('url.prefixes'));
+
+ // If prefix negotiation is used, make sure that no domains are migrated.
+ // Otherwise there will be validation errors when trying to save URL
+ // language detection configuration from the UI.
+ $expected_domains = [
+ 'en' => '',
+ 'fr' => '',
+ 'is' => '',
+ ];
+ $this->assertSame($expected_domains, $config->get('url.domains'));
}
/**
$this->assertSame('site_default', $config->get('selected_langcode'));
$expected_domains = [
'en' => parse_url($base_url, PHP_URL_HOST),
+ 'fr' => 'fr.drupal.org',
'is' => 'is.drupal.org',
];
$this->assertSame($expected_domains, $config->get('url.domains'));
$this->assertSame('site_default', $config->get('selected_langcode'));
$expected_prefixes = [
'en' => '',
+ 'fr' => 'fr',
'is' => 'is',
];
$this->assertSame($expected_prefixes, $config->get('url.prefixes'));