3 namespace Drupal\Tests\file_mdm_font\Kernel;
5 use Drupal\file_mdm\FileMetadataInterface;
6 use Drupal\Tests\file_mdm\Kernel\FileMetadataManagerTestBase;
9 * Tests that the file metadata 'font' plugin works properly.
11 * @group File Metadata
13 class FileMetadataFontTest extends FileMetadataManagerTestBase {
20 public static $modules = [
32 public function setUp() {
34 $this->installConfig(['file_mdm_font']);
40 public function testFontPlugin() {
41 // The font files that will be tested.
44 'uri' => drupal_get_path('module', 'image_effects') . '/tests/fonts/LinLibertineTTF_5.3.0_2012_07_02/LinLibertine_Rah.ttf',
47 ['Version', 'Version 5.3.0 ; ttfautohint (v0.9)'],
48 ['version', 'Version 5.3.0 ; ttfautohint (v0.9)'],
49 ['VeRsIoN', 'Version 5.3.0 ; ttfautohint (v0.9)'],
54 'uri' => drupal_get_path('module', 'image_effects') . '/tests/fonts/LinLibertineTTF_5.3.0_2012_07_02/LinBiolinum_Kah.ttf',
57 ['FullName', 'Linux Biolinum Keyboard'],
58 ['fullname', 'Linux Biolinum Keyboard'],
59 ['fUlLnAmE', 'Linux Biolinum Keyboard'],
64 $fmdm = $this->container->get('file_metadata_manager');
66 // Walk through test files.
67 foreach ($font_files as $font_file) {
68 $file_metadata = $fmdm->uri($font_file['uri']);
69 if (!$file_metadata) {
70 $this->fail("File not found: {$font_file['uri']}");
73 $this->assertEqual($font_file['count_keys'], $this->countMetadataKeys($file_metadata, 'font'));
74 $this->assertIdentical(FileMetadataInterface::LOADED_FROM_FILE, $file_metadata->isMetadataLoaded('font'));
75 foreach ($font_file['test_keys'] as $test) {
76 $this->assertEqual($test[1], $file_metadata->getMetadata('font', $test[0]));
82 * Test 'font' plugin supported keys.
84 public function testSupportedKeys() {
101 'LicenseDescription',
104 'PreferredSubfamily',
105 'CompatibleFullName',
109 $fmdm = $this->container->get('file_metadata_manager');
110 $file_md = $fmdm->uri(drupal_get_path('module', 'image_effects') . '/tests/fonts/LinLibertineTTF_5.3.0_2012_07_02/LinLibertine_Rah.ttf');
111 $this->assertEqual($expected_keys, $file_md->getSupportedKeys('font'));