1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectThis Java source file was generated by test-to-java.xsl
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectand is a derived work from the source document.
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectThe source document contained the following notice:
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectCopyright (c) 2001-2004 World Wide Web Consortium,
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project(Massachusetts Institute of Technology, Institut National de
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectRecherche en Informatique et en Automatique, Keio University).  All
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectRights Reserved.  This program is distributed under the W3C's Software
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectIntellectual Property License.  This program is distributed in the
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projecthope that it will be useful, but WITHOUT ANY WARRANTY; without even
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectthe implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectPURPOSE.
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source ProjectSee W3C License http://www.w3.org/Consortium/Legal/ for more details.
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project*/
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage org.w3c.domts.level2.core;
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.*;
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.domts.DOMTestCase;
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.domts.DOMTestDocumentBuilderFactory;
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  The importNode method imports a node from another document to this document.
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  The returned node has no parent; (parentNode is null). The source node is not
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  altered or removed from the original document but a new copy of the source node
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  is created.
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  Using the method importNode with deep=true/false, import two notaiton nodes into the
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  same and different documnet objects.  In each case check if valid public and systemids
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  are returned if any and if none, check if a null value was returned.
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @author IBM
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @author Neil Delima
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe 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>
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe 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>
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project*/
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic final class documentimportnode22 extends DOMTestCase {
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   /**
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * Constructor.
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * @param factory document factory, may not be null
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * @throws org.w3c.domts.DOMTestIncompatibleException Thrown if test is not compatible with parser configuration
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    */
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   public documentimportnode22(final DOMTestDocumentBuilderFactory factory)  throws org.w3c.domts.DOMTestIncompatibleException {
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      org.w3c.domts.DocumentBuilderSetting[] settings =
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project          new org.w3c.domts.DocumentBuilderSetting[] {
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectorg.w3c.domts.DocumentBuilderSetting.namespaceAware
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        };
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMTestDocumentBuilderFactory testFactory = factory.newInstance(settings);
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        setFactory(testFactory);
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //   check if loaded documents are supported for content type
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String contentType = getContentType();
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    preload(contentType, "staffNS", true);
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   /**
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * Runs the test case.
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * @throws Throwable Any uncaught exception causes test to fail
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    */
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   public void runTest() throws Throwable {
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Document doc;
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      DocumentType docTypeNull = null;
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Document docImp;
79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      DOMImplementation domImpl;
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      DocumentType docType;
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      NamedNodeMap nodeMap;
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Notation notation1;
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Notation notation2;
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Notation notationImp1;
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Notation notationImp2;
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Notation notationImpNew1;
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Notation notationImpNew2;
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String publicId1;
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String publicId1Imp;
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String publicId1NewImp;
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String publicId2Imp;
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String publicId2NewImp;
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String systemId1Imp;
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String systemId1NewImp;
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String systemId2;
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String systemId2Imp;
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String systemId2NewImp;
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      doc = (Document) load("staffNS", true);
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      domImpl = doc.getImplementation();
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      docType = doc.getDoctype();
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      docImp = domImpl.createDocument("http://www.w3.org/DOM/Test", "a:b", docTypeNull);
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      nodeMap = docType.getNotations();
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertNotNull("notationsNotNull", nodeMap);
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      notation1 = (Notation) nodeMap.getNamedItem("notation1");
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      notation2 = (Notation) nodeMap.getNamedItem("notation2");
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      notationImp1 = (Notation) doc.importNode(notation1, true);
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      notationImp2 = (Notation) doc.importNode(notation2, false);
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      notationImpNew1 = (Notation) docImp.importNode(notation1, false);
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      notationImpNew2 = (Notation) docImp.importNode(notation2, true);
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      publicId1 = notation1.getPublicId();
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      publicId1Imp = notation1.getPublicId();
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      publicId1NewImp = notation1.getPublicId();
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      systemId1Imp = notation1.getSystemId();
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      systemId1NewImp = notation1.getSystemId();
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      publicId2Imp = notation2.getPublicId();
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      publicId2NewImp = notation2.getPublicId();
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      systemId2 = notation2.getSystemId();
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      systemId2Imp = notation2.getSystemId();
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      systemId2NewImp = notation2.getSystemId();
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals("documentimportnode22_N1PID", publicId1, publicId1Imp);
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals("documentimportnode22_N1NPID", publicId1, publicId1NewImp);
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertNull("documentimportnode22_N1SID", systemId1Imp);
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertNull("documentimportnode22_N1NSID", systemId1NewImp);
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals("documentimportnode22_N2SID", systemId2, systemId2Imp);
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals("documentimportnode22_N2NSID", systemId2, systemId2NewImp);
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertNull("documentimportnode22_N2PID", publicId2Imp);
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertNull("documentimportnode22_N2NPID", publicId2Imp);
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   /**
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    *  Gets URI that identifies the test.
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    *  @return uri identifier of test
132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    */
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   public String getTargetURI() {
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/documentimportnode22";
135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   }
136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   /**
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * Runs this test from the command line.
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    * @param args command line arguments
139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    */
140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   public static void main(final String[] args) {
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMTestCase.doMain(documentimportnode22.class, args);
142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   }
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
145