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-2004 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.Document;
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.NodeList;
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Attr;
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 "getAttributeNodeNS(namespaceURI,localName)" method retrieves an
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * attribute node by local name and NamespaceURI.
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Retrieve the first emp:address element node. The getAttributeNodeNS method
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * returns an Attr node, the "value" can be examined to ensure the proper
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * attribute node was retrieved. This attribute value should be null since there
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * is no such attribute.
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author NIST
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author Mary Brady
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAtNodeNS">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAtNodeNS</a>
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(Element.class)
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class GetAttributeNodeNS extends DOMTestCase {
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DOMDocumentBuilderFactory factory;
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DocumentBuilder builder;
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void setUp() throws Exception {
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.setUp();
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .getConfiguration2());
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            builder = factory.getBuilder();
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (Exception e) {
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception" + e.getMessage());
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void tearDown() throws Exception {
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        factory = null;
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        builder = null;
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.tearDown();
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Runs the test case.
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws Throwable
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *             Any uncaught exception causes test to fail
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't verify DOMException.",
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getAttributeNodeNS",
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetAttributeNodeNS1() throws Throwable {
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String namespaceURI = "http://www.nist.gov";
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String localName = "invalidlocalname";
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        NodeList elementList;
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Element testAddr;
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Attr attribute;
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        elementList = doc.getElementsByTagName("emp:address");
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        testAddr = (Element) elementList.item(0);
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNotNull("empAddrNotNull", testAddr);
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attribute = testAddr.getAttributeNodeNS(namespaceURI, localName);
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNull("throw_Null", attribute);
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't verify DOMException.",
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getAttributeNodeNS",
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetAttributeNodeNS2() throws Throwable {
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        NodeList elementList;
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Element testAddr;
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Attr attribute;
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String attrName;
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        elementList = doc.getElementsByTagName("emp:address");
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        testAddr = (Element) elementList.item(0);
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNotNull("empAddrNotNull", testAddr);
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attribute = testAddr.getAttributeNodeNS("http://www.nist.gov",
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "domestic");
118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attrName = attribute.getNodeName();
119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertEquals("attrName", "emp:domestic", attrName);
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
122