diff options
author | Laurent Peuch <cortex@worlddomination.be> | 2020-03-20 14:18:08 +0100 |
---|---|---|
committer | Laurent Peuch <cortex@worlddomination.be> | 2020-03-20 14:18:08 +0100 |
commit | 2f92ba46d9801839063d940dfcf1f0d46c576b9d (patch) | |
tree | 171f7e33b04c3a60392d5279de175db3ef6243e4 /test/test_xmlutils.py | |
parent | db91eae86a35dabbfd5986a1b1a10696ae3749ed (diff) | |
download | logilab-common-2f92ba46d9801839063d940dfcf1f0d46c576b9d.tar.gz |
[tox] move to pytest
Diffstat (limited to 'test/test_xmlutils.py')
-rw-r--r-- | test/test_xmlutils.py | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/test/test_xmlutils.py b/test/test_xmlutils.py new file mode 100644 index 0000000..3d82da9 --- /dev/null +++ b/test/test_xmlutils.py @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- +# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr +# +# This file is part of logilab-common. +# +# logilab-common is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 2.1 of the License, or (at your option) any +# later version. +# +# logilab-common is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License along +# with logilab-common. If not, see <http://www.gnu.org/licenses/>. + +from logilab.common.testlib import TestCase, unittest_main +from logilab.common.xmlutils import parse_pi_data + + +class ProcessingInstructionDataParsingTest(TestCase): + def test_empty_pi(self): + """ + Tests the parsing of the data of an empty processing instruction. + """ + pi_data = u" \t \n " + data = parse_pi_data(pi_data) + self.assertEqual(data, {}) + + def test_simple_pi_with_double_quotes(self): + """ + Tests the parsing of the data of a simple processing instruction using + double quotes for embedding the value. + """ + pi_data = u""" \t att="value"\n """ + data = parse_pi_data(pi_data) + self.assertEqual(data, {u"att": u"value"}) + + def test_simple_pi_with_simple_quotes(self): + """ + Tests the parsing of the data of a simple processing instruction using + simple quotes for embedding the value. + """ + pi_data = u""" \t att='value'\n """ + data = parse_pi_data(pi_data) + self.assertEqual(data, {u"att": u"value"}) + + def test_complex_pi_with_different_quotes(self): + """ + Tests the parsing of the data of a complex processing instruction using + simple quotes or double quotes for embedding the values. + """ + pi_data = u""" \t att='value'\n att2="value2" att3='value3'""" + data = parse_pi_data(pi_data) + self.assertEqual(data, {u"att": u"value", u"att2": u"value2", + u"att3": u"value3"}) + + def test_pi_with_non_attribute_data(self): + """ + Tests the parsing of the data of a complex processing instruction + containing non-attribute data. + """ + pi_data = u""" \t keyword att1="value1" """ + data = parse_pi_data(pi_data) + self.assertEqual(data, {u"keyword": None, u"att1": u"value1"}) + + +# definitions for automatic unit testing + +if __name__ == '__main__': + unittest_main() + |