Skip to content

Commit 791c97a

Browse files
committed
Add some tests for XPath numeric indexing
2 parents f69f961 + a80f761 commit 791c97a

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

Lib/test/test_xml_etree.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1776,6 +1776,23 @@ def test_find_simple(self):
17761776
# Issue #16922
17771777
self.assertEqual(ET.XML('<tag><empty /></tag>').findtext('empty'), '')
17781778

1779+
def test_find_xpath(self):
1780+
LINEAR_XML = '''
1781+
<body>
1782+
<tag class='a'/>
1783+
<tag class='b'/>
1784+
<tag class='c'/>
1785+
<tag class='d'/>
1786+
</body>'''
1787+
e = ET.XML(LINEAR_XML)
1788+
1789+
# Test for numeric indexing and last()
1790+
self.assertEqual(e.find('./tag[1]').attrib['class'], 'a')
1791+
self.assertEqual(e.find('./tag[2]').attrib['class'], 'b')
1792+
self.assertEqual(e.find('./tag[last()]').attrib['class'], 'd')
1793+
self.assertEqual(e.find('./tag[last()-1]').attrib['class'], 'c')
1794+
self.assertEqual(e.find('./tag[last()-2]').attrib['class'], 'b')
1795+
17791796
def test_findall(self):
17801797
e = ET.XML(SAMPLE_XML)
17811798
e[2] = ET.XML(SAMPLE_SECTION)

0 commit comments

Comments
 (0)