summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/output/test_sax5
-rw-r--r--Lib/test/test_sax.py52
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()