@@ -298,7 +298,7 @@ def __delitem__(self, index):
298298 # @param element The element to add.
299299
300300 def append (self , element ):
301- # assert iselement (element)
301+ self . _assert_is_element (element )
302302 self ._children .append (element )
303303
304304 ##
@@ -308,8 +308,8 @@ def append(self, element):
308308 # @since 1.3
309309
310310 def extend (self , elements ):
311- # for element in elements:
312- # assert iselement (element)
311+ for element in elements :
312+ self . _assert_is_element (element )
313313 self ._children .extend (elements )
314314
315315 ##
@@ -318,9 +318,13 @@ def extend(self, elements):
318318 # @param index Where to insert the new subelement.
319319
320320 def insert (self , index , element ):
321- # assert iselement (element)
321+ self . _assert_is_element (element )
322322 self ._children .insert (index , element )
323323
324+ def _assert_is_element (self , e ):
325+ if not isinstance (e , Element ):
326+ raise TypeError ('expected an Element, not %s' % type (e ).__name__ )
327+
324328 ##
325329 # Removes a matching subelement. Unlike the <b>find</b> methods,
326330 # this method compares elements based on identity, not on tag
0 commit comments