source: python/trunk/Lib/test/test_xmllib.py

Last change on this file was 391, checked in by dmik, 11 years ago

python: Merge vendor 2.7.6 to trunk.

  • Property svn:eol-style set to native
File size: 1.3 KB
Line 
1'''Test module to thest the xmllib module.
2 Sjoerd Mullender
3'''
4
5testdoc = """\
6<?xml version="1.0" encoding="UTF-8" standalone='yes' ?>
7<!-- comments aren't allowed before the <?xml?> tag,
8 but they are allowed before the <!DOCTYPE> tag -->
9<?processing instructions are allowed in the same places as comments ?>
10<!DOCTYPE greeting [
11 <!ELEMENT greeting (#PCDATA)>
12]>
13<greeting>Hello, world!</greeting>
14"""
15
16nsdoc = "<foo xmlns='URI' attr='val'/>"
17
18from test import test_support
19import unittest
20# Silence Py3k warning
21xmllib = test_support.import_module('xmllib', deprecated=True)
22
23class XMLParserTestCase(unittest.TestCase):
24
25 def test_simple(self):
26 parser = xmllib.XMLParser()
27 for c in testdoc:
28 parser.feed(c)
29 parser.close()
30
31 def test_default_namespace(self):
32 class H(xmllib.XMLParser):
33 def unknown_starttag(self, name, attr):
34 self.name, self.attr = name, attr
35 h=H()
36 h.feed(nsdoc)
37 h.close()
38 # The default namespace applies to elements...
39 self.assertEqual(h.name, "URI foo")
40 # but not to attributes
41 self.assertEqual(h.attr, {'attr':'val'})
42
43
44def test_main():
45 test_support.run_unittest(XMLParserTestCase)
46
47if __name__ == "__main__":
48 test_main()
Note: See TracBrowser for help on using the repository browser.