self.serialize_check(element, '<tag key="value"><subtag /></tag>') # 4
element.remove(subelement)
self.serialize_check(element, '<tag key="value" />') # 5
- with self.assertRaises(ValueError) as cm:
+ with self.assertRaisesRegex(ValueError,
+ r'Element\.remove\(.+\): element not found'):
element.remove(subelement)
- self.assertEqual(str(cm.exception), 'list.remove(x): x not in list')
self.serialize_check(element, '<tag key="value" />') # 6
element[0:0] = [subelement, subelement, subelement]
self.serialize_check(element[1], '<subtag />')
"""
# assert iselement(element)
- self._children.remove(subelement)
+ try:
+ self._children.remove(subelement)
+ except ValueError:
+ # to align the error message with the C implementation
+ raise ValueError("Element.remove(x): element not found") from None
def find(self, path, namespaces=None):
"""Find first matching element by tag name or path.
}
if (rc == 0) {
- PyErr_SetString(PyExc_ValueError, "list.remove(x): x not in list");
+ PyErr_SetString(PyExc_ValueError,
+ "Element.remove(x): element not found");
return NULL;
}