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.Node;
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.Document;
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.DocumentFragment;
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.Element;
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.DOMException;
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.Attr;
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.NodeList;
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.xml.parsers.DocumentBuilder;
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The method setPrefix sets the namespace prefix of this node. Note that
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * setting this attribute, when permitted, changes the nodeName attribute, which
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * holds the qualified name, as well as the tagName and name attributes of the
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Element and Attr interfaces, when applicable.
42f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes *
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Create a new element node with a namespace prefix. Add it to a new
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * DocumentFragment Node without a prefix. Call setPrefix on the elemen node.
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Check if the prefix was set correctly on the element.
46f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes *
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author IBM
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author Neil Delima
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see <a
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix</a>
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic final class NodeSetPrefix extends DOMTestCase {
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    DOMDocumentBuilderFactory factory;
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    DocumentBuilder builder;
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void setUp() throws Exception {
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        super.setUp();
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    .getConfiguration1());
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            builder = factory.getBuilder();
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Unexpected exception" + e.getMessage());
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void tearDown() throws Exception {
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        factory = null;
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        builder = null;
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        super.tearDown();
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Runs the test case.
77f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @throws Throwable
79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *             Any uncaught exception causes test to fail
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testSetPrefix1() throws Throwable {
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DocumentFragment docFragment;
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Element element;
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String elementTagName;
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String elementNodeName;
87f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staff", builder);
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        docFragment = doc.createDocumentFragment();
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        element = doc.createElementNS("http://www.w3.org/DOM/Test",
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                "emp:address");
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        docFragment.appendChild(element);
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        element.setPrefix("dmstc");
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        elementTagName = element.getTagName();
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        elementNodeName = element.getNodeName();
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("nodesetprefix01_tagname", "dmstc:address", elementTagName);
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("nodesetprefix01_nodeName", "dmstc:address",
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                elementNodeName);
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// TODO Fails on JDK. Why?
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//    public void testSetPrefix2() throws Throwable {
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        Document doc;
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        Element element;
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        Attr attribute;
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        Attr newAttribute;
107f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes//
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        NodeList elementList;
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        String attrName;
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        String newAttrName;
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        doc = (Document) load("staffNS", builder);
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        elementList = doc.getElementsByTagName("address");
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        element = (Element) elementList.item(1);
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        newAttribute = doc.createAttributeNS("http://www.w3.org/DOM/Test",
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//                "test:address");
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        element.setAttributeNodeNS(newAttribute);
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        newAttribute.setPrefix("dom");
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        attribute = element
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//                .getAttributeNodeNS("http://www.usa.com", "domestic");
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        attrName = attribute.getNodeName();
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        newAttrName = newAttribute.getNodeName();
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        assertEquals("nodesetprefix02_attrName", "dmstc:domestic", attrName);
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        assertEquals("nodesetprefix02_newAttrName", "dom:address", newAttrName);
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//    }
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testSetPrefix3() throws Throwable {
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Element element;
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        element = doc.createElement("address");
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        {
132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            boolean success = false;
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            try {
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                element.setPrefix("test");
135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            } catch (DOMException ex) {
136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                success = (ex.code == DOMException.NAMESPACE_ERR);
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("throw_NAMESPACE_ERR", success);
139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// Relies on validation, which we don't support.
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//    public void testSetPrefix4() throws Throwable {
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        Document doc;
145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        Element element;
146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        Attr attribute;
147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        NodeList elementList;
148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        String nullNS = null;
149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//
150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        doc = (Document) load("staffNS", builder);
151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        elementList = doc.getElementsByTagName("emp:employee");
152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        element = (Element) elementList.item(0);
153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        assertNotNull("empEmployeeNotNull", element);
154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        attribute = element.getAttributeNodeNS(nullNS, "defaultAttr");
155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//
156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        {
157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//            boolean success = false;
158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//            try {
159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//                attribute.setPrefix("test");
160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//            } catch (DOMException ex) {
161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//                success = (ex.code == DOMException.NAMESPACE_ERR);
162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//            }
163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//            assertTrue("nodesetprefix04", success);
164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//        }
165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//    }
166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testSetPrefix5() throws Throwable {
167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Element element;
169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String prefixValue;
170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        List<String> prefixValues = new ArrayList<String>();
171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        prefixValues.add("_:");
172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        prefixValues.add(":0");
173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        prefixValues.add(":");
174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        prefixValues.add("_::");
175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        prefixValues.add("a:0:c");
176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        element = doc.createElementNS("http://www.w3.org/DOM/Test/L2",
179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                "dom:elem");
180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        for (int indexN10050 = 0; indexN10050 < prefixValues.size(); indexN10050++) {
181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            prefixValue = (String) prefixValues.get(indexN10050);
182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            {
184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                boolean success = false;
185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                try {
186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    element.setPrefix(prefixValue);
187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                } catch (DOMException ex) {
188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    success = (ex.code == DOMException.NAMESPACE_ERR);
189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                }
190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                assertTrue("throw_NAMESPACE_ERR", success);
191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testSetPrefix6() throws Throwable {
195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Element element;
197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        element = doc.createElementNS("http://www.w3.org/DOM/Test/L2",
199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                "dom:elem");
200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        {
202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            boolean success = false;
203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            try {
204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                element.setPrefix("xml");
205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            } catch (DOMException ex) {
206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                success = (ex.code == DOMException.NAMESPACE_ERR);
207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("throw_NAMESPACE_ERR", success);
209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testSetPrefix7() throws Throwable {
212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Attr attribute;
214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        attribute = doc.createAttributeNS("http://www.w3.org/DOM/Test/L2",
216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                "abc:elem");
217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        {
219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            boolean success = false;
220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            try {
221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                attribute.setPrefix("xmlns");
222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            } catch (DOMException ex) {
223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                success = (ex.code == DOMException.NAMESPACE_ERR);
224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("throw_NAMESPACE_ERR", success);
226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testSetPrefix8() throws Throwable {
229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Element element;
231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        NodeList elementList;
232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Attr attribute;
233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        elementList = doc.getElementsByTagName("employee");
235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        element = (Element) elementList.item(0);
236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        attribute = element.getAttributeNode("xmlns");
237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        {
239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            boolean success = false;
240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            try {
241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                attribute.setPrefix("xml");
242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            } catch (DOMException ex) {
243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                success = (ex.code == DOMException.NAMESPACE_ERR);
244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("throw_NAMESPACE_ERR", success);
246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void _testSetPrefix9() throws Throwable {
249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String value = "#$%&'()@";
251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Element element;
252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        element = doc.createElementNS("http://www.w3.org/DOM/Test/L2",
254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                "dom:elem");
255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        {
257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            boolean success = false;
258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            try {
259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                element.setPrefix(value);
260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            } catch (DOMException ex) {
261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                success = (ex.code == DOMException.INVALID_CHARACTER_ERR);
262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("throw_INVALID_CHARACTER_ERR", success);
264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
267