function TokenReplaceWebTest::testTokens

Same name in other branches
  1. 9 core/modules/system/tests/src/Functional/System/TokenReplaceWebTest.php \Drupal\Tests\system\Functional\System\TokenReplaceWebTest::testTokens()
  2. 8.9.x core/modules/system/tests/src/Functional/System/TokenReplaceWebTest.php \Drupal\Tests\system\Functional\System\TokenReplaceWebTest::testTokens()
  3. 10 core/modules/system/tests/src/Functional/System/TokenReplaceWebTest.php \Drupal\Tests\system\Functional\System\TokenReplaceWebTest::testTokens()

Tests a token replacement on an actual website.

File

core/modules/system/tests/src/Functional/System/TokenReplaceWebTest.php, line 33

Class

TokenReplaceWebTest
Tests the token system integration.

Namespace

Drupal\Tests\system\Functional\System

Code

public function testTokens() : void {
    $node = $this->drupalCreateNode();
    $account = $this->drupalCreateUser();
    $this->drupalLogin($account);
    $this->drupalGet('token-test/' . $node->id());
    $this->assertSession()
        ->pageTextContains("Tokens: {$node->id()} {$account->id()}");
    $this->assertCacheTags([
        'node:1',
        'rendered',
        'user:2',
    ]);
    $this->assertCacheContexts([
        'languages:language_interface',
        'theme',
        'url.query_args:' . MainContentViewSubscriber::WRAPPER_FORMAT,
        'user',
    ]);
    $this->drupalGet('token-test-without-bubbleable-metadata/' . $node->id());
    $this->assertSession()
        ->pageTextContains("Tokens: {$node->id()} {$account->id()}");
    $this->assertCacheTags([
        'node:1',
        'rendered',
        'user:2',
    ]);
    $this->assertCacheContexts([
        'languages:language_interface',
        'theme',
        'url.query_args:' . MainContentViewSubscriber::WRAPPER_FORMAT,
        'user',
    ]);
}

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