Staging
v0.8.1
v0.8.1
https://github.com/python/cpython
Revision abbb5e1f0130306494821b7ebb04f6d4af761b2c authored by Martin v. Löwis on 31 March 2006, 15:20:56 UTC, committed by Martin v. Löwis on 31 March 2006, 15:20:56 UTC
1 parent 4c97498
Tip revision: abbb5e1f0130306494821b7ebb04f6d4af761b2c authored by Martin v. Löwis on 31 March 2006, 15:20:56 UTC
Remove tag, to recreate it right away.
Remove tag, to recreate it right away.
Tip revision: abbb5e1
test_xmllib.py
'''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'/>"
import warnings
warnings.filterwarnings("ignore", ".* xmllib .* obsolete.*",
DeprecationWarning, r'xmllib$')
from test import test_support
import unittest
import xmllib
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.assertEquals(h.name, "URI foo")
# but not to attributes
self.assertEquals(h.attr, {'attr':'val'})
def test_main():
test_support.run_unittest(XMLParserTestCase)
if __name__ == "__main__":
test_main()
Computing file changes ...