JavascriptTranslationTestTrait.php in Layout Builder Symmetric Translations 8
File
tests/src/FunctionalJavascript/JavascriptTranslationTestTrait.php
View source
<?php
namespace Drupal\Tests\layout_builder_st\FunctionalJavascript;
trait JavascriptTranslationTestTrait {
protected $usingConfigTranslation = FALSE;
protected function updateBlockTranslation($block_selector, $untranslated_label, $new_label, $expected_label = '', array $unexpected_element_selectors = []) {
$assert_session = $this
->assertSession();
$page = $this
->getSession()
->getPage();
$translation_selector_prefix = $this->usingConfigTranslation ? '#drupal-off-canvas .translation-set ' : '#drupal-off-canvas ';
$this
->clickContextualLink($block_selector, 'Translate block');
$label_input = $assert_session
->waitForElementVisible('css', $translation_selector_prefix . '[name="translation[label]"]');
$this
->assertNotEmpty($label_input);
$this
->assertEquals($expected_label, $label_input
->getValue());
$assert_session
->elementTextContains('css', $translation_selector_prefix . '.form-item-source-label', $untranslated_label);
$label_input
->setValue($new_label);
foreach ($unexpected_element_selectors as $unexpected_element_selector) {
$assert_session
->elementNotExists('css', $unexpected_element_selector);
}
$page
->pressButton('Translate');
$this
->assertNoElementAfterWait('#drupal-off-canvas');
$this
->assertNotEmpty($assert_session
->waitForElementVisible('css', "h2:contains(\"{$new_label}\")"));
}
}