62 lines
2.1 KiB
Python
62 lines
2.1 KiB
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
import sys
|
|
import unittest
|
|
|
|
|
|
SRC_ROOT = Path(__file__).resolve().parents[2] / "src"
|
|
|
|
if str(SRC_ROOT) not in sys.path:
|
|
sys.path.insert(0, str(SRC_ROOT))
|
|
|
|
|
|
from ffx.attachment_format import AttachmentFormat # noqa: E402
|
|
from ffx.track_codec import TrackCodec # noqa: E402
|
|
from ffx.track_descriptor import TrackDescriptor # noqa: E402
|
|
from ffx.track_type import TrackType # noqa: E402
|
|
|
|
|
|
class TrackDescriptorProbeTests(unittest.TestCase):
|
|
def test_attachment_without_codec_name_uses_font_metadata_to_identify_ttf(self):
|
|
descriptor = TrackDescriptor.fromFfprobe(
|
|
{
|
|
"index": 4,
|
|
"codec_type": "attachment",
|
|
"disposition": {"default": 0},
|
|
"tags": {
|
|
"filename": "AmazonEmberTanuki-Italic.ttf",
|
|
"mimetype": "font/ttf",
|
|
},
|
|
},
|
|
subIndex=0,
|
|
)
|
|
|
|
self.assertIsNotNone(descriptor)
|
|
self.assertEqual(TrackType.ATTACHMENT, descriptor.getType())
|
|
self.assertEqual(AttachmentFormat.TTF, descriptor.getAttachmentFormat())
|
|
self.assertEqual(AttachmentFormat.TTF, descriptor.getFormatDescriptor())
|
|
self.assertEqual(TrackCodec.UNKNOWN, descriptor.getCodec())
|
|
|
|
def test_attachment_without_codec_name_still_probes_as_unknown_when_not_font(self):
|
|
descriptor = TrackDescriptor.fromFfprobe(
|
|
{
|
|
"index": 9,
|
|
"codec_type": "attachment",
|
|
"disposition": {"default": 0},
|
|
"tags": {
|
|
"filename": "cover.bin",
|
|
"mimetype": "application/octet-stream",
|
|
},
|
|
},
|
|
subIndex=0,
|
|
)
|
|
|
|
self.assertIsNotNone(descriptor)
|
|
self.assertEqual(TrackType.ATTACHMENT, descriptor.getType())
|
|
self.assertEqual(AttachmentFormat.UNKNOWN, descriptor.getAttachmentFormat())
|
|
self.assertEqual(TrackCodec.UNKNOWN, descriptor.getCodec())
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|