token-8.x-1.x-dev/tests/src/Functional/TokenCurrentPageTest.php
tests/src/Functional/TokenCurrentPageTest.php
<?php namespace Drupal\Tests\token\Functional; use Drupal\Core\Url; /** * Test the [current-page:*] tokens. * * @group token */ class TokenCurrentPageTest extends TokenTestBase { /** * {@inheritdoc} */ protected static $modules = ['node']; function testCurrentPageTokens() { // Cache clear is necessary because the frontpage was already cached by an // initial request. $this->rebuildAll(); $tokens = [ '[current-page:title]' => 'Log in', '[current-page:url]' => Url::fromRoute('user.login', [], ['absolute' => TRUE])->toString(), '[current-page:url:absolute]' => Url::fromRoute('user.login', [], ['absolute' => TRUE])->toString(), '[current-page:url:relative]' => Url::fromRoute('user.login')->toString(), '[current-page:url:path]' => '/user/login', '[current-page:url:args:value:0]' => 'user', '[current-page:url:args:value:1]' => 'login', '[current-page:url:args:value:2]' => NULL, '[current-page:url:unaliased]' => Url::fromRoute('user.login', [], ['absolute' => TRUE, 'alias' => TRUE])->toString(), '[current-page:page-number]' => 1, '[current-page:query:foo]' => NULL, '[current-page:query:bar]' => NULL, // Deprecated tokens '[current-page:arg:0]' => 'user', '[current-page:arg:1]' => 'login', '[current-page:arg:2]' => NULL, ]; $this->assertPageTokens('user/login', $tokens); $this->drupalCreateContentType(['type' => 'page']); $node = $this->drupalCreateNode(['title' => 'Node title', 'path' => ['alias' => '/node-alias']]); $tokens = [ '[current-page:title]' => 'Node title', '[current-page:url]' => $node->toUrl('canonical', ['absolute' => TRUE])->toString(), '[current-page:url:absolute]' => $node->toUrl('canonical', ['absolute' => TRUE])->toString(), '[current-page:url:relative]' => $node->toUrl()->toString(), '[current-page:url:alias]' => '/node-alias', '[current-page:url:args:value:0]' => 'node-alias', '[current-page:url:args:value:1]' => NULL, '[current-page:url:unaliased]' => $node->toUrl('canonical', ['absolute' => TRUE, 'alias' => TRUE])->toString(), '[current-page:url:unaliased:args:value:0]' => 'node', '[current-page:url:unaliased:args:value:1]' => $node->id(), '[current-page:url:unaliased:args:value:2]' => NULL, '[current-page:page-number]' => 1, '[current-page:query:foo]' => 'bar', '[current-page:query:bar]' => NULL, // Deprecated tokens '[current-page:arg:0]' => 'node', '[current-page:arg:1]' => 1, '[current-page:arg:2]' => NULL, ]; $this->assertPageTokens("/node/{$node->id()}", $tokens, [], ['url_options' => ['query' => ['foo' => 'bar']]]); } }