#777884: make .normalize() do nothing for childless nodes, instead of raising an exception

This commit is contained in:
Andrew M. Kuchling 2010-07-25 23:38:47 +00:00
parent ea64a6a4ca
commit 688b9e384e
2 changed files with 12 additions and 0 deletions

View File

@ -951,6 +951,14 @@ class MinidomTest(unittest.TestCase):
doc.unlink() doc.unlink()
def testBug0777884(self):
doc = parseString("<o>text</o>")
text = doc.documentElement.childNodes[0]
self.assertEquals(text.nodeType, Node.TEXT_NODE)
# Should run quietly, doing nothing.
text.normalize()
doc.unlink()
def testBug1433694(self): def testBug1433694(self):
doc = parseString("<o><i/>t</o>") doc = parseString("<o><i/>t</o>")
node = doc.documentElement node = doc.documentElement

View File

@ -920,6 +920,10 @@ class Childless:
raise xml.dom.NotFoundErr( raise xml.dom.NotFoundErr(
self.nodeName + " nodes do not have children") self.nodeName + " nodes do not have children")
def normalize(self):
# For childless nodes, normalize() has nothing to do.
pass
def replaceChild(self, newChild, oldChild): def replaceChild(self, newChild, oldChild):
raise xml.dom.HierarchyRequestErr( raise xml.dom.HierarchyRequestErr(
self.nodeName + " nodes do not have children") self.nodeName + " nodes do not have children")