TokenReplaceWebTest.php

Same filename and directory in other branches
  1. 8.9.x core/modules/system/tests/src/Functional/System/TokenReplaceWebTest.php
  2. 10 core/modules/system/tests/src/Functional/System/TokenReplaceWebTest.php
  3. 11.x core/modules/system/tests/src/Functional/System/TokenReplaceWebTest.php

Namespace

Drupal\Tests\system\Functional\System

File

core/modules/system/tests/src/Functional/System/TokenReplaceWebTest.php

View source
<?php

namespace Drupal\Tests\system\Functional\System;

use Drupal\Core\EventSubscriber\MainContentViewSubscriber;
use Drupal\Tests\BrowserTestBase;
use Drupal\Tests\system\Functional\Cache\AssertPageCacheContextsAndTagsTrait;

/**
 * Tests the token system integration.
 *
 * @group system
 */
class TokenReplaceWebTest extends BrowserTestBase {
    use AssertPageCacheContextsAndTagsTrait;
    
    /**
     * {@inheritdoc}
     */
    protected static $modules = [
        'token_test',
        'filter',
        'node',
    ];
    
    /**
     * {@inheritdoc}
     */
    protected $defaultTheme = 'stark';
    
    /**
     * Tests a token replacement on an actual website.
     */
    public function testTokens() {
        $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',
        ]);
    }

}

Classes

Title Deprecated Summary
TokenReplaceWebTest Tests the token system integration.

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