soulsync/tests/quality
BoulderBadgeDad 8aa8fcb94a test: drift guard — frontend lossless lists must match backend LOSSLESS_FORMATS (#941)
the frontend keeps its own copy of the lossless set (settings.js RT_LOSSLESS_FORMATS + the
index.html quality-profile dropdown) — runtime-fetching a yearly-changing list from the backend
isn't worth the coupling. but that duplication IS the exact root cause of #941 (a format added
to one place, not another). so instead of unifying, pin it: two tests parse the frontend lists
and assert they match the backend LOSSLESS_FORMATS. adding a new lossless format now fails CI
until it's added everywhere, instead of silently shipping a half-wired feature.

verified the guard catches drift (not a tautology): a simulated backend-only 'ape' addition
makes the equality fail. 18 lossless tests green, ruff clean.
2026-06-28 12:18:57 -07:00
..
test_engine_fallback.py fix(quality): correct ranking behaviour flagged in PR #896 (#3, #4) 2026-06-24 21:25:36 +02:00
test_lossless.py test: drift guard — frontend lossless lists must match backend LOSSLESS_FORMATS (#941) 2026-06-28 12:18:57 -07:00
test_model.py quality: recognize DSD (.dsf/.dff) as lossless + stop the false "truncated" flag (#939) 2026-06-28 11:45:16 -07:00
test_quality_meets_profile.py feat(quality): unify quality scanner onto the real ranked-target core (strict) 2026-06-14 22:50:01 +02:00
test_quality_presets.py feat(quality): migrate old per-source Hi-Res preference into the profile (#896 #5) 2026-06-24 21:39:53 +02:00
test_search_all_sources.py fix(downloads): keep terminal tasks visible during active batch + concurrent pool 2026-06-14 20:08:56 +02:00
test_search_mode.py feat(quality): rank-based candidate ordering toggle for priority mode 2026-06-25 22:00:57 +02:00
test_selection.py feat(quality): quality-aware source fall-through in search_with_fallback 2026-06-14 12:33:34 +02:00
test_source_map.py quality: recognize DSD (.dsf/.dff) as lossless + stop the false "truncated" flag (#939) 2026-06-28 11:45:16 -07:00
test_source_tier.py feat(quality): derive per-source download tier from the global profile 2026-06-14 13:18:01 +02:00
test_track_result_quality.py feat(quality): source mappers + populate real quality on streaming results 2026-06-14 12:27:03 +02:00