function FileEntityFormatterTest::testFormatterFileUri

Same name and namespace in other branches
  1. 9 core/modules/file/tests/src/Kernel/Formatter/FileEntityFormatterTest.php \Drupal\Tests\file\Kernel\Formatter\FileEntityFormatterTest::testFormatterFileUri()
  2. 8.9.x core/modules/file/tests/src/Kernel/Formatter/FileEntityFormatterTest.php \Drupal\Tests\file\Kernel\Formatter\FileEntityFormatterTest::testFormatterFileUri()
  3. 11.x core/modules/file/tests/src/Kernel/Formatter/FileEntityFormatterTest.php \Drupal\Tests\file\Kernel\Formatter\FileEntityFormatterTest::testFormatterFileUri()

Tests the file_link field formatter.

File

core/modules/file/tests/src/Kernel/Formatter/FileEntityFormatterTest.php, line 97

Class

FileEntityFormatterTest
Tests the default file formatter.

Namespace

Drupal\Tests\file\Kernel\Formatter

Code

public function testFormatterFileUri() : void {
  $entity_display = EntityViewDisplay::create([
    'targetEntityType' => 'file',
    'bundle' => 'file',
  ]);
  $entity_display->setComponent('uri', [
    'type' => 'file_uri',
  ]);
  $build = $entity_display->buildMultiple($this->files)[0]['uri'][0];
  $this->assertEquals('public://file.png', $build['#markup']);
  $entity_display->setComponent('uri', [
    'type' => 'file_uri',
    'settings' => [
      'file_download_path' => TRUE,
    ],
  ]);
  $build = $entity_display->buildMultiple($this->files)[0]['uri'][0];
  $this->assertEquals($this->fileUrlGenerator
    ->generateString('public://file.png'), $build['#markup']);
  $entity_display->setComponent('uri', [
    'type' => 'file_uri',
    'settings' => [
      'file_download_path' => TRUE,
      'link_to_file' => TRUE,
    ],
  ]);
  $build = $entity_display->buildMultiple($this->files)[0]['uri'][0];
  $this->assertEquals($this->fileUrlGenerator
    ->generateString('public://file.png'), $build['#title']);
  $this->assertEquals($this->fileUrlGenerator
    ->generate('public://file.png'), $build['#url']);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.