Updated all the contrib modules to their latest versions.
[yaffs-website] / web / modules / contrib / token / src / Tests / TokenCurrentPageTest.php
1 <?php
2
3 namespace Drupal\token\Tests;
4
5 use Drupal\Core\Url;
6
7 /**
8  * Test the [current-page:*] tokens.
9  *
10  * @group token
11  */
12 class TokenCurrentPageTest extends TokenTestBase {
13
14   /**
15    * Modules to enable.
16    *
17    * @var array
18    */
19   public static $modules = ['node'];
20
21   function testCurrentPageTokens() {
22     $tokens = [
23       '[current-page:title]' => t('Log in'),
24       '[current-page:url]' => Url::fromRoute('user.login', [], ['absolute' => TRUE])->toString(),
25       '[current-page:url:absolute]' => Url::fromRoute('user.login', [], ['absolute' => TRUE])->toString(),
26       '[current-page:url:relative]' => Url::fromRoute('user.login')->toString(),
27       '[current-page:url:path]' => '/user/login',
28       '[current-page:url:args:value:0]' => 'user',
29       '[current-page:url:args:value:1]' => 'login',
30       '[current-page:url:args:value:2]' => NULL,
31       '[current-page:url:unaliased]' => Url::fromRoute('user.login', [], ['absolute' => TRUE, 'alias' => TRUE])->toString(),
32       '[current-page:page-number]' => 1,
33       '[current-page:query:foo]' => NULL,
34       '[current-page:query:bar]' => NULL,
35       // Deprecated tokens
36       '[current-page:arg:0]' => 'user',
37       '[current-page:arg:1]' => 'login',
38       '[current-page:arg:2]' => NULL,
39     ];
40     $this->assertPageTokens('user/login', $tokens);
41
42     $this->drupalCreateContentType(['type' => 'page']);
43     $node = $this->drupalCreateNode(['title' => 'Node title', 'path' => ['alias' => '/node-alias']]);
44     $tokens = [
45       '[current-page:title]' => 'Node title',
46       '[current-page:url]' => $node->toUrl('canonical', ['absolute' => TRUE])->toString(),
47       '[current-page:url:absolute]' => $node->toUrl('canonical', ['absolute' => TRUE])->toString(),
48       '[current-page:url:relative]' => $node->toUrl()->toString(),
49       '[current-page:url:alias]' => '/node-alias',
50       '[current-page:url:args:value:0]' => 'node-alias',
51       '[current-page:url:args:value:1]' => NULL,
52       '[current-page:url:unaliased]' => $node->toUrl('canonical', ['absolute' => TRUE, 'alias' => TRUE])->toString(),
53       '[current-page:url:unaliased:args:value:0]' => 'node',
54       '[current-page:url:unaliased:args:value:1]' => $node->id(),
55       '[current-page:url:unaliased:args:value:2]' => NULL,
56       '[current-page:page-number]' => 1,
57       '[current-page:query:foo]' => 'bar',
58       '[current-page:query:bar]' => NULL,
59       // Deprecated tokens
60       '[current-page:arg:0]' => 'node',
61       '[current-page:arg:1]' => 1,
62       '[current-page:arg:2]' => NULL,
63     ];
64     $this->assertPageTokens("/node/{$node->id()}", $tokens, [], ['url_options' => ['query' => ['foo' => 'bar']]]);
65   }
66 }