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

nodereplacechildnodeancestor

public final class nodereplacechildnodeancestor extends org.w3c.domts.DOMTestCase
The "replaceChild(newChild,oldChild)" method raises a HIERARCHY_REQUEST_ERR DOMException if the node to put in is one of this node's ancestors. Retrieve the second employee and attempt to replace one of its children with an ancestor node(root node). An attempt to make such a replacement should raise the desired exception.
author
NIST
author
Mary Brady
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR'])
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307
see
http://www.w3.org/Bugs/Public/show_bug.cgi?id=249

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

param
args command line arguments

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

throws
Throwable Any uncaught exception causes test to fail

      Document doc;
      Node newChild;
      NodeList elementList;
      Node employeeNode;
      NodeList childList;
      Node oldChild;
      Node replacedNode;
      doc = (Document) load("staff", true);
      newChild = doc.getDocumentElement();
      elementList = doc.getElementsByTagName("employee");
      employeeNode = elementList.item(1);
      childList = employeeNode.getChildNodes();
      oldChild = childList.item(0);
      
      {
         boolean success = false;
         try {
            replacedNode = employeeNode.replaceChild(newChild, oldChild);
          } catch (DOMException ex) {
            success = (ex.code == DOMException.HIERARCHY_REQUEST_ERR);
         }
         assertTrue("throw_HIERARCHY_REQUEST_ERR", success);
      }