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

attrsetvaluenomodificationallowederr

public final class attrsetvaluenomodificationallowederr 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. Obtain the children of the THIRD "gender" element. The elements content is an entity reference. 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
NIST
author
Mary Brady
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

Fields Summary
Constructors Summary
public attrsetvaluenomodificationallowederr(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


      org.w3c.domts.DocumentBuilderSetting[] settings = 
          new org.w3c.domts.DocumentBuilderSetting[] {
org.w3c.domts.DocumentBuilderSetting.notExpandEntityReferences
        };
        DOMTestDocumentBuilderFactory testFactory = factory.newInstance(settings);
        setFactory(testFactory);

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

param
args command line arguments

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

throws
Throwable Any uncaught exception causes test to fail

      Document doc;
      NodeList genderList;
      Node gender;
      NodeList genList;
      Node gen;
      NodeList gList;
      Node g;
      NamedNodeMap attrList;
      Attr attrNode;
      doc = (Document) load("staff", true);
      genderList = doc.getElementsByTagName("gender");
      gender = genderList.item(2);
      assertNotNull("genderNotNull", gender);
      genList = gender.getChildNodes();
      gen = genList.item(0);
      assertNotNull("genderFirstChildNotNull", gen);
      gList = gen.getChildNodes();
      g = gList.item(0);
      assertNotNull("genderFirstGrandchildNotNull", g);
      attrList = g.getAttributes();
      assertNotNull("attributesNotNull", attrList);
      attrNode = (Attr) attrList.getNamedItem("domestic");
      assertNotNull("attrNotNull", attrNode);
      
      {
         boolean success = false;
         try {
            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);
      }