123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- '''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()
|