summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2000-10-06 21:13:23 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2000-10-06 21:13:23 (GMT)
commit80670bcabaf071bfe9131f3907b44632a672f9cb (patch)
tree22c260c276cd483272defb8bf19a16750485127c
parent31b485ffb0572fb1e71ee7ab6fb4a641a4710870 (diff)
downloadcpython-80670bcabaf071bfe9131f3907b44632a672f9cb.zip
cpython-80670bcabaf071bfe9131f3907b44632a672f9cb.tar.gz
cpython-80670bcabaf071bfe9131f3907b44632a672f9cb.tar.bz2
Add a test case for reporting the file name, and for reporting an error
for incomplete input.
-rw-r--r--Lib/test/output/test_sax4
-rw-r--r--Lib/test/test_sax.py35
2 files changed, 36 insertions, 3 deletions
diff --git a/Lib/test/output/test_sax b/Lib/test/output/test_sax
index d2ccf88..3667e81 100644
--- a/Lib/test/output/test_sax
+++ b/Lib/test/output/test_sax
@@ -8,7 +8,9 @@ Passed test_expat_attrs_empty
Passed test_expat_attrs_wattr
Passed test_expat_dtdhandler
Passed test_expat_entityresolver
+Passed test_expat_incomplete
Passed test_expat_inpsource_filename
+Passed test_expat_inpsource_location
Passed test_expat_inpsource_stream
Passed test_expat_inpsource_sysid
Passed test_expat_nsattrs_empty
@@ -23,4 +25,4 @@ Passed test_xmlgen_content_escape
Passed test_xmlgen_ignorable
Passed test_xmlgen_ns
Passed test_xmlgen_pi
-24 tests, 0 failures
+26 tests, 0 failures
diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py
index b3576ab..e080217 100644
--- a/Lib/test/test_sax.py
+++ b/Lib/test/test_sax.py
@@ -2,10 +2,11 @@
# regression test for SAX 2.0
# $Id$
-from xml.sax import make_parser, ContentHandler
+from xml.sax import make_parser, ContentHandler, \
+ SAXException, SAXReaderNotAvailable, SAXParseException
try:
make_parser()
-except xml.sax.SAXReaderNotAvailable:
+except SAXReaderNotAvailable:
# don't try to test this module if we cannot create a parser
raise ImportError("no XML parsers available")
from xml.sax.saxutils import XMLGenerator, escape, XMLFilterBase
@@ -313,6 +314,36 @@ def test_expat_inpsource_stream():
return result.getvalue() == xml_test_out
+
+# ===========================================================================
+#
+# error reporting
+#
+# ===========================================================================
+
+def test_expat_inpsource_location():
+ parser = create_parser()
+ parser.setContentHandler(ContentHandler()) # do nothing
+ source = InputSource()
+ source.setByteStream(StringIO("<foo bar foobar>")) #ill-formed
+ name = "a file name"
+ source.setSystemId(name)
+ try:
+ parser.parse(source)
+ except SAXException, e:
+ return e.getSystemId() == name
+
+def test_expat_incomplete():
+ parser = create_parser()
+ parser.setContentHandler(ContentHandler()) # do nothing
+ try:
+ parser.parse(StringIO("<foo>"))
+ except SAXParseException:
+ return 1 # ok, error found
+ else:
+ return 0
+
+
# ===========================================================================
#
# xmlreader tests