| 
									
										
										
										
											1998-01-29 14:55:24 +00:00
										 |  |  | '''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 --> | 
					
						
							| 
									
										
										
										
											2001-05-22 20:22:06 +00:00
										 |  |  | <?processing instructions are allowed in the same places as comments ?> | 
					
						
							| 
									
										
										
										
											1998-01-29 14:55:24 +00:00
										 |  |  | <!DOCTYPE greeting [ | 
					
						
							|  |  |  |   <!ELEMENT greeting (#PCDATA)> | 
					
						
							|  |  |  | ]> | 
					
						
							|  |  |  | <greeting>Hello, world!</greeting> | 
					
						
							|  |  |  | """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-05-02 20:37:13 +00:00
										 |  |  | nsdoc = "<foo xmlns='URI' attr='val'/>" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-04-11 20:18:40 +00:00
										 |  |  | import warnings | 
					
						
							|  |  |  | warnings.filterwarnings("ignore", ".* xmllib .* obsolete.*", | 
					
						
							| 
									
										
										
										
											2002-04-16 01:27:44 +00:00
										 |  |  |                         DeprecationWarning, r'xmllib$') | 
					
						
							| 
									
										
										
										
											2002-04-11 20:18:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-07-23 19:04:11 +00:00
										 |  |  | from test import test_support | 
					
						
							| 
									
										
										
										
											2001-05-22 20:22:06 +00:00
										 |  |  | import unittest | 
					
						
							| 
									
										
										
										
											1998-01-29 14:55:24 +00:00
										 |  |  | import xmllib | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-05-22 20:22:06 +00:00
										 |  |  | class XMLParserTestCase(unittest.TestCase): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_simple(self): | 
					
						
							|  |  |  |         parser = xmllib.XMLParser() | 
					
						
							|  |  |  |         for c in testdoc: | 
					
						
							|  |  |  |             parser.feed(c) | 
					
						
							|  |  |  |         parser.close() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-05-02 20:37:13 +00:00
										 |  |  |     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'}) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-05-22 20:22:06 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-09-20 21:33:42 +00:00
										 |  |  | def test_main(): | 
					
						
							|  |  |  |     test_support.run_unittest(XMLParserTestCase) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == "__main__": | 
					
						
							|  |  |  |     test_main() |