function InstallerLanguageTest::testInstallerTranslationFiles

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Installer/InstallerLanguageTest.php \Drupal\KernelTests\Core\Installer\InstallerLanguageTest::testInstallerTranslationFiles()
  2. 10 core/tests/Drupal/KernelTests/Core/Installer/InstallerLanguageTest.php \Drupal\KernelTests\Core\Installer\InstallerLanguageTest::testInstallerTranslationFiles()
  3. 11.x core/tests/Drupal/KernelTests/Core/Installer/InstallerLanguageTest.php \Drupal\KernelTests\Core\Installer\InstallerLanguageTest::testInstallerTranslationFiles()

Tests that the installer can find translation files.

File

core/tests/Drupal/KernelTests/Core/Installer/InstallerLanguageTest.php, line 19

Class

InstallerLanguageTest
Tests for installer language support.

Namespace

Drupal\KernelTests\Core\Installer

Code

public function testInstallerTranslationFiles() {
    // Different translation files would be found depending on which language
    // we are looking for.
    $expected_translation_files = [
        NULL => [
            'drupal-8.0.0-beta2.hu.po',
            'drupal-8.0.0.de.po',
            'drupal-8.0.x.fr-CA.po',
        ],
        'de' => [
            'drupal-8.0.0.de.po',
        ],
        'fr-CA' => [
            'drupal-8.0.x.fr-CA.po',
        ],
        'hu' => [
            'drupal-8.0.0-beta2.hu.po',
        ],
        'it' => [],
    ];
    // Hardcode the fixtures location as we don't yet know where it is.
    // @todo Remove as part of https://www.drupal.org/node/2186491
    $file_translation = new FileTranslation('core/tests/fixtures/files/translations', $this->container
        ->get('file_system'));
    foreach ($expected_translation_files as $langcode => $files_expected) {
        $files_found = $file_translation->findTranslationFiles($langcode);
        $this->assertTrue(count($files_found) == count($files_expected), new FormattableMarkup('@count installer languages found.', [
            '@count' => count($files_expected),
        ]));
        foreach ($files_found as $file) {
            $this->assertContains($file->filename, $files_expected, new FormattableMarkup('@file found.', [
                '@file' => $file->filename,
            ]));
        }
    }
}

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