2 This Java source file was generated by test-to-java.xsl
3 and is a derived work from the source document.
4 The source document contained the following notice:
8 Copyright (c) 2001-2004 World Wide Web Consortium,
9 (Massachusetts Institute of Technology, Institut National de
10 Recherche en Informatique et en Automatique, Keio University). All
11 Rights Reserved. This program is distributed under the W3C's Software
12 Intellectual Property License. This program is distributed in the
13 hope that it will be useful, but WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
17 See W3C License http://www.w3.org/Consortium/Legal/ for more details.
22 package tests.org.w3c.dom;
24 import dalvik.annotation.TestTargets;
25 import dalvik.annotation.TestLevel;
26 import dalvik.annotation.TestTargetNew;
27 import dalvik.annotation.TestTargetClass;
29 import org.w3c.dom.Node;
30 import org.w3c.dom.Document;
31 import org.w3c.dom.Element;
32 import org.w3c.dom.DocumentType;
33 import org.w3c.dom.Text;
34 import org.w3c.dom.DOMImplementation;
35 import org.w3c.dom.EntityReference;
36 import org.w3c.dom.NodeList;
37 import org.w3c.dom.CDATASection;
38 import org.w3c.dom.ProcessingInstruction;
39 import org.w3c.dom.Comment;
41 import javax.xml.parsers.DocumentBuilder;
44 * The method "normalize" puts all Text nodes in the full depth of the sub-tree
45 * underneath this Node, including attribute nodes, into a "normal" form where
46 * only structure (e.g., elements, comments, processing instructions, CDATA
47 * sections, and entity references) separates Text nodes, i.e., there are
48 * neither adjacent Text nodes nor empty Text nodes.
50 * Create a dom tree consisting of elements, comments, processing instructions,
51 * CDATA sections, and entity references nodes seperated by text nodes. Check
52 * the length of the node list of each before and after normalize has been
58 * href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-normalize">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-normalize</a>
60 @TestTargetClass(Node.class)
61 public final class NodeNormalize extends DOMTestCase {
63 DOMDocumentBuilderFactory factory;
65 DocumentBuilder builder;
67 protected void setUp() throws Exception {
70 factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
71 .getConfiguration1());
72 builder = factory.getBuilder();
73 } catch (Exception e) {
74 fail("Unexpected exception" + e.getMessage());
78 protected void tearDown() throws Exception {
88 * Any uncaught exception causes test to fail
91 level = TestLevel.COMPLETE,
96 public void testNormalize() throws Throwable {
99 DOMImplementation domImpl;
101 DocumentType docTypeNull = null;
103 Element documentElement;
114 ProcessingInstruction pi;
117 EntityReference entRef;
118 NodeList elementList;
120 doc = (Document) load("staffNS", builder);
121 domImpl = doc.getImplementation();
122 newDoc = domImpl.createDocument("http://www.w3.org/DOM/Test",
123 "dom:root", docTypeNull);
124 element1 = newDoc.createElement("element1");
125 element2 = newDoc.createElement("element2");
126 element3 = newDoc.createElement("element3");
127 element4 = newDoc.createElement("element4");
128 element5 = newDoc.createElement("element5");
129 element6 = newDoc.createElement("element6");
130 element7 = newDoc.createElement("element7");
131 text1 = newDoc.createTextNode("text1");
132 text2 = newDoc.createTextNode("text2");
133 text3 = newDoc.createTextNode("text3");
134 cData = newDoc.createCDATASection("Cdata");
135 comment = newDoc.createComment("comment");
136 pi = newDoc.createProcessingInstruction("PITarget", "PIData");
137 entRef = newDoc.createEntityReference("EntRef");
138 assertNotNull("createdEntRefNotNull", entRef);
139 documentElement = newDoc.getDocumentElement();
140 documentElement.appendChild(element1);
141 element2.appendChild(text1);
142 element2.appendChild(text2);
143 element2.appendChild(text3);
144 element1.appendChild(element2);
145 text1 = (Text) text1.cloneNode(false);
146 text2 = (Text) text2.cloneNode(false);
147 element3.appendChild(entRef);
148 element3.appendChild(text1);
149 element3.appendChild(text2);
150 element1.appendChild(element3);
151 text1 = (Text) text1.cloneNode(false);
152 text2 = (Text) text2.cloneNode(false);
153 element4.appendChild(cData);
154 element4.appendChild(text1);
155 element4.appendChild(text2);
156 element1.appendChild(element4);
157 text2 = (Text) text2.cloneNode(false);
158 text3 = (Text) text3.cloneNode(false);
159 element5.appendChild(comment);
160 element5.appendChild(text2);
161 element5.appendChild(text3);
162 element1.appendChild(element5);
163 text2 = (Text) text2.cloneNode(false);
164 text3 = (Text) text3.cloneNode(false);
165 element6.appendChild(pi);
166 element6.appendChild(text2);
167 element6.appendChild(text3);
168 element1.appendChild(element6);
169 entRef = (EntityReference) entRef.cloneNode(false);
170 text1 = (Text) text1.cloneNode(false);
171 text2 = (Text) text2.cloneNode(false);
172 text3 = (Text) text3.cloneNode(false);
173 element7.appendChild(entRef);
174 element7.appendChild(text1);
175 element7.appendChild(text2);
176 element7.appendChild(text3);
177 element1.appendChild(element7);
178 elementList = element1.getChildNodes();
179 assertEquals("nodeNormalize01_1Bef", 6, elementList.getLength());
180 elementList = element2.getChildNodes();
181 assertEquals("nodeNormalize01_2Bef", 3, elementList.getLength());
182 elementList = element3.getChildNodes();
183 assertEquals("nodeNormalize01_3Bef", 3, elementList.getLength());
184 elementList = element4.getChildNodes();
185 assertEquals("nodeNormalize01_4Bef", 3, elementList.getLength());
186 elementList = element5.getChildNodes();
187 assertEquals("nodeNormalize01_5Bef", 3, elementList.getLength());
188 elementList = element6.getChildNodes();
189 assertEquals("nodeNormalize01_6Bef", 3, elementList.getLength());
190 elementList = element7.getChildNodes();
191 assertEquals("nodeNormalize01_7Bef", 4, elementList.getLength());
193 elementList = element1.getChildNodes();
194 assertEquals("nodeNormalize01_1Aft", 6, elementList.getLength());
195 elementList = element2.getChildNodes();
196 assertEquals("nodeNormalize01_2Aft", 1, elementList.getLength());
197 elementList = element3.getChildNodes();
198 assertEquals("nodeNormalize01_3Aft", 2, elementList.getLength());
199 elementList = element4.getChildNodes();
200 assertEquals("nodeNormalize01_4Aft", 2, elementList.getLength());
201 elementList = element5.getChildNodes();
202 assertEquals("nodeNormalize01_5Aft", 2, elementList.getLength());
203 elementList = element6.getChildNodes();
204 assertEquals("nodeNormalize01_6Aft", 2, elementList.getLength());
205 elementList = element7.getChildNodes();
206 assertEquals("nodeNormalize01_7Aft", 2, elementList.getLength());