You are here

public function TranslatedViewTest::testTranslatedStrings in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/views_ui/tests/src/Functional/TranslatedViewTest.php \Drupal\Tests\views_ui\Functional\TranslatedViewTest::testTranslatedStrings()
  2. 9 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 67

Class

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

Namespace

Drupal\Tests\views_ui\Functional

Code

public function testTranslatedStrings() {
  $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]');
}