summaryrefslogtreecommitdiff
path: root/lib/python2.7/test/test_xmllib.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/test/test_xmllib.py')
-rw-r--r--lib/python2.7/test/test_xmllib.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/lib/python2.7/test/test_xmllib.py b/lib/python2.7/test/test_xmllib.py
new file mode 100644
index 0000000..966978a
--- /dev/null
+++ b/lib/python2.7/test/test_xmllib.py
@@ -0,0 +1,48 @@
+'''Test module to thest the xmllib module.
+ Sjoerd Mullender
+'''
+
+testdoc = """\
+<?xml version="1.0" encoding="UTF-8" standalone='yes' ?>
+<!-- comments aren't allowed before the <?xml?> tag,
+ but they are allowed before the <!DOCTYPE> tag -->
+<?processing instructions are allowed in the same places as comments ?>
+<!DOCTYPE greeting [
+ <!ELEMENT greeting (#PCDATA)>
+]>
+<greeting>Hello, world!</greeting>
+"""
+
+nsdoc = "<foo xmlns='URI' attr='val'/>"
+
+from test import test_support
+import unittest
+# Silence Py3k warning
+xmllib = test_support.import_module('xmllib', deprecated=True)
+
+class XMLParserTestCase(unittest.TestCase):
+
+ def test_simple(self):
+ parser = xmllib.XMLParser()
+ for c in testdoc:
+ parser.feed(c)
+ parser.close()
+
+ def test_default_namespace(self):
+ class H(xmllib.XMLParser):
+ def unknown_starttag(self, name, attr):
+ self.name, self.attr = name, attr
+ h=H()
+ h.feed(nsdoc)
+ h.close()
+ # The default namespace applies to elements...
+ self.assertEqual(h.name, "URI foo")
+ # but not to attributes
+ self.assertEqual(h.attr, {'attr':'val'})
+
+
+def test_main():
+ test_support.run_unittest(XMLParserTestCase)
+
+if __name__ == "__main__":
+ test_main()