mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +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()
 | 
