function TranslatedViewTest::testTranslatedStrings

Same name and namespace in other branches
  1. 9 core/modules/views_ui/tests/src/Functional/TranslatedViewTest.php \Drupal\Tests\views_ui\Functional\TranslatedViewTest::testTranslatedStrings()
  2. 8.9.x core/modules/views_ui/tests/src/Functional/TranslatedViewTest.php \Drupal\Tests\views_ui\Functional\TranslatedViewTest::testTranslatedStrings()
  3. 10 core/modules/views_ui/tests/src/Functional/TranslatedViewTest.php \Drupal\Tests\views_ui\Functional\TranslatedViewTest::testTranslatedStrings()

File

core/modules/views_ui/tests/src/Functional/TranslatedViewTest.php, line 76

Class

TranslatedViewTest
Tests that translated strings in views UI don't override original strings.

Namespace

Drupal\Tests\views_ui\Functional

Code

public function testTranslatedStrings() : void {
    $translation_url = 'admin/structure/views/view/files/translate/fr/add';
    $edit_url = 'admin/structure/views/view/files';
    // Check the original string.
    $this->drupalGet($edit_url);
    $this->assertSession()
        ->titleEquals('Files (File) | Drupal');
    // Translate the label of the view.
    $this->drupalGet($translation_url);
    $edit = [
        'translation[config_names][views.view.files][label]' => 'Fichiers',
    ];
    $this->submitForm($edit, 'Save translation');
    // Check if the label is translated.
    $this->drupalGet($edit_url, [
        'language' => \Drupal::languageManager()->getLanguage('fr'),
    ]);
    $this->assertSession()
        ->titleEquals('Files (File) | Drupal');
    $this->assertSession()
        ->pageTextNotContains('Fichiers');
    // Ensure that "Link URL" and "Link Path" fields are translatable.
    // First, Add the block display and change pager's 'link display' to
    // custom URL.
    // Second, change filename to use plain text and rewrite output with link.
    $this->drupalGet($edit_url);
    $this->submitForm([], 'Add Block');
    $this->drupalGet('admin/structure/views/nojs/display/files/block_1/link_display');
    $edit = [
        'link_display' => 'custom_url',
        'link_url' => '/node',
    ];
    $this->submitForm($edit, 'Apply');
    $this->submitForm([], 'Save');
    $this->drupalGet('admin/structure/views/nojs/handler/files/block_1/field/filename');
    $edit = [
        'override[dropdown]' => 'block_1',
        'options[type]' => 'string',
        'options[alter][path]' => '/node',
        'options[alter][make_link]' => 1,
    ];
    $this->submitForm($edit, 'Apply');
    $this->submitForm([], 'Save');
    // Visit the translation page and ensure that field exists.
    $this->drupalGet($translation_url);
    $this->assertSession()
        ->fieldExists('translation[config_names][views.view.files][display][block_1][display_options][fields][filename][alter][path]');
    $this->assertSession()
        ->fieldExists('translation[config_names][views.view.files][display][default][display_options][link_url]');
    // Assert that the View translation link is shown when viewing a display.
    $this->drupalGet($edit_url);
    $this->assertSession()
        ->linkExists('Translate view');
    $this->drupalGet('/admin/structure/views/view/files/edit/block_1');
    $this->assertSession()
        ->linkExists('Translate view');
}

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