symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_xmllib.py
author Gareth Stockwell <gareth.stockwell@accenture.com>
Wed, 22 Sep 2010 15:40:40 +0100
branchgraphics-phase-3
changeset 111 345f1c88c950
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Fixes to syborg-graphicswrapper.vcproj These changes allow syborg-graphicswrapper to link against the hostthreadadapter and khronosapiwrapper libraries built by the graphics.simulator component. The .vcproj file uses relative paths, which requires that the following three packages are laid out as follows: os/ graphics adapt/ graphics.simulator qemu

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