diff --git a/setup.py b/setup.py index db9adead..fe2d134e 100644 --- a/setup.py +++ b/setup.py @@ -46,4 +46,5 @@ setup( "Topic :: Multimedia", "Topic :: Multimedia :: Graphics", ], + test_suite='test', ) diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/test/test_text.py b/test/test_text.py new file mode 100644 index 00000000..91e0097e --- /dev/null +++ b/test/test_text.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +# Copyright 2015 Mike Fährmann +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. + +import unittest +import gallery_dl.text as text + +class TestText(unittest.TestCase): + + def test_remove_html(self): + cases = ( + "Hello World.", + " Hello World. ", + "Hello
World.", + "
HelloWorld.
" + ) + result = "Hello World." + for case in cases: + self.assertEqual(text.remove_html(case), result) + + def test_filename_from_url(self): + cases = ( + "http://example.org/v2/filename.ext", + "http://example.org/v2/filename.ext?param=value#fragment", + "example.org/filename.ext", + "/filename.ext", + "filename.ext", + ) + result = "filename.ext" + for case in cases: + self.assertEqual(text.filename_from_url(case), result) + + def test_clean_path(self): + cases = { + "Hello World." : ("Hello World.", "Hello World."), + "Hello/World/.": ("Hello_World_.", "Hello_World_."), + r':|"World\*?': ( + '_Hello____World___', r':|"World\*?' + ), + } + for case, result in cases.items(): + self.assertEqual(text.clean_path_windows(case), result[0]) + self.assertEqual(text.clean_path_posix (case), result[1]) + +if __name__ == '__main__': + unittest.main()