traxsource: helper _split_title_mix + _format_artists + _large_cover + eccezioni
This commit is contained in:
1 parent
a95912f78c
commit
e1e629f8a2
2 files changed
+95
No files matched your search
@@ -45,3 +45,53 @@ class TestTraxsourceTrack:
|
||||
)
|
||||
assert t.image_url == ""
|
||||
assert t.cover_url_large == ""
|
||||
|
||||
|
||||
class TestSplitTitleMix:
|
||||
def test_with_parens(self):
|
||||
assert traxsource._split_title_mix("Foo (Extended Mix)") == ("Foo", "Extended Mix")
|
||||
|
||||
def test_without_parens(self):
|
||||
assert traxsource._split_title_mix("Foo") == ("Foo", "")
|
||||
|
||||
def test_multiple_parens_takes_last(self):
|
||||
# es. "Foo (feat. Bar) (Original Mix)" -> mix = "Original Mix"
|
||||
assert traxsource._split_title_mix("Foo (feat. Bar) (Original Mix)") == ("Foo (feat. Bar)", "Original Mix")
|
||||
|
||||
def test_empty(self):
|
||||
assert traxsource._split_title_mix("") == ("", "")
|
||||
|
||||
|
||||
class TestFormatArtists:
|
||||
def test_single(self):
|
||||
assert traxsource._format_artists(["Kapuchon"]) == "Kapuchon"
|
||||
|
||||
def test_two(self):
|
||||
assert traxsource._format_artists(["A", "B"]) == "A & B"
|
||||
|
||||
def test_three(self):
|
||||
assert traxsource._format_artists(["A", "B", "C"]) == "A, B & C"
|
||||
|
||||
def test_empty(self):
|
||||
assert traxsource._format_artists([]) == ""
|
||||
|
||||
def test_strips_whitespace(self):
|
||||
assert traxsource._format_artists([" A ", " B "]) == "A & B"
|
||||
|
||||
|
||||
class TestLargeCover:
|
||||
def test_substitutes_52x52_with_500x500(self):
|
||||
url = "https://www.traxsource.com/scripts/image.php/52x52/abc.jpg"
|
||||
assert traxsource._large_cover(url) == "https://www.traxsource.com/scripts/image.php/500x500/abc.jpg"
|
||||
|
||||
def test_no_change_when_no_pattern(self):
|
||||
assert traxsource._large_cover("https://example.com/x.jpg") == "https://example.com/x.jpg"
|
||||
|
||||
def test_empty(self):
|
||||
assert traxsource._large_cover("") == ""
|
||||
|
||||
|
||||
class TestExceptions:
|
||||
def test_exceptions_are_subclasses(self):
|
||||
assert issubclass(traxsource.TraxsourceUnreachableError, traxsource.TraxsourceError)
|
||||
assert issubclass(traxsource.TraxsourceParseError, traxsource.TraxsourceError)
|
||||
Reference in new issue
Block a user