Add movie-keyed pool index with multi-version movies, ČSFD title bridge, subtitles and miniDLNA library scoping
This commit is contained in:
@@ -2,9 +2,11 @@
|
||||
import pytest
|
||||
|
||||
from src.core.naming import (
|
||||
THREE_D_FORMATS,
|
||||
canonical_pool_stem,
|
||||
is_canonical_pool_stem,
|
||||
is_valid_year,
|
||||
parse_3d_format,
|
||||
parse_pool_stem,
|
||||
parse_tmdb_id,
|
||||
year_from_filename,
|
||||
@@ -79,6 +81,43 @@ def test_is_canonical_pool_stem():
|
||||
assert not is_canonical_pool_stem("Matrix")
|
||||
|
||||
|
||||
def test_canonical_pool_stem_with_3d_format():
|
||||
assert canonical_pool_stem("Avatar", 2009, 19995, "hsbs") == \
|
||||
"Avatar (2009) [tmdbid-19995].3D.HSBS"
|
||||
# upper-cased regardless of input case
|
||||
assert canonical_pool_stem("Avatar", 2009, None, "fsbs") == "Avatar (2009).3D.FSBS"
|
||||
# empty/None → no tag at all
|
||||
assert canonical_pool_stem("Avatar", 2009, None, None) == "Avatar (2009)"
|
||||
assert canonical_pool_stem("Avatar", 2009, None, "") == "Avatar (2009)"
|
||||
|
||||
|
||||
def test_canonical_pool_stem_rejects_bad_3d_format():
|
||||
with pytest.raises(ValueError):
|
||||
canonical_pool_stem("Avatar", 2009, None, "bogus")
|
||||
|
||||
|
||||
@pytest.mark.parametrize("fmt", THREE_D_FORMATS)
|
||||
def test_parse_3d_format_roundtrip(fmt):
|
||||
stem = canonical_pool_stem("Avatar", 2009, 19995, fmt)
|
||||
assert parse_3d_format(stem) == fmt
|
||||
assert parse_pool_stem(stem) == ("Avatar", 2009)
|
||||
assert parse_tmdb_id(stem) == 19995
|
||||
|
||||
|
||||
def test_parse_3d_format_case_insensitive_on_read():
|
||||
assert parse_3d_format("Avatar (2009).3D.hsbs") == "HSBS"
|
||||
|
||||
|
||||
def test_parse_3d_format_absent_is_none():
|
||||
assert parse_3d_format("Avatar (2009) [tmdbid-19995]") is None
|
||||
assert parse_3d_format("Avatar (2009)") is None
|
||||
|
||||
|
||||
def test_canonical_pool_stem_3d_without_tmdb_id():
|
||||
assert canonical_pool_stem("Avatar", 2009, None, "MVC") == "Avatar (2009).3D.MVC"
|
||||
assert parse_3d_format("Avatar (2009).3D.MVC") == "MVC"
|
||||
|
||||
|
||||
@pytest.mark.parametrize("name,year", [
|
||||
("Matrix.1999.1080p.BluRay.mkv", "1999"),
|
||||
("Šíleně smutná princezna (1968).mkv", "1968"),
|
||||
|
||||
Reference in New Issue
Block a user