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

nodereplacechildnewchildexists

public final class nodereplacechildnewchildexists extends org.w3c.domts.DOMTestCase
Retrieve the second employee and replace its TWELFTH child(address) with its SECOND child(employeeId). After the replacement the second child should now be the one that used to be at the third position and the TWELFTH child should be the one that used to be at the SECOND position.
author
NIST
author
Mary Brady
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307

Fields Summary
Constructors Summary
public nodereplacechildnewchildexists(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/nodereplacechildnewchildexists";
   
public static voidmain(java.lang.String[] args)
Runs this test from the command line.

param
args command line arguments

        DOMTestCase.doMain(nodereplacechildnewchildexists.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 oldChild = null;

      Node newChild = null;

      String childName;
      Node childNode;
      int length;
      java.util.List actual = new java.util.ArrayList();
      
      java.util.List expected = new java.util.ArrayList();
      
      java.util.List expectedWithoutWhitespace = new java.util.ArrayList();
      expectedWithoutWhitespace.add("name");
      expectedWithoutWhitespace.add("position");
      expectedWithoutWhitespace.add("salary");
      expectedWithoutWhitespace.add("gender");
      expectedWithoutWhitespace.add("employeeId");
      
      java.util.List expectedWithWhitespace = new java.util.ArrayList();
      expectedWithWhitespace.add("#text");
      expectedWithWhitespace.add("#text");
      expectedWithWhitespace.add("name");
      expectedWithWhitespace.add("#text");
      expectedWithWhitespace.add("position");
      expectedWithWhitespace.add("#text");
      expectedWithWhitespace.add("salary");
      expectedWithWhitespace.add("#text");
      expectedWithWhitespace.add("gender");
      expectedWithWhitespace.add("#text");
      expectedWithWhitespace.add("employeeId");
      expectedWithWhitespace.add("#text");
      
      Node replacedChild;
      doc = (Document) load("staff", true);
      elementList = doc.getElementsByTagName("employee");
      employeeNode = elementList.item(1);
      childList = employeeNode.getChildNodes();
      length = (int) childList.getLength();
      
      if (equals(13, length)) {
          newChild = childList.item(1);
      oldChild = childList.item(11);
      expected =  expectedWithWhitespace;
      } else {
          newChild = childList.item(0);
      oldChild = childList.item(5);
      expected =  expectedWithoutWhitespace;
      }
        
    replacedChild = employeeNode.replaceChild(newChild, oldChild);
      assertSame("return_value_same", oldChild, replacedChild);
for (int indexN100DE = 0; indexN100DE < childList.getLength(); indexN100DE++) {
          childNode = (Node) childList.item(indexN100DE);
    childName = childNode.getNodeName();
      actual.add(childName);
        }
      assertEquals("childNames", expected, actual);