function TokenTest::testReplaceWithHookTokensAlterWithBubbleableMetadata
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Utility/TokenTest.php \Drupal\Tests\Core\Utility\TokenTest::testReplaceWithHookTokensAlterWithBubbleableMetadata()
- 8.9.x core/tests/Drupal/Tests/Core/Utility/TokenTest.php \Drupal\Tests\Core\Utility\TokenTest::testReplaceWithHookTokensAlterWithBubbleableMetadata()
- 11.x core/tests/Drupal/Tests/Core/Utility/TokenTest.php \Drupal\Tests\Core\Utility\TokenTest::testReplaceWithHookTokensAlterWithBubbleableMetadata()
@covers ::replace @covers ::replace
File
-
core/
tests/ Drupal/ Tests/ Core/ Utility/ TokenTest.php, line 221
Class
- TokenTest
- @coversDefaultClass \Drupal\Core\Utility\Token @group Utility
Namespace
Drupal\Tests\Core\UtilityCode
public function testReplaceWithHookTokensAlterWithBubbleableMetadata() : void {
$this->moduleHandler
->expects($this->any())
->method('invokeAll')
->willReturn([]);
$this->moduleHandler
->expects($this->any())
->method('alter')
->willReturnCallback(function ($hook_name, array &$replacements, array $context, BubbleableMetadata $bubbleable_metadata) {
$replacements['[node:title]'] = 'hello world';
$bubbleable_metadata->addCacheContexts([
'custom_context',
]);
$bubbleable_metadata->addCacheTags([
'node:1',
]);
$bubbleable_metadata->setCacheMaxAge(10);
});
$node = $this->prophesize('Drupal\\node\\NodeInterface');
$node->getCacheContexts()
->willReturn([]);
$node->getCacheTags()
->willReturn([]);
$node->getCacheMaxAge()
->willReturn(14);
$node = $node->reveal();
$bubbleable_metadata = new BubbleableMetadata();
$bubbleable_metadata->setCacheContexts([
'current_user',
]);
$bubbleable_metadata->setCacheMaxAge(12);
$result = $this->token
->replace('[node:title]', [
'node' => $node,
], [], $bubbleable_metadata);
$this->assertEquals('hello world', $result);
$this->assertEquals([
'node:1',
], $bubbleable_metadata->getCacheTags());
$this->assertEquals([
'current_user',
'custom_context',
], $bubbleable_metadata->getCacheContexts());
$this->assertEquals(10, $bubbleable_metadata->getCacheMaxAge());
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.