1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/*
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project This Java source file was generated by test-to-java.xsl
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project and is a derived work from the source document.
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project The source document contained the following notice:
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Copyright (c) 2001 World Wide Web Consortium,
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project (Massachusetts Institute of Technology, Institut National de
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Recherche en Informatique et en Automatique, Keio University).  All
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Rights Reserved.  This program is distributed under the W3C's Software
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Intellectual Property License.  This program is distributed in the
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hope that it will be useful, but WITHOUT ANY WARRANTY; without even
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PURPOSE.
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project See W3C License http://www.w3.org/Consortium/Legal/ for more details.
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.org.w3c.dom;
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets;
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel;
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew;
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass;
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.ArrayList;
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.util.List;
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Document;
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Attr;
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.DOMException;
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.DocumentType;
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.DOMImplementation;
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport javax.xml.parsers.DocumentBuilder;
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The method createAttributeNS creates an attribute of the given qualified name
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * and namespace URI
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Invoke the createAttributeNS method on this Document object with a null
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * namespaceURI, and a qualifiedName without a prefix. This should return a
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * valid Attr node object.
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author IBM
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author Neil Delima
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core">http://www.w3.org/TR/DOM-Level-2-Core/core</a>
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS</a>
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(Document.class)
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class DocumentCreateAttributeNS extends DOMTestCase {
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DOMDocumentBuilderFactory factory;
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DocumentBuilder builder;
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void setUp() throws Exception {
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.setUp();
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .getConfiguration1());
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            builder = factory.getBuilder();
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (Exception e) {
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception" + e.getMessage());
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void tearDown() throws Exception {
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        factory = null;
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        builder = null;
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.tearDown();
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Runs the test case.
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws Throwable
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *             Any uncaught exception causes test to fail
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Verifies positive functionality.",
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "createAttributeNS",
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testCreateAttributeNS1() throws Throwable {
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Attr attribute;
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI = null;
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String qualifiedName = "test";
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String nodeName;
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attribute = doc.createAttributeNS(namespaceURI, qualifiedName);
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        nodeName = attribute.getNodeName();
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("documentcreateattributeNS01", "test", nodeName);
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Runs the test case.
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws Throwable
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *             Any uncaught exception causes test to fail
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Verifies positive functionality.",
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "createAttributeNS",
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testCreateAttributeNS2() throws Throwable {
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Attr attribute1;
122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Attr attribute2;
123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String name;
124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String nodeName;
125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String nodeValue;
126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String prefix;
127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI;
128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attribute1 = doc.createAttributeNS(
130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "http://www.w3.org/XML/1998/namespace", "xml:xml");
131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        name = attribute1.getName();
132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        nodeName = attribute1.getNodeName();
133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        nodeValue = attribute1.getNodeValue();
134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        prefix = attribute1.getPrefix();
135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        namespaceURI = attribute1.getNamespaceURI();
136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("documentcreateattributeNS02_att1_name", "xml:xml", name);
137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("documentcreateattributeNS02_att1_nodeName", "xml:xml",
138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                nodeName);
139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("documentcreateattributeNS02_att1_nodeValue", "",
140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                nodeValue);
141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("documentcreateattributeNS02_att1_prefix", "xml", prefix);
142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("documentcreateattributeNS02_att1_namespaceURI",
143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "http://www.w3.org/XML/1998/namespace", namespaceURI);
144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attribute2 = doc.createAttributeNS("http://www.w3.org/2000/xmlns/",
145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "xmlns");
146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        name = attribute2.getName();
147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        nodeName = attribute2.getNodeName();
148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        nodeValue = attribute2.getNodeValue();
149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        prefix = attribute2.getPrefix();
150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        namespaceURI = attribute2.getNamespaceURI();
151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("documentcreateattributeNS02_att2_name", "xmlns", name);
152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("documentcreateattributeNS02_att2_nodeName", "xmlns",
153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                nodeName);
154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("documentcreateattributeNS02_att2_nodeValue", "",
155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                nodeValue);
156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("documentcreateattributeNS02_att2_namespaceURI",
157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "http://www.w3.org/2000/xmlns/", namespaceURI);
158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Verifies that createAttributeNS throws DOMException with INVALID_CHARACTER_ERR code.",
162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "createAttributeNS",
163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testCreateAttributeNS3() throws Throwable {
166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI = "http://www.w3.org/DOM/Test/Level2";
169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String qualifiedName;
170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> qualifiedNames = new ArrayList<String>();
171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add("/");
172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add("//");
173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add("\\");
174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add(";");
175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add("&");
176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add("*");
177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add("]]");
178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add(">");
179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add("<");
180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        for (int indexN1005A = 0; indexN1005A < qualifiedNames.size(); indexN1005A++) {
183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            qualifiedName = (String) qualifiedNames.get(indexN1005A);
184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            {
186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                boolean success = false;
187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                try {
188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    doc.createAttributeNS(namespaceURI, qualifiedName);
189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                } catch (DOMException ex) {
190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    success = (ex.code == DOMException.INVALID_CHARACTER_ERR);
191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                }
192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                assertTrue("documentcreateattributeNS03", success);
193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Verifies that createAttributeNS throws DOMException with NAMESPACE_ERR code.",
199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "createAttributeNS",
200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testCreateAttributeNS4() throws Throwable {
203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI = "http://www.w3.org/DOM/Test/Level2";
206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String qualifiedName;
207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        List<String> qualifiedNames = new ArrayList<String>();
208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add("_:");
209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add(":0a");
210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add(":");
211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add("a:b:c");
212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        qualifiedNames.add("_::a");
213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        for (int indexN1004E = 0; indexN1004E < qualifiedNames.size(); indexN1004E++) {
216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            qualifiedName = (String) qualifiedNames.get(indexN1004E);
217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            {
21994640f175b2fcda6a4fd890c6686240f76d01f55Jesse Wilson
22094640f175b2fcda6a4fd890c6686240f76d01f55Jesse Wilson                // BEGIN android-changed
22194640f175b2fcda6a4fd890c6686240f76d01f55Jesse Wilson                //     Our exception priorities differ from the spec
222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                try {
223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    doc.createAttributeNS(namespaceURI, qualifiedName);
22494640f175b2fcda6a4fd890c6686240f76d01f55Jesse Wilson                    fail();
225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                } catch (DOMException ex) {
226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                }
22794640f175b2fcda6a4fd890c6686240f76d01f55Jesse Wilson                // END android-changed
228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Verifies that createAttributeNS throws DOMException with NAMESPACE_ERR code.",
234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "createAttributeNS",
235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testCreateAttributeNS5() throws Throwable {
238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document newDoc;
240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        DocumentType docType = null;
241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        DOMImplementation domImpl;
243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI = null;
245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String qualifiedName = "abc:def";
247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        domImpl = doc.getImplementation();
249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        newDoc = domImpl.createDocument("http://www.w3.org/DOM/Test",
250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "dom:doc", docType);
251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        {
253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            boolean success = false;
254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            try {
255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                newDoc.createAttributeNS(namespaceURI, qualifiedName);
256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            } catch (DOMException ex) {
257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                success = (ex.code == DOMException.NAMESPACE_ERR);
258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue("documentcreateattributeNS05", success);
260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Verifies that createAttributeNS throws DOMException with NAMESPACE_ERR code.",
265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "createElementNS",
266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testCreateAttributeNS6() throws Throwable {
269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document newDoc;
271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        DocumentType docType = null;
272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        DOMImplementation domImpl;
274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI = "http://www.w3.org/XML/1998 /namespace";
276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String qualifiedName = "xml:root";
277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        domImpl = doc.getImplementation();
279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        newDoc = domImpl.createDocument("http://www.w3.org/DOM/Test",
280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "dom:doc", docType);
281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        {
283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            boolean success = false;
284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            try {
285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                newDoc.createAttributeNS(namespaceURI, qualifiedName);
286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            } catch (DOMException ex) {
287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                success = (ex.code == DOMException.NAMESPACE_ERR);
288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue("documentcreateattributeNS06", success);
290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL_COMPLETE,
294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Verifies that createAttributeNS throws DOMException with NAMESPACE_ERR code.",
295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "createAttributeNS",
296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testCreateAttributeNS7() throws Throwable {
299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI = "http://www.W3.org/2000/xmlns";
302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String qualifiedName = "xmlns";
303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        {
306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            boolean success = false;
307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            try {
308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                doc.createAttributeNS(namespaceURI, qualifiedName);
309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            } catch (DOMException ex) {
310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                success = (ex.code == DOMException.NAMESPACE_ERR);
311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue("documentcreateattributeNS07", success);
313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
316