summaryrefslogtreecommitdiff
path: root/Lib/test/test_pyexpat.py
diff options
context:
space:
mode:
authorNed Deily <nad@acm.org>2014-03-27 16:39:58 -0700
committerNed Deily <nad@acm.org>2014-03-27 16:39:58 -0700
commite7d532fbc9c13e00b1e5c6c0db2dba31d1212de7 (patch)
tree2bd2f23bfd2bcc454c47ff4dfad438b2e9114af1 /Lib/test/test_pyexpat.py
parent2542b66bb04e5634410205f54523987dce9e5bf7 (diff)
downloadcpython-git-e7d532fbc9c13e00b1e5c6c0db2dba31d1212de7.tar.gz
Issue #6676: Ensure a meaningful exception is raised when attempting
to parse more than one XML document per pyexpat xmlparser instance. (Original patches by Hirokazu Yamamoto and Amaury Forgeot d'Arc, with suggested wording by David Gutteridge)
Diffstat (limited to 'Lib/test/test_pyexpat.py')
-rw-r--r--Lib/test/test_pyexpat.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/test/test_pyexpat.py b/Lib/test/test_pyexpat.py
index 8ef391791f..95a614bb9b 100644
--- a/Lib/test/test_pyexpat.py
+++ b/Lib/test/test_pyexpat.py
@@ -236,6 +236,18 @@ class ParseTest(unittest.TestCase):
operations = out.out
self._verify_parse_output(operations)
+ def test_parse_again(self):
+ parser = expat.ParserCreate()
+ file = BytesIO(data)
+ parser.ParseFile(file)
+ # Issue 6676: ensure a meaningful exception is raised when attempting
+ # to parse more than one XML document per xmlparser instance,
+ # a limitation of the Expat library.
+ with self.assertRaises(expat.error) as cm:
+ parser.ParseFile(file)
+ self.assertEqual(expat.ErrorString(cm.exception.code),
+ expat.errors.XML_ERROR_FINISHED)
+
class NamespaceSeparatorTest(unittest.TestCase):
def test_legal(self):
# Tests that make sure we get errors when the namespace_separator value