1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/*
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectThis Java source file was generated by test-to-java.xsl
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectand is a derived work from the source document.
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectThe source document contained the following notice:
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectCopyright (c) 2001 World Wide Web Consortium,
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project(Massachusetts Institute of Technology, Institut National de
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectRecherche en Informatique et en Automatique, Keio University). All
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectRights Reserved. This program is distributed under the W3C's Software
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectIntellectual Property License. This program is distributed in the
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projecthope that it will be useful, but WITHOUT ANY WARRANTY; without even
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectthe implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectPURPOSE.
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectSee W3C License http://www.w3.org/Consortium/Legal/ for more details.
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project*/
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.w3c.domts.level1.core;
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.*;
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.domts.DOMTestCase;
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.domts.DOMTestDocumentBuilderFactory;
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     The NodeList returned by the "getChildNodes()" method
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     is live.   Changes on the node's children are immediately
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     reflected on the nodes returned in the NodeList.
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     Create a NodeList of the children of the second employee
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     and then add a newly created element that was created
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     by the "createElement()" method(Document Interface) to
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     the second employee by using the "appendChild()" method.
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     The length of the NodeList should reflect this new
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     addition to the child list.   It should return the value 14.
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @author Curt Arnold
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @see <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987</a>
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @see <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107</a>
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @see <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246">http://www.w3.org/Bugs/Public/show_bug.cgi?id=246</a>
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @see <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247">http://www.w3.org/Bugs/Public/show_bug.cgi?id=247</a>
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project*/
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class hc_nodechildnodesappendchild extends DOMTestCase {
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * Constructor.
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @param factory document factory, may not be null
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @throws org.w3c.domts.DOMTestIncompatibleException Thrown if test is not compatible with parser configuration
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public hc_nodechildnodesappendchild(final DOMTestDocumentBuilderFactory factory)  throws org.w3c.domts.DOMTestIncompatibleException {
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      super(factory);
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    //
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    //   check if loaded documents are supported for content type
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    //
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    String contentType = getContentType();
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    preload(contentType, "hc_staff", true);
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * Runs the test case.
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @throws Throwable Any uncaught exception causes test to fail
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public void runTest() throws Throwable {
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Document doc;
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      NodeList elementList;
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Node employeeNode;
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      NodeList childList;
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Node createdNode;
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Node childNode;
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String childName;
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      int childType;
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Node textNode;
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      java.util.List actual = new java.util.ArrayList();
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      java.util.List expected = new java.util.ArrayList();
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      expected.add("em");
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      expected.add("strong");
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      expected.add("code");
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      expected.add("sup");
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      expected.add("var");
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      expected.add("acronym");
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      expected.add("br");
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      doc = (Document) load("hc_staff", true);
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      elementList = doc.getElementsByTagName("p");
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      employeeNode = elementList.item(1);
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      childList = employeeNode.getChildNodes();
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      createdNode = doc.createElement("br");
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      employeeNode = employeeNode.appendChild(createdNode);
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      for (int indexN10087 = 0; indexN10087 < childList.getLength(); indexN10087++) {
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          childNode = (Node) childList.item(indexN10087);
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    childName = childNode.getNodeName();
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      childType = (int) childNode.getNodeType();
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      if (equals(1, childType)) {
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          actual.add(childName);
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      } else {
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          assertEquals("textNodeType", 3, childType);
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      }
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      }
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      assertEqualsAutoCase("element", "childElements", expected, actual);
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    *  Gets URI that identifies the test.
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    *  @return uri identifier of test
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public String getTargetURI() {
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_nodechildnodesappendchild";
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   }
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * Runs this test from the command line.
118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @param args command line arguments
119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public static void main(final String[] args) {
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        DOMTestCase.doMain(hc_nodechildnodesappendchild.class, args);
122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   }
123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
125