Commit 7cb60f5f authored by Martin v. Löwis's avatar Martin v. Löwis

Add a test case for reporting the file name, and for reporting an error

for incomplete input.
parent 1342b663
...@@ -8,7 +8,9 @@ Passed test_expat_attrs_empty ...@@ -8,7 +8,9 @@ Passed test_expat_attrs_empty
Passed test_expat_attrs_wattr Passed test_expat_attrs_wattr
Passed test_expat_dtdhandler Passed test_expat_dtdhandler
Passed test_expat_entityresolver Passed test_expat_entityresolver
Passed test_expat_incomplete
Passed test_expat_inpsource_filename Passed test_expat_inpsource_filename
Passed test_expat_inpsource_location
Passed test_expat_inpsource_stream Passed test_expat_inpsource_stream
Passed test_expat_inpsource_sysid Passed test_expat_inpsource_sysid
Passed test_expat_nsattrs_empty Passed test_expat_nsattrs_empty
...@@ -23,4 +25,4 @@ Passed test_xmlgen_content_escape ...@@ -23,4 +25,4 @@ Passed test_xmlgen_content_escape
Passed test_xmlgen_ignorable Passed test_xmlgen_ignorable
Passed test_xmlgen_ns Passed test_xmlgen_ns
Passed test_xmlgen_pi Passed test_xmlgen_pi
24 tests, 0 failures 26 tests, 0 failures
...@@ -2,10 +2,11 @@ ...@@ -2,10 +2,11 @@
# regression test for SAX 2.0 # regression test for SAX 2.0
# $Id$ # $Id$
from xml.sax import make_parser, ContentHandler from xml.sax import make_parser, ContentHandler, \
SAXException, SAXReaderNotAvailable, SAXParseException
try: try:
make_parser() make_parser()
except xml.sax.SAXReaderNotAvailable: except SAXReaderNotAvailable:
# don't try to test this module if we cannot create a parser # don't try to test this module if we cannot create a parser
raise ImportError("no XML parsers available") raise ImportError("no XML parsers available")
from xml.sax.saxutils import XMLGenerator, escape, XMLFilterBase from xml.sax.saxutils import XMLGenerator, escape, XMLFilterBase
...@@ -313,6 +314,36 @@ def test_expat_inpsource_stream(): ...@@ -313,6 +314,36 @@ def test_expat_inpsource_stream():
return result.getvalue() == xml_test_out 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 # xmlreader tests
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment