diff options
-rw-r--r-- | Lib/test/output/test_sax | 4 | ||||
-rw-r--r-- | Lib/test/test_sax.py | 35 |
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 |