summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_xml_etree.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_xml_etree.py')
-rw-r--r--Lib/test/test_xml_etree.py29
1 files changed, 27 insertions, 2 deletions
diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
index 8511cfe..5c2a2af 100644
--- a/Lib/test/test_xml_etree.py
+++ b/Lib/test/test_xml_etree.py
@@ -561,11 +561,21 @@ class ElementTreeTest(unittest.TestCase):
self.assertEqual(res, ['start-ns', 'end-ns'])
events = ("start", "end", "bogus")
- with self.assertRaises(ValueError) as cm:
- with open(SIMPLE_XMLFILE, "rb") as f:
+ with open(SIMPLE_XMLFILE, "rb") as f:
+ with self.assertRaises(ValueError) as cm:
iterparse(f, events)
+ self.assertFalse(f.closed)
self.assertEqual(str(cm.exception), "unknown event 'bogus'")
+ with warnings.catch_warnings(record=True) as w:
+ warnings.filterwarnings("always", category=ResourceWarning)
+ with self.assertRaises(ValueError) as cm:
+ iterparse(SIMPLE_XMLFILE, events)
+ self.assertEqual(str(cm.exception), "unknown event 'bogus'")
+ del cm
+ support.gc_collect()
+ self.assertEqual(w, [])
+
source = io.BytesIO(
b"<?xml version='1.0' encoding='iso-8859-1'?>\n"
b"<body xmlns='http://&#233;ffbot.org/ns'\n"
@@ -586,6 +596,21 @@ class ElementTreeTest(unittest.TestCase):
self.assertEqual(str(cm.exception),
'junk after document element: line 1, column 12')
+ with open(TESTFN, "wb") as f:
+ f.write(b"<document />junk")
+ it = iterparse(TESTFN)
+ action, elem = next(it)
+ self.assertEqual((action, elem.tag), ('end', 'document'))
+ with warnings.catch_warnings(record=True) as w:
+ warnings.filterwarnings("always", category=ResourceWarning)
+ with self.assertRaises(ET.ParseError) as cm:
+ next(it)
+ self.assertEqual(str(cm.exception),
+ 'junk after document element: line 1, column 12')
+ del cm, it
+ support.gc_collect()
+ self.assertEqual(w, [])
+
def test_writefile(self):
elem = ET.Element("tag")
elem.text = "text"