public function FileDownloadLinkMediaTokenTest::testFormatterClassTokens in File Download Link 8
Test the formatter using tokens.
File
- tests/
src/ Kernel/ FileDownloadLinkMediaTokenTest.php, line 111
Class
- FileDownloadLinkMediaTokenTest
- Class for testing file_download_link_media formatter.
Namespace
Drupal\Tests\file_download_link\KernelCode
public function testFormatterClassTokens() {
$settings = [
'link_text' => 'Download Media Now!',
'new_tab' => FALSE,
'force_download' => FALSE,
'custom_classes' => 'static-class media-type-[media:bundle:target_id]',
];
$render = $this->node->field_media
->view([
'type' => 'file_download_link_media',
'label' => 'hidden',
'settings' => $settings,
]);
// Check that the thing that will get rendered looks right.
$expected_deep_render = [
'#type' => 'link',
'#title' => 'Download Media Now!',
'#url' => Url::fromUri(file_create_url('public://file.txt')),
'#options' => [
'attributes' => [
'class' => [
'file-download',
'file-download-text',
'file-download-plain',
'static-class',
'media-type-test-media',
],
],
],
'#cache' => [
'tags' => [
'file:1',
'media:1',
],
'contexts' => [],
'max-age' => -1,
],
'#attached' => [],
];
Assert::assertEquals($expected_deep_render, $render[0][0], json_encode($render));
// Check that the render array has the right cache data.
$expected_cache = [
'contexts' => [
'user.permissions',
],
'tags' => [
'media:1',
],
'max-age' => -1,
];
Assert::assertEquals($expected_cache, $render[0]['#cache'], json_encode($render));
}