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-2004 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 * Obtain the children of the THIRD "gender" element. The elements 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * content is an entity reference. Get the "domestic" attribute 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * from the entity 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 NIST 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @author Mary Brady 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe 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> 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe 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> 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe 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> 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe 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> 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe 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> 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project*/ 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic final class attrsetvaluenomodificationallowederr 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 attrsetvaluenomodificationallowederr(final DOMTestDocumentBuilderFactory factory) throws org.w3c.domts.DOMTestIncompatibleException { 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project org.w3c.domts.DocumentBuilderSetting[] settings = 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new org.w3c.domts.DocumentBuilderSetting[] { 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectorg.w3c.domts.DocumentBuilderSetting.notExpandEntityReferences 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project }; 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DOMTestDocumentBuilderFactory testFactory = factory.newInstance(settings); 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project setFactory(testFactory); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // check if loaded documents are supported for content type 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String contentType = getContentType(); 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project preload(contentType, "staff", true); 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Runs the test case. 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws Throwable Any uncaught exception causes test to fail 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void runTest() throws Throwable { 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Document doc; 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project NodeList genderList; 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Node gender; 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project NodeList genList; 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Node gen; 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project NodeList gList; 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Node g; 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project NamedNodeMap attrList; 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Attr attrNode; 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project doc = (Document) load("staff", true); 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project genderList = doc.getElementsByTagName("gender"); 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project gender = genderList.item(2); 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("genderNotNull", gender); 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project genList = gender.getChildNodes(); 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project gen = genList.item(0); 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("genderFirstChildNotNull", gen); 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project gList = gen.getChildNodes(); 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project g = gList.item(0); 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("genderFirstGrandchildNotNull", g); 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project attrList = g.getAttributes(); 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("attributesNotNull", attrList); 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project attrNode = (Attr) attrList.getNamedItem("domestic"); 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("attrNotNull", attrNode); 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.setValue("newvalue"); 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("setValue_throws_NO_MODIFICATION", success); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project { 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean success = false; 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project attrNode.setNodeValue("newvalue2"); 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (DOMException ex) { 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = (ex.code == DOMException.NO_MODIFICATION_ALLOWED_ERR); 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("setNodeValue_throws_NO_MODIFICATION", success); 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets URI that identifies the test. 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return uri identifier of test 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getTargetURI() { 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/attrsetvaluenomodificationallowederr"; 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Runs this test from the command line. 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param args command line arguments 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static void main(final String[] args) { 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DOMTestCase.doMain(attrsetvaluenomodificationallowederr.class, args); 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 134