backend/tests/test_format_validator.py
Rama master · réplica de lectura del repositorio original.
"""Tests for providers.format_validator."""
from providers.base import SubtitleFormat
def test_detect_ass_by_script_info_header():
from providers.format_validator import detect_format_from_content
content = b"[Script Info]\nTitle: Test"
assert detect_format_from_content(content) == SubtitleFormat.ASS
def test_detect_ass_by_v4_header():
from providers.format_validator import detect_format_from_content
content = b"[V4+ Styles]\nFormat: Name"
assert detect_format_from_content(content) == SubtitleFormat.ASS
def test_detect_srt_by_default():
from providers.format_validator import detect_format_from_content
content = b"1\n00:00:01,000 --> 00:00:02,000\nHello world"
assert detect_format_from_content(content) == SubtitleFormat.SRT
def test_detect_strips_utf8_bom():
from providers.format_validator import detect_format_from_content
content = b"\xef\xbb\xbf[Script Info]\nTitle: Test"
assert detect_format_from_content(content) == SubtitleFormat.ASS
def test_detect_handles_empty_bytes():
from providers.format_validator import detect_format_from_content
assert detect_format_from_content(b"") == SubtitleFormat.SRT
def test_detect_handles_binary_garbage():
from providers.format_validator import detect_format_from_content
assert detect_format_from_content(b"\x00\x01\x02\x03") == SubtitleFormat.SRT