diff options
-rw-r--r-- | Lib/test/output/test_sax | 5 | ||||
-rw-r--r-- | Lib/test/test_sax.py | 52 |
2 files changed, 55 insertions, 2 deletions
diff --git a/Lib/test/output/test_sax b/Lib/test/output/test_sax index 873ed51..19aa71c 100644 --- a/Lib/test/output/test_sax +++ b/Lib/test/output/test_sax @@ -6,6 +6,9 @@ Passed test_escape_basic Passed test_escape_extra Passed test_expat_attrs_empty Passed test_expat_attrs_wattr +Passed test_expat_inpsource_filename +Passed test_expat_inpsource_stream +Passed test_expat_inpsource_sysid Passed test_expat_nsattrs_empty Passed test_expat_nsattrs_wattr Passed test_filter_basic @@ -17,4 +20,4 @@ Passed test_xmlgen_content_escape Passed test_xmlgen_ignorable Passed test_xmlgen_ns Passed test_xmlgen_pi -18 tests, 0 failures +21 tests, 0 failures diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py index 1e7e037..8ff3dac 100644 --- a/Lib/test/test_sax.py +++ b/Lib/test/test_sax.py @@ -4,7 +4,7 @@ from xml.sax.saxutils import XMLGenerator, escape, XMLFilterBase from xml.sax.expatreader import create_parser -from xml.sax.xmlreader import AttributesImpl, AttributesNSImpl +from xml.sax.xmlreader import InputSource, AttributesImpl, AttributesNSImpl from xml.sax.handler import ContentHandler from cStringIO import StringIO from test_support import verbose, TestFailed @@ -238,6 +238,42 @@ def test_expat_nsattrs_wattr(): attrs.getValue((ns_uri, "attr")) == "val" and \ attrs[(ns_uri, "attr")] == "val" +# ===== InputSource support + +xml_test_out = open("test.xml.out").read() + +def test_expat_inpsource_filename(): + parser = create_parser() + result = StringIO() + xmlgen = XMLGenerator(result) + + parser.setContentHandler(xmlgen) + parser.parse("test.xml") + + return result.getvalue() == xml_test_out + +def test_expat_inpsource_sysid(): + parser = create_parser() + result = StringIO() + xmlgen = XMLGenerator(result) + + parser.setContentHandler(xmlgen) + parser.parse(InputSource("test.xml")) + + return result.getvalue() == xml_test_out + +def test_expat_inpsource_stream(): + parser = create_parser() + result = StringIO() + xmlgen = XMLGenerator(result) + + parser.setContentHandler(xmlgen) + inpsrc = InputSource() + inpsrc.setByteStream(open("test.xml")) + parser.parse(inpsrc) + + return result.getvalue() == xml_test_out + # =========================================================================== # # xmlreader tests @@ -383,6 +419,18 @@ def test_nsattrs_wattr(): # ===== Main program +def make_test_output(): + parser = create_parser() + result = StringIO() + xmlgen = XMLGenerator(result) + + parser.setContentHandler(xmlgen) + parser.parse("test.xml") + + outf = open("test.xml.out", "w") + outf.write(result.getvalue()) + outf.close() + items = locals().items() items.sort() for (name, value) in items: @@ -392,3 +440,5 @@ for (name, value) in items: print "%d tests, %d failures" % (tests, fails) if fails != 0: raise TestFailed, "%d of %d tests failed" % (fails, tests) + +make_test_output() |