1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project This Java source file was generated by test-to-java.xsl
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project and is a derived work from the source document.
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project The source document contained the following notice:
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
8f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Copyright (c) 2001 World Wide Web Consortium,
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (Massachusetts Institute of Technology, Institut National de
10f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Recherche en Informatique et en Automatique, Keio University).  All
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Rights Reserved.  This program is distributed under the W3C's Software
12f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Intellectual Property License.  This program is distributed in the
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hope that it will be useful, but WITHOUT ANY WARRANTY; without even
14f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes PURPOSE.
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project See W3C License http://www.w3.org/Consortium/Legal/ for more details.
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.org.w3c.dom;
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.ArrayList;
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.List;
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.DOMImplementation;
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.Document;
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.DocumentType;
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.DOMException;
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.xml.parsers.DocumentBuilder;
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The "createDocument(namespaceURI,qualifiedName,doctype)" method for a
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * DOMImplementation should raise NAMESPACE_ERR DOMException if parameter
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * qualifiedName is malformed.
38f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes *
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Retrieve the DOMImplementation on the XMLNS Document. Invoke method
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * createDocument(namespaceURI,qualifiedName,doctype) on the retrieved
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * DOMImplementation with namespaceURI being the literal string
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * "http://www.ecommerce.org/", qualifiedName as "prefix::local", and doctype as
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * null. Method should raise NAMESPACE_ERR DOMException.
44f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes *
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author NIST
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author Mary Brady
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see <a
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])">http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])</a>
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see <a
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument">http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument</a>
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see <a
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocument')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])">http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocument')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])</a>
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic final class CreateDocument extends DOMTestCase {
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    DOMDocumentBuilderFactory factory;
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    DocumentBuilder builder;
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void setUp() throws Exception {
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        super.setUp();
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    .getConfiguration1());
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            builder = factory.getBuilder();
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Unexpected exception" + e.getMessage());
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void tearDown() throws Exception {
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        factory = null;
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        builder = null;
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        super.tearDown();
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Runs the test case.
79f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @throws Throwable
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *             Any uncaught exception causes test to fail
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testCreateDocument1() throws Throwable {
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String namespaceURI = "http://www.ecommerce.org/";
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String malformedName = "prefix::local";
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DocumentType docType = null;
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMImplementation domImpl;
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        domImpl = doc.getImplementation();
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        boolean success = false;
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            domImpl.createDocument(namespaceURI, malformedName, docType);
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (DOMException ex) {
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            success = (ex.code == DOMException.NAMESPACE_ERR);
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("throw_NAMESPACE_ERR", success);
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testCreateDocument2() throws Throwable {
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String namespaceURI = null;
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String qualifiedName = "k:local";
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DocumentType docType = null;
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMImplementation domImpl;
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        domImpl = doc.getImplementation();
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        boolean success = false;
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            domImpl.createDocument(namespaceURI, qualifiedName, docType);
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (DOMException ex) {
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            success = (ex.code == DOMException.NAMESPACE_ERR);
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("throw_NAMESPACE_ERR", success);
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//    public void testCreateDocument3() throws Throwable {
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        String namespaceURI = "http://www.ecommerce.org/schema";
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        String qualifiedName = "namespaceURI:x";
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        Document doc;
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        DocumentType docType;
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        DOMImplementation domImpl;
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//
132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        doc = (Document) load("staffNS", builder);
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        docType = doc.getDoctype();
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        domImpl = doc.getImplementation();
135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//
136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        boolean success = false;
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        try {
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//            domImpl.createDocument(namespaceURI, qualifiedName, docType);
139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        } catch (DOMException ex) {
140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//            success = (ex.code == DOMException.WRONG_DOCUMENT_ERR);
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        }
142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        assertTrue("throw_WRONG_DOCUMENT_ERR", success);
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//    }
145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//    public void testCreateDocument4() throws Throwable {
147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        String namespaceURI = "http://www.ecommerce.org/schema";
148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        String qualifiedName = "namespaceURI:x";
149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        Document doc;
150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        DocumentType docType;
151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        DOMImplementation domImpl;
152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        Document aNewDoc;
153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        doc = (Document) load("staffNS", builder);
154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        aNewDoc = (Document) load("staffNS", builder);
155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        docType = doc.getDoctype();
156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        domImpl = aNewDoc.getImplementation();
157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//
158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        boolean success = false;
159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        try {
160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//            aNewDoc = domImpl.createDocument(namespaceURI, qualifiedName,
161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//                    docType);
162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        } catch (DOMException ex) {
163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//            success = (ex.code == DOMException.WRONG_DOCUMENT_ERR);
164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        }
165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        assertTrue("throw_WRONG_DOCUMENT_ERR", success);
166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//
167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//    }
168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testCreateDocument5() throws Throwable {
169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String namespaceURI = "http://www.ecommerce.org/schema";
170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String qualifiedName;
171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DocumentType docType = null;
173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMImplementation domImpl;
175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        List<String> illegalQNames = new ArrayList<String>();
177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:{");
178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:}");
179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:~");
180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:'");
181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:!");
182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:@");
183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:#");
184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:$");
185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:%");
186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:^");
187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:&");
188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:*");
189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:(");
190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:)");
191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:+");
192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:=");
193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:[");
194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:]");
195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:\\");
196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:/");
197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:;");
198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:`");
199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:<");
200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:>");
201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:,");
202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:a ");
203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("namespaceURI:\"");
204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        for (int indexN1009A = 0; indexN1009A < illegalQNames.size(); indexN1009A++) {
207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            qualifiedName = (String) illegalQNames.get(indexN1009A);
208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            domImpl = doc.getImplementation();
209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            boolean success = false;
211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            try {
212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                domImpl.createDocument(namespaceURI, qualifiedName, docType);
213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            } catch (DOMException ex) {
214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                success = (ex.code == DOMException.INVALID_CHARACTER_ERR);
215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("throw_INVALID_CHARACTER_ERR", success);
217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testCreateDocument6() throws Throwable {
221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String namespaceURI = "http://ecommerce.org/schema";
222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String qualifiedName = "xml:local";
223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DocumentType docType = null;
225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMImplementation domImpl;
227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        domImpl = doc.getImplementation();
230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        boolean success = false;
232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            domImpl.createDocument(namespaceURI, qualifiedName, docType);
234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (DOMException ex) {
235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            success = (ex.code == DOMException.NAMESPACE_ERR);
236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("throw_NAMESPACE_ERR", success);
238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testCreateDocument7() throws Throwable {
241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String namespaceURI = "http://www.ecommerce.org/schema";
242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String qualifiedName = "y:x";
243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DocumentType docType = null;
245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMImplementation domImpl;
247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document aNewDoc;
248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String nodeName;
249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String nodeValue;
250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        domImpl = doc.getImplementation();
252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        aNewDoc = domImpl.createDocument(namespaceURI, qualifiedName, docType);
253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        nodeName = aNewDoc.getNodeName();
254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        nodeValue = aNewDoc.getNodeValue();
255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("nodeName", "#document", nodeName);
256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertNull("nodeValue", nodeValue);
257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testCreateDocument8() throws Throwable {
259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String namespaceURI = "http://www.example.org/schema";
260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DocumentType docType = null;
261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMImplementation domImpl;
263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        domImpl = builder.getDOMImplementation();
265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
2665ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson        // BEGIN android-changed
2675ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson        //     Our exception priorities differ from the spec
268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            domImpl.createDocument(namespaceURI, "", docType);
2705ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson            fail();
271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (DOMException ex) {
272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
2735ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson        // END android-changed
274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
276