python-2.5.2/win32/Lib/test/test_xmllib.py
changeset 0 ae805ac0140d
equal deleted inserted replaced
-1:000000000000 0:ae805ac0140d
       
     1 '''Test module to thest the xmllib module.
       
     2    Sjoerd Mullender
       
     3 '''
       
     4 
       
     5 testdoc = """\
       
     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 
       
    16 nsdoc = "<foo xmlns='URI' attr='val'/>"
       
    17 
       
    18 import warnings
       
    19 warnings.filterwarnings("ignore", ".* xmllib .* obsolete.*",
       
    20                         DeprecationWarning, r'xmllib$')
       
    21 
       
    22 from test import test_support
       
    23 import unittest
       
    24 import xmllib
       
    25 
       
    26 class XMLParserTestCase(unittest.TestCase):
       
    27 
       
    28     def test_simple(self):
       
    29         parser = xmllib.XMLParser()
       
    30         for c in testdoc:
       
    31             parser.feed(c)
       
    32         parser.close()
       
    33 
       
    34     def test_default_namespace(self):
       
    35         class H(xmllib.XMLParser):
       
    36             def unknown_starttag(self, name, attr):
       
    37                 self.name, self.attr = name, attr
       
    38         h=H()
       
    39         h.feed(nsdoc)
       
    40         h.close()
       
    41         # The default namespace applies to elements...
       
    42         self.assertEquals(h.name, "URI foo")
       
    43         # but not to attributes
       
    44         self.assertEquals(h.attr, {'attr':'val'})
       
    45 
       
    46 
       
    47 def test_main():
       
    48     test_support.run_unittest(XMLParserTestCase)
       
    49 
       
    50 if __name__ == "__main__":
       
    51     test_main()