diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Plugin/migrate/source/d6/Language.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Plugin/migrate/source/d6/Language.php index 4a875ee..e34e60a1 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Plugin/migrate/source/d6/Language.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Plugin/migrate/source/d6/Language.php @@ -33,6 +33,38 @@ public function query() { /** * {@inheritdoc} */ + public function runQuery() { + $languages = array(); + $iterator = parent::runQuery(); + + // As in Drupal 6 we couldn't remove English for real, we add it in case it + // was not there. + $englishWasFound = false; + foreach ($iterator as $language) { + $englishWasFound |= $language['language'] == 'en'; + $languages[] = $language; + } + if (!$englishWasFound) { + $languages[] = array( + 'language' => 'en', + 'name' => 'English', + 'native' => 'English', + 'direction' => 0, + 'enabled' => 1, + 'plurals' => 0, + 'formula' => '($n>1)', + 'domain' => '', + 'prefix' => '', + 'weight' => 100, + 'javascript' => '', + ); + } + return new \ArrayIterator($languages); + } + + /** + * {@inheritdoc} + */ public function fields() { return array( 'language' => t("Language code, e.g. 'de' or 'en-US'."), diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6Language.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6Language.php index ba856bd..e85e370 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6Language.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/Dump/Drupal6Language.php @@ -106,14 +106,14 @@ public function load() { 'javascript', )) ->values(array( - 'language' => 'en', - 'name' => 'English', - 'native' => 'English', + 'language' => 'es', + 'name' => 'Spanish', + 'native' => 'Español', 'direction' => '0', 'enabled' => '1', 'plurals' => '0', 'formula' => '', - 'domain' => 'http://en.example.com', + 'domain' => 'http://es.example.com', 'prefix' => 'en', 'weight' => '0', 'javascript' => '', diff --git a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLanguageTest.php b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLanguageTest.php index 17d0b2f..4cab5bd 100644 --- a/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLanguageTest.php +++ b/core/modules/migrate_drupal/lib/Drupal/migrate_drupal/Tests/d6/MigrateLanguageTest.php @@ -43,12 +43,12 @@ public function setUp() { } function testLanguage() { - $language_en = \Drupal::languageManager()->getLanguage('en'); - $this->assertEqual($language_en->id, 'en'); - $this->assertEqual($language_en->name, 'English'); - $this->assertEqual($language_en->direction, Language::DIRECTION_LTR); - $this->assertEqual($language_en->locked, FALSE); - $this->assertEqual($language_en->weight, 0); + $language_es = \Drupal::languageManager()->getLanguage('es'); + $this->assertEqual($language_es->id, 'es'); + $this->assertEqual($language_es->name, 'Spanish'); + $this->assertEqual($language_es->direction, Language::DIRECTION_LTR); + $this->assertEqual($language_es->locked, FALSE); + $this->assertEqual($language_es->weight, 0); $language_fr = \Drupal::languageManager()->getLanguage('fr'); $this->assertEqual($language_fr->id, 'fr'); @@ -56,6 +56,14 @@ function testLanguage() { $this->assertEqual($language_fr->direction, Language::DIRECTION_LTR); $this->assertEqual($language_fr->locked, FALSE); $this->assertEqual($language_fr->weight, -3); + + // Ensure that English is there even if was not in the language list. + $language_en = \Drupal::languageManager()->getLanguage('en'); + $this->assertEqual($language_en->id, 'en'); + $this->assertEqual($language_en->name, 'English'); + $this->assertEqual($language_en->direction, Language::DIRECTION_LTR); + $this->assertEqual($language_en->locked, FALSE); + $this->assertEqual($language_en->weight, 100); } } diff --git a/core/modules/migrate_drupal/tests/Drupal/migrate_drupal/Tests/source/d6/LanguageSourceTest.php b/core/modules/migrate_drupal/tests/Drupal/migrate_drupal/Tests/source/d6/LanguageSourceTest.php index 975aff4..d0ee581 100644 --- a/core/modules/migrate_drupal/tests/Drupal/migrate_drupal/Tests/source/d6/LanguageSourceTest.php +++ b/core/modules/migrate_drupal/tests/Drupal/migrate_drupal/Tests/source/d6/LanguageSourceTest.php @@ -62,9 +62,9 @@ class LanguageSourceTest extends MigrateSqlSourceTestCase { 'javascript' => '', ), array( - 'language' => 'en', - 'name' => 'English', - 'native' => 'English', + 'language' => 'fr', + 'name' => 'French', + 'native' => 'Français', 'direction' => 0, 'enabled' => 1, 'plurals' => 0, @@ -74,6 +74,18 @@ class LanguageSourceTest extends MigrateSqlSourceTestCase { 'weight' => 0, 'javascript' => '', ), + array( + 'language' => 'en', + 'name' => 'English', + 'native' => 'English', + 'direction' => 0, + 'plurals' => 0, + 'formula' => '($n>1)', + 'domain' => '', + 'prefix' => '', + 'weight' => 100, + 'javascript' => '', + ), ); protected $databaseContents = array( @@ -92,9 +104,9 @@ class LanguageSourceTest extends MigrateSqlSourceTestCase { 'javascript' => '', ), array( - 'language' => 'en', - 'name' => 'English', - 'native' => 'English', + 'language' => 'fr', + 'name' => 'French', + 'native' => 'Français', 'direction' => 0, 'enabled' => 1, 'plurals' => 0,