diff --git a/src/Tests/TokenCurrentPageTest.php b/src/Tests/TokenCurrentPageTest.php index cd8ac372..672f9e48 100644 --- a/src/Tests/TokenCurrentPageTest.php +++ b/src/Tests/TokenCurrentPageTest.php @@ -41,10 +41,11 @@ function testCurrentPageTokens() { $this->drupalCreateContentType(array('type' => 'page')); $node = $this->drupalCreateNode(array('title' => 'Node title', 'path' => array('alias' => '/node-alias'))); + $query = array('foo' => 'bar'); $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:absolute]' => $node->url('canonical', array('absolute' => TRUE, 'query' => $query)), '[current-page:url:relative]' => $node->url(), '[current-page:url:alias]' => '/node-alias', '[current-page:url:args:value:0]' => 'node-alias', @@ -54,13 +55,13 @@ function testCurrentPageTokens() { '[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:foo]' => $query['foo'], '[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')))); + $this->assertPageTokens("/node/{$node->id()}", $tokens, array(), array('url_options' => array('query' => $query))); } } diff --git a/token.tokens.inc b/token.tokens.inc index f6ad6191..398637be 100644 --- a/token.tokens.inc +++ b/token.tokens.inc @@ -784,7 +784,7 @@ function token_tokens($type, array $tokens, array $data = array(), array $option // Chained token relationships. if ($url_tokens = \Drupal::token()->findWithPrefix($tokens, 'url')) { - $url = Url::fromRoute(''); + $url = Url::fromRoute('', [], ['query' => \Drupal::request()->query->all()]); $replacements += \Drupal::token()->generate('url', $url_tokens, array('url' => $url), $options, $bubbleable_metadata); } }