init
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
from n_m3u8dl_py.utils import replace_vars, truncate_filename, valid_filename
|
||||
|
||||
|
||||
def test_replace_vars_supports_dash_number_formats() -> None:
|
||||
values = {"RepresentationID": "audio", "Number": 28324}
|
||||
assert replace_vars("$RepresentationID$/$Number%08x$/$Number%05d$/$Number%08X$", values) == "audio/00006ea4/28324/00006EA4"
|
||||
|
||||
|
||||
def test_replace_vars_keeps_unknown_values() -> None:
|
||||
assert replace_vars("$Number%08x$", {}) == "$Number%08x$"
|
||||
|
||||
|
||||
def test_filename_truncation_is_stable_and_unicode_safe() -> None:
|
||||
value = "中" * 100
|
||||
result = truncate_filename(value, 50)
|
||||
assert len(result.encode("utf-8")) <= 50
|
||||
assert "\ufffd" not in result
|
||||
assert valid_filename("a:b*c") == "a_b_c"
|
||||
|
||||
|
||||
def test_replace_vars_supports_upper_and_lower_hex() -> None:
|
||||
assert replace_vars("$Number%08x$/$Number%08X$", {"Number": 22999}) == "000059d7/000059D7"
|
||||
Reference in New Issue
Block a user