function ModerationLocaleTest::testNewTranslationSourceValues

Same name and namespace in other branches
  1. 9 core/modules/content_moderation/tests/src/Functional/ModerationLocaleTest.php \Drupal\Tests\content_moderation\Functional\ModerationLocaleTest::testNewTranslationSourceValues()
  2. 8.9.x core/modules/content_moderation/tests/src/Functional/ModerationLocaleTest.php \Drupal\Tests\content_moderation\Functional\ModerationLocaleTest::testNewTranslationSourceValues()
  3. 11.x core/modules/content_moderation/tests/src/Functional/ModerationLocaleTest.php \Drupal\Tests\content_moderation\Functional\ModerationLocaleTest::testNewTranslationSourceValues()

Checks that new translation values are populated properly.

File

core/modules/content_moderation/tests/src/Functional/ModerationLocaleTest.php, line 416

Class

ModerationLocaleTest
Test content_moderation functionality with localization and translation.

Namespace

Drupal\Tests\content_moderation\Functional

Code

public function testNewTranslationSourceValues() : void {
  // Create a published article in Italian (revision 1).
  $this->drupalGet('node/add/article');
  $node = $this->submitNodeForm('Test 1.1 IT', 'published', TRUE, 'it');
  $this->assertNotLatestVersionPage($node);
  // Create a new draft (revision 2).
  $this->drupalGet($node->toUrl('edit-form'));
  $this->submitNodeForm('Test 1.2 IT', 'draft', TRUE);
  $this->assertLatestVersionPage($node);
  // Create an English draft (revision 3) and verify that the Italian draft
  // values are used as source values.
  $url = $node->toUrl('drupal:content-translation-add');
  $url->setRouteParameter('source', 'it');
  $url->setRouteParameter('target', 'en');
  $this->drupalGet($url);
  $this->assertSession()
    ->pageTextContains('Test 1.2 IT');
  $this->submitNodeForm('Test 1.3 EN', 'draft');
  $this->assertLatestVersionPage($node);
  // Create a French draft (without saving) and verify that the Italian draft
  // values are used as source values.
  $url->setRouteParameter('target', 'fr');
  $this->drupalGet($url);
  $this->assertSession()
    ->pageTextContains('Test 1.2 IT');
  // Now switch source language and verify that the English draft values are
  // used as source values.
  $url->setRouteParameter('source', 'en');
  $this->drupalGet($url);
  $this->assertSession()
    ->pageTextContains('Test 1.3 EN');
}

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