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 Project
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectCopyright (c) 2001 World Wide Web Consortium,
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project(Massachusetts Institute of Technology, Institut National de
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectRecherche en Informatique et en Automatique, Keio University).  All
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectRights Reserved.  This program is distributed under the W3C's Software
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectIntellectual Property License.  This program is distributed in the
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projecthope that it will be useful, but WITHOUT ANY WARRANTY; without even
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectthe implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectPURPOSE.
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectSee W3C License http://www.w3.org/Consortium/Legal/ for more details.
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project*/
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.org.w3c.dom;
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets;
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel;
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew;
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass;
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Element;
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Document;
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Node;
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.NodeList;
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.CharacterData;
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport javax.xml.parsers.DocumentBuilder;
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     The "normalize()" method puts all the nodes in the full
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     depth of the sub-tree underneath this element into a
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     "normal" form.
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     Retrieve the third employee and access its second child.
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     This child contains a block of text that is spread
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     across multiple lines.   The content of the "name" child
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     should be parsed and treated as a single Text node.
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *     This appears to be a duplicate of elementnormalize.xml in DOM L1 Test Suite
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @author NIST
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @author Mary Brady
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @see <a 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>
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @see <a href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-72AB8359">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-72AB8359</a>
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project*/
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(Element.class)
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class Normalize extends DOMTestCase {
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DOMDocumentBuilderFactory factory;
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DocumentBuilder builder;
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void setUp() throws Exception {
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.setUp();
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .getConfiguration1());
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            builder = factory.getBuilder();
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (Exception e) {
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception" + e.getMessage());
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void tearDown() throws Exception {
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        factory = null;
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        builder = null;
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.tearDown();
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * Runs the test case.
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @throws Throwable Any uncaught exception causes test to fail
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.COMPLETE,
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "",
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "normalize",
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public void testNormalize() throws Throwable {
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Document doc;
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Element root;
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      NodeList elementList;
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Node firstChild;
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      NodeList textList;
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      CharacterData textNode;
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String data;
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      doc = (Document) load("staff", builder);
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      root = doc.getDocumentElement();
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      root.normalize();
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      elementList = root.getElementsByTagName("name");
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      firstChild = elementList.item(2);
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      textList = firstChild.getChildNodes();
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      textNode = (CharacterData) textList.item(0);
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      data = textNode.getData();
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      assertEquals("data", "Roger\n Jones", data);
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      }
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
107