1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectThis Java source file was generated by test-to-java.xsl
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectand is a derived work from the source document.
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectThe source document contained the following notice:
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectCopyright (c) 2001 World Wide Web Consortium,
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project(Massachusetts Institute of Technology, Institut National de
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectRecherche en Informatique et en Automatique, Keio University). All
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectRights Reserved. This program is distributed under the W3C's Software
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectIntellectual Property License. This program is distributed in the
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecthope that it will be useful, but WITHOUT ANY WARRANTY; without even
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectthe implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectPURPOSE.
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectSee W3C License http://www.w3.org/Consortium/Legal/ for more details.
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project*/
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage org.w3c.domts.level1.core;
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.*;
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.domts.DOMTestCase;
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.domts.DOMTestDocumentBuilderFactory;
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *     The "setValue()" method for an attribute causes the
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *   DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *   if the node is readonly.
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *   Create an entity reference using document.createEntityReference()
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *   Get the "domestic" attribute from the entity
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *   reference and execute the "setValue()" method.
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *   This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @author Curt Arnold
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @see <a href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])">http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])</a>
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @see <a href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#ID-221662474">http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#ID-221662474</a>
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @see <a href="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'])">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'])</a>
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @see <a href="http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html">http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html</a>
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @see <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474</a>
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @see <a href="http://www.w3.org/2001/DOM-Test-Suite/level1/core/attrsetvaluenomodificationallowederr.xml">http://www.w3.org/2001/DOM-Test-Suite/level1/core/attrsetvaluenomodificationallowederr.xml</a>
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project*/
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic final class attrsetvaluenomodificationallowederrEE extends DOMTestCase {
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   /**
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * Constructor.
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * @param factory document factory, may not be null
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * @throws org.w3c.domts.DOMTestIncompatibleException Thrown if test is not compatible with parser configuration
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    */
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   public attrsetvaluenomodificationallowederrEE(final DOMTestDocumentBuilderFactory factory)  throws org.w3c.domts.DOMTestIncompatibleException {
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      super(factory);
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //   check if loaded documents are supported for content type
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String contentType = getContentType();
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    preload(contentType, "staff", true);
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   /**
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * Runs the test case.
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * @throws Throwable Any uncaught exception causes test to fail
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    */
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   public void runTest() throws Throwable {
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Document doc;
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      EntityReference entRef;
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Element entElement;
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      NamedNodeMap attrList;
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Node attrNode;
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Node gender;
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      NodeList genderList;
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Node appendedChild;
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      doc = (Document) load("staff", true);
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      genderList = doc.getElementsByTagName("gender");
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      gender = genderList.item(2);
79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertNotNull("genderNotNull", gender);
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      entRef = doc.createEntityReference("ent4");
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertNotNull("entRefNotNull", entRef);
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      appendedChild = gender.appendChild(entRef);
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      entElement = (Element) entRef.getFirstChild();
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertNotNull("entElementNotNull", entElement);
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      attrList = entElement.getAttributes();
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      attrNode = attrList.getNamedItem("domestic");
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      {
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project         boolean success = false;
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project         try {
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            ((Attr) /*Node */attrNode).setValue("newvalue");
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project          } catch (DOMException ex) {
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            success = (ex.code == DOMException.NO_MODIFICATION_ALLOWED_ERR);
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project         }
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project         assertTrue("setValue_throws_NO_MODIFICATION", success);
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      {
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project         boolean success = false;
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project         try {
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            attrNode.setNodeValue("newvalue2");
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project          } catch (DOMException ex) {
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            success = (ex.code == DOMException.NO_MODIFICATION_ALLOWED_ERR);
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project         }
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project         assertTrue("setNodeValue_throws_NO_MODIFICATION", success);
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   /**
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    *  Gets URI that identifies the test.
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    *  @return uri identifier of test
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    */
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   public String getTargetURI() {
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/attrsetvaluenomodificationallowederrEE";
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   }
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   /**
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * Runs this test from the command line.
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * @param args command line arguments
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    */
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   public static void main(final String[] args) {
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMTestCase.doMain(attrsetvaluenomodificationallowederrEE.class, args);
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   }
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
124