Skip to content

Commit 31d2ebb

Browse files
committed
bpo-14465: Extend test to cover an argument error case.
1 parent a22429c commit 31d2ebb

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

Lib/test/test_xml_etree.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -875,6 +875,13 @@ def test_indent_space_caching(self):
875875

876876
def test_indent_level(self):
877877
elem = ET.XML("<html><body><p>pre<br/>post</p><p>text</p></body></html>")
878+
with self.assertRaises(ValueError):
879+
ET.indent(elem, level=-1)
880+
self.assertEqual(
881+
ET.tostring(elem),
882+
b"<html><body><p>pre<br />post</p><p>text</p></body></html>"
883+
)
884+
878885
ET.indent(elem, level=2)
879886
self.assertEqual(
880887
ET.tostring(elem),

Lib/xml/etree/ElementTree.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1203,6 +1203,8 @@ def indent(tree, space=" ", level=0):
12031203
"""
12041204
if isinstance(tree, ElementTree):
12051205
tree = tree.getroot()
1206+
if level < 0:
1207+
raise ValueError(f"Initial indentation level must be >= 0, got {level}")
12061208
if not len(tree):
12071209
return
12081210

0 commit comments

Comments
 (0)