diff options
Diffstat (limited to 'dom/src/test/java/org/w3c/domts/level1/core/attrreplacechild1.java')
-rw-r--r-- | dom/src/test/java/org/w3c/domts/level1/core/attrreplacechild1.java | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/dom/src/test/java/org/w3c/domts/level1/core/attrreplacechild1.java b/dom/src/test/java/org/w3c/domts/level1/core/attrreplacechild1.java new file mode 100644 index 0000000..c84586c --- /dev/null +++ b/dom/src/test/java/org/w3c/domts/level1/core/attrreplacechild1.java @@ -0,0 +1,101 @@ + +/* +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; + + + +/** + * Replacing a child node from an attribute in an entity reference + * should result in an NO_MODIFICATION_ALLOWED_ERR DOMException. +* @author Curt Arnold +* @see <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307</a> +* @see <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/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-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])</a> +*/ +public final class attrreplacechild1 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 attrreplacechild1(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; + EntityReference entRef; + Element entElement; + Node attrNode; + Text textNode; + Node removedNode; + Node newChild; + doc = (Document) load("staff", true); + entRef = doc.createEntityReference("ent4"); + assertNotNull("createdEntRefNotNull", entRef); + entElement = (Element) entRef.getFirstChild(); + assertNotNull("entElementNotNull", entElement); + attrNode = entElement.getAttributeNode("domestic"); + textNode = (Text) attrNode.getFirstChild(); + assertNotNull("attrChildNotNull", textNode); + newChild = doc.createTextNode("Yesterday"); + + { + boolean success = false; + try { + removedNode = attrNode.replaceChild(newChild, textNode); + } catch (DOMException ex) { + success = (ex.code == DOMException.NO_MODIFICATION_ALLOWED_ERR); + } + assertTrue("setValue_throws_NO_MODIFICATION_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/attrreplacechild1"; + } + /** + * Runs this test from the command line. + * @param args command line arguments + */ + public static void main(final String[] args) { + DOMTestCase.doMain(attrreplacechild1.class, args); + } +} + |