diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:29:01 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:29:01 +0000 |
commit | 35a96bde514a8897f6f0fcc41c5833bf63df2e2a (patch) | |
tree | 657d15a03cc46bd099fc2c6546a7a4ad43815d9f /share/extensions/tests/test_inkex_utils.py | |
parent | Initial commit. (diff) | |
download | inkscape-upstream.tar.xz inkscape-upstream.zip |
Adding upstream version 1.0.2.upstream/1.0.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'share/extensions/tests/test_inkex_utils.py')
-rw-r--r-- | share/extensions/tests/test_inkex_utils.py | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/share/extensions/tests/test_inkex_utils.py b/share/extensions/tests/test_inkex_utils.py new file mode 100644 index 0000000..350ceb1 --- /dev/null +++ b/share/extensions/tests/test_inkex_utils.py @@ -0,0 +1,98 @@ +# coding=utf-8 +""" +Unit test file for ../inkex.py +""" +# Revision history: +# * 2012-01-27 (jazzynico): check errormsg function. +# +from __future__ import absolute_import, print_function + +from argparse import ArgumentTypeError + +import pytest + +from inkex.utils import addNS, debug, errormsg, filename_arg, Boolean, to, strargs + + +class TestInkexBasic(object): + """Test basic utiltiies of inkex""" + + def test_boolean(self): + """Inkscape boolean input""" + assert Boolean('TRUE') is True + assert Boolean('true') is True + assert Boolean('True') is True + assert Boolean('FALSE') is False + assert Boolean('false') is False + assert Boolean('False') is False + assert Boolean('Banana') is None + + def test_debug(self, capsys): + """Debug messages go to stderr""" + debug("Hello World") + assert capsys.readouterr().err == 'Hello World\n' + + def test_to(self): + """Decorator for generators""" + + @to(list) + def mylist(a, b, c): + """Yield as a list""" + yield a + yield c + yield b + + assert isinstance(mylist(1, 2, 3), list) + assert mylist(1, 2, 3) == [1, 3, 2] + + @to(dict) + def mydict(a, b, c): + """Yield as a dictionary""" + yield ('age', a) + yield ('name', c) + yield ('home', b) + + assert isinstance(mydict(1, 2, 3), dict) + assert mydict(1, 2, 3) == {'age': 1, 'name': 3, 'home': 2} + + def test_filename(self): + """Filename argument input""" + assert filename_arg(__file__) == __file__ + with pytest.raises(ArgumentTypeError): + filename_arg('doesntexist.txt') + + def test_add_ns(self): + """Test addNS function""" + assert addNS('inkscape:foo') == '{http://www.inkscape.org/namespaces/inkscape}foo' + assert addNS('bar', 'inkscape') == '{http://www.inkscape.org/namespaces/inkscape}bar' + assert addNS('url', 'rdf') == '{http://www.w3.org/1999/02/22-rdf-syntax-ns#}url' + assert addNS('{http://www.inkscape.org/namespaces/inkscape}bar') == '{http://www.inkscape.org/namespaces/inkscape}bar' + assert addNS('http://www.inkscape.org/namespaces/inkscape:bar') == '{http://www.inkscape.org/namespaces/inkscape}bar' + assert addNS('car', 'http://www.inkscape.org/namespaces/inkscape') == '{http://www.inkscape.org/namespaces/inkscape}car' + assert addNS('{http://www.inkscape.org/namespaces/inkscape}bar', 'rdf') == '{http://www.w3.org/1999/02/22-rdf-syntax-ns#}bar' + + def test_strargs(self): + """Test strargs function""" + assert strargs('1.0 2.0 3.0 4.0') == [1.0, 2.0, 3.0, 4.0] + assert strargs('1 -2 3 -4') == [1.0, -2.0, 3.0, -4.0] + assert strargs('1,-2,3,-4') == [1.0, -2.0, 3.0, -4.0] + assert strargs('1-2 3-4') == [1.0, -2.0, 3.0, -4.0] + assert strargs('1-2,3-4') == [1.0, -2.0, 3.0, -4.0] + assert strargs('1-2-3-4') == [1.0, -2.0, -3.0, -4.0] + + def test_ascii(self, capsys): + """Parse ABCabc""" + errormsg('ABCabc') + assert capsys.readouterr().err == 'ABCabc\n' + + def test_nonunicode_latin1(self, capsys): + # Py2 has issues with unicode in docstrings. *sigh* + # """Parse Àûïàèé""" + errormsg('Àûïàèé') + assert capsys.readouterr().err, 'Àûïàèé\n' + + def test_unicode_latin1(self, capsys): + # Py2 has issues with unicode in docstrings. *sigh* + # """Parse Àûïàèé (unicode)""" + errormsg(u'Àûïàèé') + assert capsys.readouterr().err, u'Àûïàèé\n' |