class MigrateLanguageNegotiationSettingsTest
Same name in this branch
- 9 core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageNegotiationSettingsTest.php \Drupal\Tests\language\Kernel\Migrate\d7\MigrateLanguageNegotiationSettingsTest
Same name and namespace in other branches
- 10 core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageNegotiationSettingsTest.php \Drupal\Tests\language\Kernel\Migrate\d6\MigrateLanguageNegotiationSettingsTest
- 10 core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageNegotiationSettingsTest.php \Drupal\Tests\language\Kernel\Migrate\d7\MigrateLanguageNegotiationSettingsTest
- 11.x core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageNegotiationSettingsTest.php \Drupal\Tests\language\Kernel\Migrate\d6\MigrateLanguageNegotiationSettingsTest
- 11.x core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageNegotiationSettingsTest.php \Drupal\Tests\language\Kernel\Migrate\d7\MigrateLanguageNegotiationSettingsTest
- 8.9.x core/modules/language/tests/src/Kernel/Migrate/d6/MigrateLanguageNegotiationSettingsTest.php \Drupal\Tests\language\Kernel\Migrate\d6\MigrateLanguageNegotiationSettingsTest
- 8.9.x core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageNegotiationSettingsTest.php \Drupal\Tests\language\Kernel\Migrate\d7\MigrateLanguageNegotiationSettingsTest
Tests the migration of language negotiation and language types.
@group migrate_drupal_6
Hierarchy
- class \Drupal\KernelTests\KernelTestBase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\KernelTests\AssertLegacyTrait, \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\migrate\Kernel\MigrateTestBase implements \Drupal\migrate\MigrateMessageInterface extends \Drupal\KernelTests\KernelTestBase
- class \Drupal\Tests\migrate_drupal\Kernel\MigrateDrupalTestBase extends \Drupal\Tests\migrate\Kernel\MigrateTestBase
- class \Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase uses \Drupal\Tests\migrate_drupal\Traits\NodeMigrateTypeTestTrait extends \Drupal\Tests\migrate_drupal\Kernel\MigrateDrupalTestBase
- class \Drupal\Tests\language\Kernel\Migrate\d6\MigrateLanguageNegotiationSettingsTest extends \Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase
- class \Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase uses \Drupal\Tests\migrate_drupal\Traits\NodeMigrateTypeTestTrait extends \Drupal\Tests\migrate_drupal\Kernel\MigrateDrupalTestBase
- class \Drupal\Tests\migrate_drupal\Kernel\MigrateDrupalTestBase extends \Drupal\Tests\migrate\Kernel\MigrateTestBase
- class \Drupal\Tests\migrate\Kernel\MigrateTestBase implements \Drupal\migrate\MigrateMessageInterface extends \Drupal\KernelTests\KernelTestBase
Expanded class hierarchy of MigrateLanguageNegotiationSettingsTest
File
-
core/
modules/ language/ tests/ src/ Kernel/ Migrate/ d6/ MigrateLanguageNegotiationSettingsTest.php, line 13
Namespace
Drupal\Tests\language\Kernel\Migrate\d6View source
class MigrateLanguageNegotiationSettingsTest extends MigrateDrupal6TestBase {
/**
* {@inheritdoc}
*/
protected static $modules = [
'language',
];
/**
* Tests the migration with LANGUAGE_NEGOTIATION_PATH_DEFAULT.
*/
public function testLanguageNegotiationWithDefaultPathPrefix() {
$this->executeMigrations([
'language',
'd6_language_negotiation_settings',
'language_prefixes_and_domains',
'd6_language_types',
]);
$config = $this->config('language.negotiation');
$this->assertSame('language', $config->get('session.parameter'));
$this->assertSame(LanguageNegotiationUrl::CONFIG_PATH_PREFIX, $config->get('url.source'));
$this->assertSame('site_default', $config->get('selected_langcode'));
$expected_prefixes = [
'en' => '',
'fr' => 'fr',
'zu' => 'zu',
];
$this->assertSame($expected_prefixes, $config->get('url.prefixes'));
$config = $this->config('language.types');
$this->assertSame([
'language_interface',
'language_content',
'language_url',
], $config->get('all'));
$this->assertSame([
'language_interface',
], $config->get('configurable'));
$this->assertSame([
'language-interface' => 0,
], $config->get('negotiation.language_content.enabled'));
$this->assertSame([
'language-url' => 0,
'language-url-fallback' => 1,
], $config->get('negotiation.language_url.enabled'));
$expected_language_interface = [
'language-url' => 0,
'language-selected' => 1,
];
$this->assertSame($expected_language_interface, $config->get('negotiation.language_interface.enabled'));
}
/**
* Tests the migration with LANGUAGE_NEGOTIATION_NONE.
*/
public function testLanguageNegotiationWithNoNegotiation() {
$this->sourceDatabase
->update('variable')
->fields([
'value' => serialize(0),
])
->condition('name', 'language_negotiation')
->execute();
$this->executeMigrations([
'language',
'd6_language_negotiation_settings',
'language_prefixes_and_domains',
'd6_language_types',
]);
$config = $this->config('language.negotiation');
$this->assertSame('language', $config->get('session.parameter'));
$this->assertSame(LanguageNegotiationUrl::CONFIG_PATH_PREFIX, $config->get('url.source'));
$this->assertSame('site_default', $config->get('selected_langcode'));
$config = $this->config('language.types');
$this->assertSame([
'language_interface',
'language_content',
'language_url',
], $config->get('all'));
$this->assertSame([
'language_interface',
], $config->get('configurable'));
$this->assertSame([
'language-interface' => 0,
], $config->get('negotiation.language_content.enabled'));
$this->assertSame([
'language-url' => 0,
'language-url-fallback' => 1,
], $config->get('negotiation.language_url.enabled'));
$expected_language_interface = [
'language-selected' => 0,
];
$this->assertSame($expected_language_interface, $config->get('negotiation.language_interface.enabled'));
}
/**
* Tests the migration with LANGUAGE_NEGOTIATION_PATH.
*/
public function testLanguageNegotiationWithPathPrefix() {
$this->sourceDatabase
->update('variable')
->fields([
'value' => serialize(2),
])
->condition('name', 'language_negotiation')
->execute();
$this->executeMigrations([
'language',
'd6_language_negotiation_settings',
'language_prefixes_and_domains',
'd6_language_types',
]);
$config = $this->config('language.negotiation');
$this->assertSame('language', $config->get('session.parameter'));
$this->assertSame(LanguageNegotiationUrl::CONFIG_PATH_PREFIX, $config->get('url.source'));
$this->assertSame('site_default', $config->get('selected_langcode'));
$expected_prefixes = [
'en' => '',
'fr' => 'fr',
'zu' => 'zu',
];
$this->assertSame($expected_prefixes, $config->get('url.prefixes'));
$config = $this->config('language.types');
$this->assertSame([
'language_interface',
'language_content',
'language_url',
], $config->get('all'));
$this->assertSame([
'language_interface',
], $config->get('configurable'));
$this->assertSame([
'language-interface' => 0,
], $config->get('negotiation.language_content.enabled'));
$this->assertSame([
'language-url' => 0,
'language-url-fallback' => 1,
], $config->get('negotiation.language_url.enabled'));
$expected_language_interface = [
'language-url' => 0,
'language-user' => 1,
'language-browser' => 2,
'language-selected' => 3,
];
$this->assertSame($expected_language_interface, $config->get('negotiation.language_interface.enabled'));
}
/**
* Tests the migration with LANGUAGE_NEGOTIATION_DOMAIN.
*/
public function testLanguageNegotiationWithDomain() {
$this->sourceDatabase
->update('variable')
->fields([
'value' => serialize(3),
])
->condition('name', 'language_negotiation')
->execute();
$this->executeMigrations([
'language',
'd6_language_negotiation_settings',
'language_prefixes_and_domains',
'd6_language_types',
]);
global $base_url;
$config = $this->config('language.negotiation');
$this->assertSame('language', $config->get('session.parameter'));
$this->assertSame(LanguageNegotiationUrl::CONFIG_DOMAIN, $config->get('url.source'));
$this->assertSame('site_default', $config->get('selected_langcode'));
$expected_domains = [
'en' => parse_url($base_url, PHP_URL_HOST),
'fr' => 'fr.drupal.org',
'zu' => 'zu.drupal.org',
];
$this->assertSame($expected_domains, $config->get('url.domains'));
$config = $this->config('language.types');
$this->assertSame([
'language_interface',
'language_content',
'language_url',
], $config->get('all'));
$this->assertSame([
'language_interface',
], $config->get('configurable'));
$this->assertSame([
'language-interface' => 0,
], $config->get('negotiation.language_content.enabled'));
$this->assertSame([
'language-url' => 0,
'language-url-fallback' => 1,
], $config->get('negotiation.language_url.enabled'));
$expected_language_interface = [
'language-url' => 0,
'language-selected' => 1,
];
$this->assertSame($expected_language_interface, $config->get('negotiation.language_interface.enabled'));
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.