File: test_config.py

package info (click to toggle)
beets 2.5.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,016 kB
  • sloc: python: 46,429; javascript: 8,018; xml: 334; sh: 261; makefile: 125
file content (38 lines) | stat: -rw-r--r-- 931 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import pytest

from beets.util.config import sanitize_choices, sanitize_pairs


@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"),
    ]