summaryrefslogtreecommitdiffstats
path: root/dom/src/test/java/org/w3c/domts/level1/core/attrreplacechild1.java
diff options
context:
space:
mode:
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.java101
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);
+ }
+}
+