public function RouteProcessorCsrfTest::testProcessOutboundDynamicTwo in Drupal 9
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Core/Access/RouteProcessorCsrfTest.php \Drupal\Tests\Core\Access\RouteProcessorCsrfTest::testProcessOutboundDynamicTwo()
- 10 core/tests/Drupal/Tests/Core/Access/RouteProcessorCsrfTest.php \Drupal\Tests\Core\Access\RouteProcessorCsrfTest::testProcessOutboundDynamicTwo()
Tests the processOutbound() method with two parameter replacements.
File
- core/
tests/ Drupal/ Tests/ Core/ Access/ RouteProcessorCsrfTest.php, line 102
Class
- RouteProcessorCsrfTest
- @coversDefaultClass \Drupal\Core\Access\RouteProcessorCsrf @group Access
Namespace
Drupal\Tests\Core\AccessCode
public function testProcessOutboundDynamicTwo() {
$route = new Route('{slug_1}/test-path/{slug_2}', [], [
'_csrf_token' => 'TRUE',
]);
$parameters = [
'slug_1' => 100,
'slug_2' => 'test',
];
$bubbleable_metadata = new BubbleableMetadata();
$this->processor
->processOutbound('test', $route, $parameters, $bubbleable_metadata);
// Bubbleable metadata of routes with a _csrf_token route requirement is a
// placeholder.
$path = '100/test-path/test';
$placeholder = Crypt::hashBase64($path);
$placeholder_render_array = [
'#lazy_builder' => [
'route_processor_csrf:renderPlaceholderCsrfToken',
[
$path,
],
],
];
$this
->assertEquals((new BubbleableMetadata())
->setAttachments([
'placeholders' => [
$placeholder => $placeholder_render_array,
],
]), $bubbleable_metadata);
}