function LocaleTranslationDownloadTest::testUpdateImportSourceRemote

Same name in other branches
  1. 9 core/modules/locale/tests/src/Functional/LocaleTranslationDownloadTest.php \Drupal\Tests\locale\Functional\LocaleTranslationDownloadTest::testUpdateImportSourceRemote()
  2. 8.9.x core/modules/locale/tests/src/Functional/LocaleTranslationDownloadTest.php \Drupal\Tests\locale\Functional\LocaleTranslationDownloadTest::testUpdateImportSourceRemote()
  3. 10 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 50

Class

LocaleTranslationDownloadTest
Tests locale translation download.

Namespace

Drupal\Tests\locale\Functional

Code

public function testUpdateImportSourceRemote() : void {
    // 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'));
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.