Version 1
[yaffs-website] / web / modules / contrib / token / src / Tests / TokenCurrentPageTest.php
diff --git a/web/modules/contrib/token/src/Tests/TokenCurrentPageTest.php b/web/modules/contrib/token/src/Tests/TokenCurrentPageTest.php
new file mode 100644 (file)
index 0000000..cd8ac37
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+
+namespace Drupal\token\Tests;
+
+use Drupal\Core\Url;
+
+/**
+ * Test the [current-page:*] tokens.
+ *
+ * @group token
+ */
+class TokenCurrentPageTest extends TokenTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('node');
+
+  function testCurrentPageTokens() {
+    $tokens = array(
+      '[current-page:title]' => t('Log in'),
+      '[current-page:url]' => Url::fromRoute('user.login', [], array('absolute' => TRUE))->toString(),
+      '[current-page:url:absolute]' => Url::fromRoute('user.login', [], array('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', [], array('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(array('type' => 'page'));
+    $node = $this->drupalCreateNode(array('title' => 'Node title', 'path' => array('alias' => '/node-alias')));
+    $tokens = array(
+      '[current-page:title]' => 'Node title',
+      '[current-page:url]' => $node->url('canonical', array('absolute' => TRUE)),
+      '[current-page:url:absolute]' => $node->url('canonical', array('absolute' => TRUE)),
+      '[current-page:url:relative]' => $node->url(),
+      '[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->url('canonical', array('absolute' => TRUE, 'alias' => TRUE)),
+      '[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, array(), array('url_options' => array('query' => array('foo' => 'bar'))));
+  }
+}