summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-10-25 07:37:01 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2016-10-25 07:37:01 (GMT)
commit036fb15435a2b5fb8acb200ee694b1d50c87a3a9 (patch)
treefba4ce3e7b5d6df72da18de938c30f20ec945287
parent839023f12cd589a25e7e9e2ee1ed64485ab45fd9 (diff)
downloadcpython-036fb15435a2b5fb8acb200ee694b1d50c87a3a9.zip
cpython-036fb15435a2b5fb8acb200ee694b1d50c87a3a9.tar.gz
cpython-036fb15435a2b5fb8acb200ee694b1d50c87a3a9.tar.bz2
Issue #28314: Added tests for xml.etree.ElementTree.Element.getiterator().
-rw-r--r--Lib/test/test_xml_etree.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
index fbfc0b0..6c7616b 100644
--- a/Lib/test/test_xml_etree.py
+++ b/Lib/test/test_xml_etree.py
@@ -2191,9 +2191,41 @@ class ElementIterTest(unittest.TestCase):
# make sure both tag=None and tag='*' return all tags
all_tags = ['document', 'house', 'room', 'room',
'shed', 'house', 'room']
+ self.assertEqual(summarize_list(doc.iter()), all_tags)
self.assertEqual(self._ilist(doc), all_tags)
self.assertEqual(self._ilist(doc, '*'), all_tags)
+ def test_getiterator(self):
+ doc = ET.XML('''
+ <document>
+ <house>
+ <room>bedroom1</room>
+ <room>bedroom2</room>
+ </house>
+ <shed>nothing here
+ </shed>
+ <house>
+ <room>bedroom8</room>
+ </house>
+ </document>''')
+
+ self.assertEqual(summarize_list(doc.getiterator('room')),
+ ['room'] * 3)
+ self.assertEqual(summarize_list(doc.getiterator('house')),
+ ['house'] * 2)
+
+ # test that getiterator also accepts 'tag' as a keyword arg
+ self.assertEqual(
+ summarize_list(doc.getiterator(tag='room')),
+ ['room'] * 3)
+
+ # make sure both tag=None and tag='*' return all tags
+ all_tags = ['document', 'house', 'room', 'room',
+ 'shed', 'house', 'room']
+ self.assertEqual(summarize_list(doc.getiterator()), all_tags)
+ self.assertEqual(summarize_list(doc.getiterator(None)), all_tags)
+ self.assertEqual(summarize_list(doc.getiterator('*')), all_tags)
+
def test_copy(self):
a = ET.Element('a')
it = a.iter()