[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()