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.file_properties import FileProperties # noqa: E402 from ffx.i18n import set_current_language # noqa: E402 from ffx.logging_utils import get_ffx_logger # noqa: E402 from ffx.track_codec import TrackCodec # noqa: E402 from ffx.track_type import TrackType # noqa: E402 class StaticConfig: def __init__(self, data: dict): self._data = data def getData(self): return self._data class FilePropertiesAssetProbeTests(unittest.TestCase): def tearDown(self): set_current_language("de") def test_boruto_webm_probe_recognizes_webm_stream_codecs(self): context = { "logger": get_ffx_logger(), "config": StaticConfig({}), "language": "de", "use_pattern": False, } set_current_language("de") media_path = ( Path(__file__).resolve().parents[1] / "assets" / "Boruto; Naruto Next Generations (2017) - 0069 Super-Chochos Liebestaumel - S01E0069.webm" ) file_properties = FileProperties(context, str(media_path)) tracks = file_properties.getMediaDescriptor().getTrackDescriptors() subtitle_codecs = [ track.getCodec() for track in tracks if track.getType() == TrackType.SUBTITLE ] self.assertIn(TrackCodec.VP9, [track.getCodec() for track in tracks]) self.assertIn(TrackCodec.OPUS, [track.getCodec() for track in tracks]) self.assertTrue(subtitle_codecs) self.assertTrue(all(codec == TrackCodec.WEBVTT for codec in subtitle_codecs)) if __name__ == "__main__": unittest.main()