public function FileDownloadLinkMediaTokenTest::testFormatterTitleTokens in File Download Link 8
Test the formatter using tokens.
File
- tests/
src/ Kernel/ FileDownloadLinkMediaTokenTest.php, line 164
Class
- FileDownloadLinkMediaTokenTest
- Class for testing file_download_link_media formatter.
Namespace
Drupal\Tests\file_download_link\KernelCode
public function testFormatterTitleTokens() {
$settings = [
'link_text' => 'Download Media Now!',
'link_title' => '[media:bundle:target_id]',
'new_tab' => FALSE,
'force_download' => FALSE,
];
$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',
],
'title' => '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));
}