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

nodeinsertbeforenodeancestor

public final class nodeinsertbeforenodeancestor extends org.w3c.domts.DOMTestCase
The "insertBefore(newChild,refChild)" method raises a HIERARCHY_REQUEST_ERR DOMException if the node to be inserted is one of this nodes ancestors. Retrieve the second employee and attempt to insert a node that is one of its ancestors(root node). An attempt to insert such a node 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-952280727
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/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-952280727
see
http://www.w3.org/Bugs/Public/show_bug.cgi?id=249

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

param
args command line arguments

        DOMTestCase.doMain(nodeinsertbeforenodeancestor.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 refChild;
      Node insertedNode;
      doc = (Document) load("staff", true);
      newChild = doc.getDocumentElement();
      elementList = doc.getElementsByTagName("employee");
      employeeNode = elementList.item(1);
      childList = employeeNode.getChildNodes();
      refChild = childList.item(0);
      
      {
         boolean success = false;
         try {
            insertedNode = employeeNode.insertBefore(newChild, refChild);
          } catch (DOMException ex) {
            success = (ex.code == DOMException.HIERARCHY_REQUEST_ERR);
         }
         assertTrue("throw_HIERARCHY_REQUEST_ERR", success);
      }