From 0da6192a4ab799196ff49e403e8cd91fbaaef4bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0ar=C5=ABnas=20Nejus?= Date: Sun, 25 May 2025 14:01:29 +0100 Subject: [PATCH] Test sanitize_pairs --- test/util/test_config.py | 47 ++++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/test/util/test_config.py b/test/util/test_config.py index 0c49f85b1..7105844dd 100644 --- a/test/util/test_config.py +++ b/test/util/test_config.py @@ -1,15 +1,38 @@ -import unittest +import pytest -from beets.util.config import sanitize_choices +from beets.util.config import sanitize_choices, sanitize_pairs -class HelpersTest(unittest.TestCase): - def test_sanitize_choices(self): - assert sanitize_choices(["A", "Z"], ("A", "B")) == ["A"] - assert sanitize_choices(["A", "A"], ("A")) == ["A"] - assert sanitize_choices(["D", "*", "A"], ("A", "B", "C", "D")) == [ - "D", - "B", - "C", - "A", - ] +@pytest.mark.parametrize( + "input_choices, valid_choices, expected", + [ + (["A", "Z"], ("A", "B"), ["A"]), + (["A", "A"], ("A"), ["A"]), + (["D", "*", "A"], ("A", "B", "C", "D"), ["D", "B", "C", "A"]), + ], +) +def test_sanitize_choices(input_choices, valid_choices, expected): + assert sanitize_choices(input_choices, valid_choices) == expected + + +def test_sanitize_pairs(): + assert sanitize_pairs( + [ + ("foo", "baz bar"), + ("foo", "baz bar"), + ("key", "*"), + ("*", "*"), + ("discard", "bye"), + ], + [ + ("foo", "bar"), + ("foo", "baz"), + ("foo", "foobar"), + ("key", "value"), + ], + ) == [ + ("foo", "baz"), + ("foo", "bar"), + ("key", "value"), + ("foo", "foobar"), + ]