mirror of
https://github.com/unshackle-dl/unshackle.git
synced 2026-11-12 12:05:07 +00:00
26 lines
937 B
Python
26 lines
937 B
Python
from __future__ import annotations
|
|
|
|
import pytest
|
|
|
|
from unshackle.core.utilities import keep_forced_subtitle
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"forced,language,forced_s_lang,exact,expected",
|
|
[
|
|
(False, "en", [], False, True),
|
|
(False, "de", ["en"], False, True),
|
|
(True, "en", [], False, False),
|
|
(True, "en", ["en"], False, True),
|
|
(True, "en-US", ["en"], False, True),
|
|
(True, "de", ["en"], False, False),
|
|
(True, "de", ["en", "de"], False, True),
|
|
# CLDR rates paradigm-regional pairs (en/en-US) distance 0, so exact still matches
|
|
(True, "en-US", ["en"], True, True),
|
|
(True, "en", ["en"], True, True),
|
|
(True, "es-419", ["es-ES"], True, False),
|
|
],
|
|
)
|
|
def test_keep_forced_subtitle(forced: bool, language: str, forced_s_lang: list[str], exact: bool, expected: bool):
|
|
assert keep_forced_subtitle(forced, language, forced_s_lang, exact) is expected
|