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

namednodemapinuseattributeerr

public final class namednodemapinuseattributeerr extends org.w3c.domts.DOMTestCase
The "setNamedItem(arg)" method raises a INUSE_ATTRIBUTE_ERR DOMException if "arg" is an Attr that is already in an attribute of another Element. Create a NamedNodeMap object from the attributes of the last child of the third employee and attempt to add an attribute that is already being used by the first employee. This 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='INUSE_ATTRIBUTE_ERR'])
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])
see
http://www.w3.org/Bugs/Public/show_bug.cgi?id=249

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

param
args command line arguments

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

throws
Throwable Any uncaught exception causes test to fail

      Document doc;
      NodeList elementList;
      Element firstNode;
      Node testNode;
      NamedNodeMap attributes;
      Attr domesticAttr;
      Attr setAttr;
      Node setNode;
      doc = (Document) load("staff", true);
      elementList = doc.getElementsByTagName("address");
      firstNode = (Element) elementList.item(0);
      domesticAttr = doc.createAttribute("domestic");
      domesticAttr.setValue("Yes");
      setAttr = firstNode.setAttributeNode(domesticAttr);
      elementList = doc.getElementsByTagName("address");
      testNode = elementList.item(2);
      attributes = testNode.getAttributes();
      
      {
         boolean success = false;
         try {
            setNode = attributes.setNamedItem(domesticAttr);
          } catch (DOMException ex) {
            success = (ex.code == DOMException.INUSE_ATTRIBUTE_ERR);
         }
         assertTrue("throw_INUSE_ATTRIBUTE_ERR", success);
      }