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

nodereplacechildnewchilddiffdocument

public final class nodereplacechildnewchilddiffdocument extends org.w3c.domts.DOMTestCase
The "replaceChild(newChild,oldChild)" method raises a WRONG_DOCUMENT_ERR DOMException if the "newChild" was created from a different document than the one that created this node. Retrieve the second employee and attempt to replace one of its children with a node created from a different document. 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='NOT_FOUND_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(.,':')='NOT_FOUND_ERR'])
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307

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

param
args command line arguments

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

throws
Throwable Any uncaught exception causes test to fail

      Document doc1;
      Document doc2;
      Node oldChild;
      Node newChild;
      NodeList elementList;
      Node elementNode;
      Node replacedChild;
      doc1 = (Document) load("staff", false);
      doc2 = (Document) load("staff", true);
      newChild = doc1.createElement("newChild");
      elementList = doc2.getElementsByTagName("employee");
      elementNode = elementList.item(1);
      oldChild = elementNode.getFirstChild();
      
      {
         boolean success = false;
         try {
            replacedChild = elementNode.replaceChild(newChild, oldChild);
          } catch (DOMException ex) {
            success = (ex.code == DOMException.WRONG_DOCUMENT_ERR);
         }
         assertTrue("throw_WRONG_DOCUMENT_ERR", success);
      }