[Python-checkins] CVS: python/dist/src/Lib/test test_minidom.py,1.29,1.30
Fred L. Drake
fdrake@users.sourceforge.net
Wed, 05 Dec 2001 20:32:20 -0800
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv17611/test
Modified Files:
test_minidom.py
Log Message:
Fix appendChild() and insertBefore() (and replaceChild() indirectly) when
the node being added is a fragment node.
This closes SF bug #487929.
Index: test_minidom.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_minidom.py,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -d -r1.29 -r1.30
*** test_minidom.py 2001/10/24 20:32:02 1.29
--- test_minidom.py 2001/12/06 04:32:18 1.30
***************
*** 80,83 ****
--- 80,111 ----
dom.unlink()
+ def _create_fragment_test_nodes():
+ dom = parseString("<doc/>")
+ orig = dom.createTextNode("original")
+ c1 = dom.createTextNode("foo")
+ c2 = dom.createTextNode("bar")
+ c3 = dom.createTextNode("bat")
+ dom.documentElement.appendChild(orig)
+ frag = dom.createDocumentFragment()
+ frag.appendChild(c1)
+ frag.appendChild(c2)
+ frag.appendChild(c3)
+ return dom, orig, c1, c2, c3, frag
+
+ def testInsertBeforeFragment():
+ dom, orig, c1, c2, c3, frag = _create_fragment_test_nodes()
+ dom.documentElement.insertBefore(frag, None)
+ confirm(tuple(dom.documentElement.childNodes) == (orig, c1, c2, c3),
+ "insertBefore(<fragment>, None)")
+ frag.unlink()
+ dom.unlink()
+ #
+ dom, orig, c1, c2, c3, frag = _create_fragment_test_nodes()
+ dom.documentElement.insertBefore(frag, orig)
+ confirm(tuple(dom.documentElement.childNodes) == (c1, c2, c3, orig),
+ "insertBefore(<fragment>, orig)")
+ frag.unlink()
+ dom.unlink()
+
def testAppendChild():
dom = parse(tstfile)
***************
*** 85,88 ****
--- 113,133 ----
confirm(dom.documentElement.childNodes[-1].nodeName == "#comment")
confirm(dom.documentElement.childNodes[-1].data == "Hello")
+ dom.unlink()
+
+ def testAppendChildFragment():
+ dom, orig, c1, c2, c3, frag = _create_fragment_test_nodes()
+ dom.documentElement.appendChild(frag)
+ confirm(tuple(dom.documentElement.childNodes) == (orig, c1, c2, c3),
+ "appendChild(<fragment>)")
+ frag.unlink()
+ dom.unlink()
+
+ def testReplaceChildFragment():
+ dom, orig, c1, c2, c3, frag = _create_fragment_test_nodes()
+ dom.documentElement.replaceChild(frag, orig)
+ orig.unlink()
+ confirm(tuple(dom.documentElement.childNodes) == (c1, c2, c3),
+ "replaceChild(<fragment>)")
+ frag.unlink()
dom.unlink()