Further Drupal 8.6.4 changes. Some core files were not committed before a commit...
[yaffs-website] / web / core / modules / file / tests / src / Functional / Formatter / FileAudioFormatterTest.php
1 <?php
2
3 namespace Drupal\Tests\file\Functional\Formatter;
4
5 use Drupal\entity_test\Entity\EntityTest;
6 use Drupal\file\Entity\File;
7
8 /**
9  * @coversDefaultClass \Drupal\file\Plugin\Field\FieldFormatter\FileAudioFormatter
10  * @group file
11  */
12 class FileAudioFormatterTest extends FileMediaFormatterTestBase {
13
14   /**
15    * @covers ::viewElements
16    *
17    * @dataProvider dataProvider
18    */
19   public function testRender($tag_count, $formatter_settings) {
20     $field_config = $this->createMediaField('file_audio', 'mp3', $formatter_settings);
21
22     file_put_contents('public://file.mp3', str_repeat('t', 10));
23     $file1 = File::create([
24       'uri' => 'public://file.mp3',
25       'filename' => 'file.mp3',
26     ]);
27     $file1->save();
28
29     $file2 = File::create([
30       'uri' => 'public://file.mp3',
31       'filename' => 'file.mp3',
32     ]);
33     $file2->save();
34
35     $entity = EntityTest::create([
36       $field_config->getName() => [
37         [
38           'target_id' => $file1->id(),
39         ],
40         [
41           'target_id' => $file2->id(),
42         ],
43       ],
44     ]);
45     $entity->save();
46
47     $this->drupalGet($entity->toUrl());
48
49     $file1_url = file_url_transform_relative(file_create_url($file1->getFileUri()));
50     $file2_url = file_url_transform_relative(file_create_url($file2->getFileUri()));
51
52     $assert_session = $this->assertSession();
53     $assert_session->elementsCount('css', 'audio[controls="controls"]', $tag_count);
54     $assert_session->elementExists('css', "audio > source[src='$file1_url'][type='audio/mpeg']");
55     $assert_session->elementExists('css', "audio > source[src='$file2_url'][type='audio/mpeg']");
56   }
57
58 }