MCPcopy Index your code
hub / github.com/python/cpython / test_interface

Method test_interface

Lib/test/test_xml_etree.py:248–312  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

246 tree._setroot(None)
247
248 def test_interface(self):
249 # Test element tree interface.
250
251 def check_element(element):
252 self.assertTrue(ET.iselement(element), msg="not an element")
253 direlem = dir(element)
254 for attr in 'tag', 'attrib', 'text', 'tail':
255 self.assertHasAttr(element, attr)
256 self.assertIn(attr, direlem,
257 msg='no %s visible by dir' % attr)
258
259 self.assertIsInstance(element.tag, str)
260 self.assertIsInstance(element.attrib, dict)
261 if element.text is not None:
262 self.assertIsInstance(element.text, str)
263 if element.tail is not None:
264 self.assertIsInstance(element.tail, str)
265 for elem in element:
266 check_element(elem)
267
268 element = ET.Element("tag")
269 check_element(element)
270 tree = ET.ElementTree(element)
271 check_element(tree.getroot())
272 element = ET.Element("t\xe4g", key="value")
273 tree = ET.ElementTree(element)
274 self.assertRegex(repr(element), r"^<Element 't\xe4g' at 0x.*>$")
275 element = ET.Element("tag", key="value")
276
277 # Make sure all standard element methods exist.
278
279 def check_method(method):
280 self.assertHasAttr(method, '__call__',
281 msg="%s not callable" % method)
282
283 check_method(element.append)
284 check_method(element.extend)
285 check_method(element.insert)
286 check_method(element.remove)
287 check_method(element.find)
288 check_method(element.iterfind)
289 check_method(element.findall)
290 check_method(element.findtext)
291 check_method(element.clear)
292 check_method(element.get)
293 check_method(element.set)
294 check_method(element.keys)
295 check_method(element.items)
296 check_method(element.iter)
297 check_method(element.itertext)
298
299 # These methods return an iterable. See bug 6472.
300
301 def check_iter(it):
302 check_method(it.__next__)
303
304 check_iter(element.iterfind("tag"))
305 check_iter(element.iterfind("*"))

Callers

nothing calls this directly

Calls 5

getrootMethod · 0.95
iterfindMethod · 0.95
iterfindMethod · 0.95
assertRegexMethod · 0.80
assertEqualMethod · 0.45

Tested by

no test coverage detected