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

attrsetvaluenomodificationallowederrEE

public final class attrsetvaluenomodificationallowederrEE extends org.w3c.domts.DOMTestCase
The "setValue()" method for an attribute causes the DOMException NO_MODIFICATION_ALLOWED_ERR to be raised if the node is readonly. Create an entity reference using document.createEntityReference() Get the "domestic" attribute from the entity reference and execute the "setValue()" method. This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
author
Curt Arnold
see
http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])
see
http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#ID-221662474
see
http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#xpointer(id('ID-221662474')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])
see
http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html
see
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474
see
http://www.w3.org/2001/DOM-Test-Suite/level1/core/attrsetvaluenomodificationallowederr.xml

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

param
args command line arguments

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

throws
Throwable Any uncaught exception causes test to fail

      Document doc;
      EntityReference entRef;
      Element entElement;
      NamedNodeMap attrList;
      Node attrNode;
      Node gender;
      NodeList genderList;
      Node appendedChild;
      doc = (Document) load("staff", true);
      genderList = doc.getElementsByTagName("gender");
      gender = genderList.item(2);
      assertNotNull("genderNotNull", gender);
      entRef = doc.createEntityReference("ent4");
      assertNotNull("entRefNotNull", entRef);
      appendedChild = gender.appendChild(entRef);
      entElement = (Element) entRef.getFirstChild();
      assertNotNull("entElementNotNull", entElement);
      attrList = entElement.getAttributes();
      attrNode = attrList.getNamedItem("domestic");
      
      {
         boolean success = false;
         try {
            ((Attr) /*Node */attrNode).setValue("newvalue");
          } catch (DOMException ex) {
            success = (ex.code == DOMException.NO_MODIFICATION_ALLOWED_ERR);
         }
         assertTrue("setValue_throws_NO_MODIFICATION", success);
      }

      {
         boolean success = false;
         try {
            attrNode.setNodeValue("newvalue2");
          } catch (DOMException ex) {
            success = (ex.code == DOMException.NO_MODIFICATION_ALLOWED_ERR);
         }
         assertTrue("setNodeValue_throws_NO_MODIFICATION", success);
      }