You are here

public function LocaleTranslationDownloadTest::testUpdateImportSourceRemote in Drupal 9

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

Tests translation download from remote sources.

File

core/modules/locale/tests/src/Functional/LocaleTranslationDownloadTest.php, line 48

Class

LocaleTranslationDownloadTest
Tests locale translation download.

Namespace

Drupal\Tests\locale\Functional

Code

public function testUpdateImportSourceRemote() {

  // Provide remote and 'previously' downloaded translation file.
  $this
    ->setTranslationFiles();
  vfsStream::create([
    'contrib_module_one-8.x-1.1.de._po' => '__old_content__',
  ], $this->translationsStream);
  $url = \Drupal::service('url_generator')
    ->generateFromRoute('<front>', [], [
    'absolute' => TRUE,
  ]);
  $uri = $url . PublicStream::basePath() . '/remote/all/contrib_module_one/contrib_module_one-8.x-1.1.de._po';
  $source_file = (object) [
    'uri' => $uri,
  ];
  $result = locale_translation_download_source($source_file, 'translations://');
  $this
    ->assertEquals('translations://contrib_module_one-8.x-1.1.de._po', $result->uri);
  $this
    ->assertFileDoesNotExist('translations://contrib_module_one-8.x-1.1.de_0._po');
  $this
    ->assertFileExists('translations://contrib_module_one-8.x-1.1.de._po');
  $this
    ->assertStringNotContainsString('__old_content__', file_get_contents('translations://contrib_module_one-8.x-1.1.de._po'));
}