Patch #103854: raises an exception if a non-Attr node is passed to
NamedNodeMap.setNamedItem(). Martin, should I sync the PyXML tree, too, or do you want to do it? (I don't know if you're wrapping the 0.6.4 release right now.)
This commit is contained in:
parent
8b94b1c74a
commit
bc8f72cccc
|
@ -98,6 +98,17 @@ def testLegalChildren():
|
|||
else:
|
||||
print "dom.appendChild didn't raise HierarchyRequestErr"
|
||||
|
||||
nodemap = elem.attributes
|
||||
try: nodemap.setNamedItem(text)
|
||||
except HierarchyRequestErr: pass
|
||||
else:
|
||||
print "NamedNodeMap.setNamedItem didn't raise HierarchyRequestErr"
|
||||
|
||||
try: nodemap.setNamedItemNS(text)
|
||||
except HierarchyRequestErr: pass
|
||||
else:
|
||||
print "NamedNodeMap.setNamedItemNS didn't raise HierarchyRequestErr"
|
||||
|
||||
elem.appendChild(text)
|
||||
dom.unlink()
|
||||
|
||||
|
|
|
@ -378,6 +378,9 @@ class NamedNodeMap:
|
|||
self.setNamedItem(node)
|
||||
|
||||
def setNamedItem(self, node):
|
||||
if not isinstance(node, Attr):
|
||||
raise HierarchyRequestErr, \
|
||||
"%s cannot be child of %s" % (repr(node), repr(self))
|
||||
old = self._attrs.get(node.name)
|
||||
if old:
|
||||
old.unlink()
|
||||
|
|
Loading…
Reference in New Issue