crossword-8.x-1.x-dev/tests/src/Kernel/Formatter/CrosswordFileDownloadLinkFormatterTest.php
tests/src/Kernel/Formatter/CrosswordFileDownloadLinkFormatterTest.php
<?php namespace Drupal\Tests\crossword\Kernel\Formatter; use Drupal\Core\Url; /** * Test the crossword_file_download_link formatter. * * This copies heavily off of tests in file_download_link. * * @group crossword * @requires module file_download_link * @requires module token */ class CrosswordFileDownloadLinkFormatterTest extends SimpleCrosswordFormatterTestBase { /** * {@inheritdoc} */ public $id = 'crossword_file_download_link'; /** * The modules to load to run the test. * * @var array */ protected static $modules = [ 'field', 'system', 'user', 'node', 'file', 'image', 'entity_test', 'token', 'crossword', 'crossword_token', 'crossword_download', ]; /** * Test the formatter using a token from the file. */ public function testFormatter() { $settings = [ 'link_text' => '[file:crossword_title] ([file:crossword_dimensions])', 'new_tab' => FALSE, 'force_download' => FALSE, ]; $render = $this->entity->field_crossword->view([ 'type' => 'crossword_file_download_link', 'label' => 'hidden', 'settings' => $settings, ]); $expected_render = [ '#type' => 'link', '#title' => 'Test Puzzle (3x3)', '#url' => \Drupal::service('file_url_generator')->generate('public://test.txt'), '#options' => [ 'attributes' => [ 'class' => [ 'file-download', 'file-download-text', 'file-download-plain', ], ], ], '#cache' => [ 'tags' => [ 'entity_test_rev:1', 'file:1', ], 'contexts' => [], 'max-age' => -1, ], '#attached' => [], ]; $this->assertEqualsCanonicalizing($expected_render, $render[0]); } }