You are here

public function LocaleImportFunctionalTest::testEmptyMsgstr in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/locale/tests/src/Functional/LocaleImportFunctionalTest.php \Drupal\Tests\locale\Functional\LocaleImportFunctionalTest::testEmptyMsgstr()

Tests empty msgstr at end of .po file see #611786.

File

core/modules/locale/tests/src/Functional/LocaleImportFunctionalTest.php, line 271

Class

LocaleImportFunctionalTest
Tests the import of locale files.

Namespace

Drupal\Tests\locale\Functional

Code

public function testEmptyMsgstr() {
  $langcode = 'hu';

  // Try importing a .po file.
  $this
    ->importPoFile($this
    ->getPoFileWithMsgstr(), [
    'langcode' => $langcode,
  ]);
  $this
    ->assertSession()
    ->pageTextContains("One translation file imported. 1 translations were added, 0 translations were updated and 0 translations were removed.");
  $this
    ->assertSame('Műveletek', (string) t('Operations', [], [
    'langcode' => $langcode,
  ]), 'String imported and translated.');

  // Try importing a .po file.
  $this
    ->importPoFile($this
    ->getPoFileWithEmptyMsgstr(), [
    'langcode' => $langcode,
    'overwrite_options[not_customized]' => TRUE,
  ]);
  $this
    ->assertSession()
    ->pageTextContains("One translation file imported. 0 translations were added, 0 translations were updated and 1 translations were removed.");
  $str = "Operations";
  $search = [
    'string' => $str,
    'langcode' => $langcode,
    'translation' => 'untranslated',
  ];

  // Check that search finds the string as untranslated.
  $this
    ->drupalGet('admin/config/regional/translate');
  $this
    ->submitForm($search, 'Filter');
  $this
    ->assertSession()
    ->pageTextContains($str);
}