FileDocCategorySizeDatePackage
nodeinsertbeforenewchildexists.javaAPI DocAndroid 1.5 API4901Wed May 06 22:41:04 BST 2009org.w3c.domts.level1.core

nodeinsertbeforenewchildexists

public final class nodeinsertbeforenewchildexists extends org.w3c.domts.DOMTestCase
If the "newChild" is already in the tree, the "insertBefore(newChild,refChild)" method must first remove it before the insertion takes place. Insert a node Element ("employeeId") that is already present in the tree. The existing node should be removed first and the new one inserted. The node is inserted at a different position in the tree to assure that it was indeed inserted.
author
NIST
author
Mary Brady
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727

Fields Summary
Constructors Summary
public nodeinsertbeforenewchildexists(org.w3c.domts.DOMTestDocumentBuilderFactory factory)
Constructor.

param
factory document factory, may not be null
throws
org.w3c.domts.DOMTestIncompatibleException Thrown if test is not compatible with parser configuration

      super(factory);

    //
    //   check if loaded documents are supported for content type
    //
    String contentType = getContentType();
    preload(contentType, "staff", true);
    
Methods Summary
public java.lang.StringgetTargetURI()
Gets URI that identifies the test.

return
uri identifier of test

      return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodeinsertbeforenewchildexists";
   
public static voidmain(java.lang.String[] args)
Runs this test from the command line.

param
args command line arguments

        DOMTestCase.doMain(nodeinsertbeforenewchildexists.class, args);
   
public voidrunTest()
Runs the test case.

throws
Throwable Any uncaught exception causes test to fail

      Document doc;
      NodeList elementList;
      Node employeeNode;
      NodeList childList;
      Node refChild;
      Node newChild;
      Node child;
      int length;
      String childName;
      Node insertedNode;
      java.util.List expectedWhitespace = new java.util.ArrayList();
      expectedWhitespace.add("#text");
      expectedWhitespace.add("#text");
      expectedWhitespace.add("name");
      expectedWhitespace.add("#text");
      expectedWhitespace.add("position");
      expectedWhitespace.add("#text");
      expectedWhitespace.add("salary");
      expectedWhitespace.add("#text");
      expectedWhitespace.add("gender");
      expectedWhitespace.add("#text");
      expectedWhitespace.add("employeeId");
      expectedWhitespace.add("address");
      expectedWhitespace.add("#text");
      
      java.util.List expectedNoWhitespace = new java.util.ArrayList();
      expectedNoWhitespace.add("name");
      expectedNoWhitespace.add("position");
      expectedNoWhitespace.add("salary");
      expectedNoWhitespace.add("gender");
      expectedNoWhitespace.add("employeeId");
      expectedNoWhitespace.add("address");
      
      java.util.List expected = new java.util.ArrayList();
      
      java.util.List result = new java.util.ArrayList();
      
      doc = (Document) load("staff", true);
      elementList = doc.getElementsByTagName("employee");
      employeeNode = elementList.item(1);
      childList = employeeNode.getChildNodes();
      length = (int) childList.getLength();
      
      if (equals(6, length)) {
          expected =  expectedNoWhitespace;
      refChild = childList.item(5);
      newChild = childList.item(0);
      } else {
          expected =  expectedWhitespace;
      refChild = childList.item(11);
      newChild = childList.item(1);
      }
        
    insertedNode = employeeNode.insertBefore(newChild, refChild);
      for (int indexN100DD = 0; indexN100DD < childList.getLength(); indexN100DD++) {
          child = (Node) childList.item(indexN100DD);
    childName = child.getNodeName();
      result.add(childName);
        }
      assertEquals("childNames", expected, result);