bpo-43399: Fix ElementTree.extend not working on iterators (GH-24751)

This commit is contained in:
Alex Prengère 2021-03-30 23:11:29 +02:00 committed by GitHub
parent 73b20ae2fb
commit 51a85ddce8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 7 additions and 1 deletions

View File

@ -330,6 +330,9 @@ def test_simpleops(self):
elem.extend([e]) elem.extend([e])
self.serialize_check(elem, '<body><tag /><tag2 /></body>') self.serialize_check(elem, '<body><tag /><tag2 /></body>')
elem.remove(e) elem.remove(e)
elem.extend(iter([e]))
self.serialize_check(elem, '<body><tag /><tag2 /></body>')
elem.remove(e)
element = ET.Element("tag", key="value") element = ET.Element("tag", key="value")
self.serialize_check(element, '<tag key="value" />') # 1 self.serialize_check(element, '<tag key="value" />') # 1

View File

@ -252,7 +252,7 @@ def extend(self, elements):
""" """
for element in elements: for element in elements:
self._assert_is_element(element) self._assert_is_element(element)
self._children.extend(elements) self._children.append(element)
def insert(self, index, subelement): def insert(self, index, subelement):
"""Insert *subelement* at position *index*.""" """Insert *subelement* at position *index*."""

View File

@ -1381,6 +1381,7 @@ Matheus Vieira Portela
Davin Potts Davin Potts
Guillaume Pratte Guillaume Pratte
Florian Preinstorfer Florian Preinstorfer
Alex Prengère
Amrit Prem Amrit Prem
Paul Prescod Paul Prescod
Donovan Preston Donovan Preston

View File

@ -0,0 +1,2 @@
Fix ``ElementTree.extend`` not working on iterators when using the
Python implementation