Ctrl K
ComunidadGuías…

backend/tests/test_format_validator.py

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
"""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