diff options
Diffstat (limited to 'dom/src/test/java/org/w3c/domts/level1/core/elementsetattributenodenomodificationallowederr.java')
-rw-r--r-- | dom/src/test/java/org/w3c/domts/level1/core/elementsetattributenodenomodificationallowederr.java | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/dom/src/test/java/org/w3c/domts/level1/core/elementsetattributenodenomodificationallowederr.java b/dom/src/test/java/org/w3c/domts/level1/core/elementsetattributenodenomodificationallowederr.java new file mode 100644 index 0000000..f9c9304 --- /dev/null +++ b/dom/src/test/java/org/w3c/domts/level1/core/elementsetattributenodenomodificationallowederr.java @@ -0,0 +1,116 @@ + +/* +This Java source file was generated by test-to-java.xsl +and is a derived work from the source document. +The source document contained the following notice: + + +Copyright (c) 2001-2004 World Wide Web Consortium, +(Massachusetts Institute of Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All +Rights Reserved. This program is distributed under the W3C's Software +Intellectual Property License. This program is distributed in the +hope that it will be useful, but WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. +See W3C License http://www.w3.org/Consortium/Legal/ for more details. + +*/ + +package org.w3c.domts.level1.core; + +import org.w3c.dom.*; + + +import org.w3c.domts.DOMTestCase; +import org.w3c.domts.DOMTestDocumentBuilderFactory; + + + +/** + * The "setAttributeNode(newAttr)" 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. Try to remove the "domestic" attribute + * from the entity reference by executing the "setAttributeNode(newAttr)" method. + * This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown. +* @author NIST +* @author Mary Brady +* @see <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])</a> +* @see <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154</a> +* @see <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])</a> +* @see <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154</a> +*/ +public final class elementsetattributenodenomodificationallowederr extends DOMTestCase { + + /** + * Constructor. + * @param factory document factory, may not be null + * @throws org.w3c.domts.DOMTestIncompatibleException Thrown if test is not compatible with parser configuration + */ + public elementsetattributenodenomodificationallowederr(final DOMTestDocumentBuilderFactory factory) throws org.w3c.domts.DOMTestIncompatibleException { + super(factory); + + // + // check if loaded documents are supported for content type + // + String contentType = getContentType(); + preload(contentType, "staff", true); + } + + /** + * Runs the test case. + * @throws Throwable Any uncaught exception causes test to fail + */ + public void runTest() throws Throwable { + Document doc; + NodeList genderList; + Node gender; + Node entRef; + Element entElement; + Attr newAttr; + int nodeType; + Attr badAttr; + doc = (Document) load("staff", true); + genderList = doc.getElementsByTagName("gender"); + gender = genderList.item(2); + entRef = gender.getFirstChild(); + assertNotNull("entRefNotNull", entRef); + nodeType = (int) entRef.getNodeType(); + + if (equals(1, nodeType)) { + entRef = doc.createEntityReference("ent4"); + assertNotNull("createdEntRefNotNull", entRef); + } + entElement = (Element) entRef.getFirstChild(); + assertNotNull("entElementNotNull", entElement); + newAttr = doc.createAttribute("newAttr"); + + { + boolean success = false; + try { + badAttr = entElement.setAttributeNode(newAttr); + } catch (DOMException ex) { + success = (ex.code == DOMException.NO_MODIFICATION_ALLOWED_ERR); + } + assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR", success); + } +} + /** + * Gets URI that identifies the test. + * @return uri identifier of test + */ + public String getTargetURI() { + return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/elementsetattributenodenomodificationallowederr"; + } + /** + * Runs this test from the command line. + * @param args command line arguments + */ + public static void main(final String[] args) { + DOMTestCase.doMain(elementsetattributenodenomodificationallowederr.class, args); + } +} + |