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 org.w3c.domts.level2.core;
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.*;
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.domts.DOMTestCase;
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.domts.DOMTestDocumentBuilderFactory;
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  The importNode method imports a node from another document to this document.
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  The returned node has no parent; (parentNode is null). The source node is not
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  altered or removed from the original document but a new copy of the source node
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  is created.
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  Using the method importNode with deep=true, import a entity node ent4
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  from this document to a new document object.  The replacement text of this entity is an element
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  node, a cdata node and a pi.  Verify if the nodes have been
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  imported correctly by checking the nodeNames of the imported element node, the data for the
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  cdata nodes and the PItarget and PIData for the pi nodes.
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @author IBM
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @author Neil Delima
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @see <a href="http://www.w3.org/TR/DOM-Level-2-Core/core">http://www.w3.org/TR/DOM-Level-2-Core/core</a>
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @see <a href="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode">http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode</a>
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project*/
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class documentimportnode20 extends DOMTestCase {
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * Constructor.
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @param factory document factory, may not be null
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @throws org.w3c.domts.DOMTestIncompatibleException Thrown if test is not compatible with parser configuration
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public documentimportnode20(final DOMTestDocumentBuilderFactory factory)  throws org.w3c.domts.DOMTestIncompatibleException {
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      org.w3c.domts.DocumentBuilderSetting[] settings =
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          new org.w3c.domts.DocumentBuilderSetting[] {
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectorg.w3c.domts.DocumentBuilderSetting.namespaceAware,
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectorg.w3c.domts.DocumentBuilderSetting.notExpandEntityReferences
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        };
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        DOMTestDocumentBuilderFactory testFactory = factory.newInstance(settings);
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        setFactory(testFactory);
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    //
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    //   check if loaded documents are supported for content type
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    //
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    String contentType = getContentType();
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    preload(contentType, "staffNS", true);
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * Runs the test case.
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @throws Throwable Any uncaught exception causes test to fail
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public void runTest() throws Throwable {
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Document doc;
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Document docImp;
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      DOMImplementation domImpl;
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      DocumentType docType;
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      DocumentType docTypeNull = null;
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      NamedNodeMap nodeMap;
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Entity entity4;
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Entity entityImp4;
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Element element;
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      CharacterData cdata;
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      ProcessingInstruction pi;
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      NodeList childList;
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      NodeList elemchildList;
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String ent4Name;
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String ent4ImpName;
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String cdataVal;
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String piTargetVal;
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String piDataVal;
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      doc = (Document) load("staffNS", true);
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      domImpl = doc.getImplementation();
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      docType = doc.getDoctype();
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      docImp = domImpl.createDocument("http://www.w3.org/DOM/Test", "a:b", docTypeNull);
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      nodeMap = docType.getEntities();
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      entity4 = (Entity) nodeMap.getNamedItem("ent4");
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      entityImp4 = (Entity) docImp.importNode(entity4, true);
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      childList = entityImp4.getChildNodes();
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      element = (Element) childList.item(0);
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      elemchildList = element.getChildNodes();
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      cdata = (CharacterData) elemchildList.item(0);
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      pi = (ProcessingInstruction) childList.item(1);
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      ent4Name = entity4.getNodeName();
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      ent4ImpName = entityImp4.getNodeName();
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      cdataVal = cdata.getData();
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      piTargetVal = pi.getTarget();
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      piDataVal = pi.getData();
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      assertEquals("documentimportnode20_Ent4NodeName", ent4Name, ent4ImpName);
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      assertEquals("documentimportnode20_Cdata", "Element data", cdataVal);
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      assertEquals("documentimportnode20_PITarget", "PItarget", piTargetVal);
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      assertEquals("documentimportnode20_PIData", "PIdata", piDataVal);
118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      }
119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    *  Gets URI that identifies the test.
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    *  @return uri identifier of test
122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public String getTargetURI() {
124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/documentimportnode20";
125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   }
126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * Runs this test from the command line.
128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @param args command line arguments
129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public static void main(final String[] args) {
131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        DOMTestCase.doMain(documentimportnode20.class, args);
132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   }
133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
135