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-2003 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 org.w3c.dom.Element;
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Attr;
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Document;
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.NodeList;
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport javax.xml.parsers.DocumentBuilder;
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The "getAttributeNS(namespaceURI,localName)" method retrieves an attribute
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * value by local name and NamespaceURI.
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Retrieve the first "emp:address" element. The value returned by the
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * "getAttributeNS()" method should be the value "DISTRICT" since the attribute
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * has a default value.
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author NIST
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author Mary Brady
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAttrNS">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAttrNS</a>
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=238">http://www.w3.org/Bugs/Public/show_bug.cgi?id=238</a>
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(Element.class)
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class GetAttributeNS extends DOMTestCase {
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DOMDocumentBuilderFactory factory;
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DocumentBuilder builder;
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void setUp() throws Exception {
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.setUp();
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .getConfiguration2());
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            builder = factory.getBuilder();
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (Exception e) {
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception" + e.getMessage());
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void tearDown() throws Exception {
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        factory = null;
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        builder = null;
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.tearDown();
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Runs the test case.
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws Throwable
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *             Any uncaught exception causes test to fail
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Assumes validation.
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//    public void testGetAttributeNS1() throws Throwable {
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        String namespaceURI = "http://www.nist.gov";
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        String localName = "district";
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        Document doc;
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        NodeList elementList;
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        Element testAddr;
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        String attrValue;
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        doc = (Document) load("staffNS", builder);
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        elementList = doc.getElementsByTagName("emp:address");
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        testAddr = (Element) elementList.item(0);
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        attrValue = testAddr.getAttributeNS(namespaceURI, localName);
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//        assertEquals("attrValue", "DISTRICT", attrValue);
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project//    }
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't verify DOMException.",
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getAttributeNS",
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetAttributeNS2() throws Throwable {
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI = "http://www.nist.gov";
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String localName = "district";
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String qualifiedName = "emp:district";
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Attr newAttribute;
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        NodeList elementList;
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Element testAddr;
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String attrValue;
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        newAttribute = doc.createAttributeNS(namespaceURI, qualifiedName);
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        elementList = doc.getElementsByTagName("emp:address");
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        testAddr = (Element) elementList.item(0);
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNotNull("empAddrNotNull", testAddr);
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        testAddr.setAttributeNodeNS(newAttribute);
118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        elementList = doc.getElementsByTagName("emp:address");
119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        testAddr = (Element) elementList.item(0);
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attrValue = testAddr.getAttributeNS(namespaceURI, localName);
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("throw_Equals", "", attrValue);
122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't verify DOMException.",
126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getAttributeNS",
127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetAttributeNS3() throws Throwable {
130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI = "http://www.nist.gov";
131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String localName = "domestic";
132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        NodeList elementList;
134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Element testAddr;
135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String attrValue;
136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        elementList = doc.getElementsByTagName("emp:address");
138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        testAddr = (Element) elementList.item(0);
139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNotNull("empAddrNotNull", testAddr);
140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        testAddr.removeAttributeNS(namespaceURI, localName);
141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attrValue = testAddr.getAttributeNS(namespaceURI, localName);
142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("throw_Equals", "", attrValue);
143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't verify DOMException.",
147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getAttributeNS",
148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetAttributeNS4() throws Throwable {
151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI = "http://www.nist.gov";
152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String localName = "blank";
153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String qualifiedName = "emp:blank";
154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        NodeList elementList;
157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Element testAddr;
158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String attrValue;
160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc.createAttributeNS(namespaceURI, qualifiedName);
162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        elementList = doc.getElementsByTagName("emp:address");
163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        testAddr = (Element) elementList.item(0);
164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNotNull("empAddrNotNull", testAddr);
165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        testAddr.setAttributeNS(namespaceURI, qualifiedName, "NewValue");
166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attrValue = testAddr.getAttributeNS(namespaceURI, localName);
167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("throw_Equals", "NewValue", attrValue);
168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't verify DOMException.",
172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getAttributeNS",
173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetAttributeNS5() throws Throwable {
176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        NodeList elementList;
178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Element testAddr;
179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String attrValue;
180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        elementList = doc.getElementsByTagName("emp:address");
182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        testAddr = (Element) elementList.item(0);
183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNotNull("empAddrNotNull", testAddr);
184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attrValue = testAddr.getAttributeNS("http://www.nist.gov", "domestic");
185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("attrValue", "Yes", attrValue);
186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
188