mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
'''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()
 |