1
0
mirror of https://github.com/spaam/svtplay-dl.git synced 2024-11-24 12:15:40 +01:00
svtplay-dl/lib/svtplay_dl/tests/test_text.py
2021-05-10 12:14:30 +02:00

49 lines
1.5 KiB
Python

#!/usr/bin/python
# ex:ts=4:sw=4:sts=4:et:fenc=utf-8
# The unittest framwork doesn't play nice with pylint:
# pylint: disable-msg=C0103
import pathlib
import unittest
from svtplay_dl.utils.parser import setup_defaults
from svtplay_dl.utils.text import decode_html_entities
from svtplay_dl.utils.text import ensure_unicode
from svtplay_dl.utils.text import exclude
from svtplay_dl.utils.text import filenamify
class filenamifyTest(unittest.TestCase):
test_values = [
["foo", "foo"],
["foo bar", "foo.bar"],
["FOO BAR", "foo.bar"],
["foo-bar baz", "foo-bar.baz"],
['Jason "Timbuktu" Diakité', "jason.timbuktu.diakite"],
["Matlagning del 1 av 10 - R\xe4ksm\xf6rg\xe5s | SVT Play", "matlagning.del.1.av.10-raksmorgas.svt.play"],
["$FOOBAR", "foobar"],
]
def test(self):
for inp, ref in self.test_values:
assert filenamify(inp) == ref
def test_exclude_true(self):
config = setup_defaults()
config.set("exclude", "hej")
assert exclude(config, pathlib.Path("hejsanhoppsan"))
def test_exclude_false(self):
config = setup_defaults()
config.set("exclude", "hej")
assert not exclude(config, pathlib.Path("hoppsan"))
def test_exlude_default(self):
config = setup_defaults()
assert not exclude(config, pathlib.Path("hoppsan"))
def test_ensure_unicode(self):
assert ensure_unicode(b"hello") == "hello"
def test_decode_html(self):
assert decode_html_entities("&lt;3 &amp;") == "<3 &"