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

nodeclonenodetrue

public final class nodeclonenodetrue extends org.w3c.domts.DOMTestCase
The "cloneNode(deep)" method returns a copy of the node and the subtree under it if deep=true. Retrieve the second employee and invoke the "cloneNode(deep)" method with deep=true. The method should clone this node and the subtree under it. The NodeName of each child in the returned node is checked to insure the entire subtree under the second employee was cloned.
author
NIST
author
Mary Brady
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4

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

param
args command line arguments

        DOMTestCase.doMain(nodeclonenodetrue.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 clonedNode;
      NodeList clonedList;
      Node clonedChild;
      String clonedChildName;
      int length;
      java.util.List result = new java.util.ArrayList();
      
      java.util.List expectedWhitespace = new java.util.ArrayList();
      expectedWhitespace.add("#text");
      expectedWhitespace.add("employeeId");
      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("address");
      expectedWhitespace.add("#text");
      
      java.util.List expectedNoWhitespace = new java.util.ArrayList();
      expectedNoWhitespace.add("employeeId");
      expectedNoWhitespace.add("name");
      expectedNoWhitespace.add("position");
      expectedNoWhitespace.add("salary");
      expectedNoWhitespace.add("gender");
      expectedNoWhitespace.add("address");
      
      doc = (Document) load("staff", true);
      elementList = doc.getElementsByTagName("employee");
      employeeNode = elementList.item(1);
      childList = employeeNode.getChildNodes();
      length = (int) childList.getLength();
      clonedNode = employeeNode.cloneNode(true);
      clonedList = clonedNode.getChildNodes();
      for (int indexN100AE = 0; indexN100AE < clonedList.getLength(); indexN100AE++) {
          clonedChild = (Node) clonedList.item(indexN100AE);
    clonedChildName = clonedChild.getNodeName();
      result.add(clonedChildName);
        }
      
      if (equals(6, length)) {
          assertEquals("nowhitespace", expectedNoWhitespace, result);
      } else {
          assertEquals("whitespace", expectedWhitespace, result);
      }