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 Copyright (c) 2001-2004 World Wide Web Consortium,
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project (Massachusetts Institute of Technology, Institut National de
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Recherche en Informatique et en Automatique, Keio University). All
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Rights Reserved. This program is distributed under the W3C's Software
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Intellectual Property License. This program is distributed in the
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project hope that it will be useful, but WITHOUT ANY WARRANTY; without even
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project PURPOSE.
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project See W3C License http://www.w3.org/Consortium/Legal/ for more details.
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.org.w3c.dom;
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets;
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel;
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew;
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass;
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.NamedNodeMap;
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Document;
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Element;
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.DOMException;
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport javax.xml.parsers.DocumentBuilder;
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Attempt to insert an element into an attribute list, should raise a
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * HIERARCHY_REQUEST_ERR.
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author Curt Arnold
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR'])">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR'])</a>
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788</a>
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/2000/11/DOM-Level-2-errata#core-4">http://www.w3.org/2000/11/DOM-Level-2-errata#core-4</a>
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(NamedNodeMap.class)
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class HCNamedNodeMapInvalidType extends DOMTestCase {
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DOMDocumentBuilderFactory factory;
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DocumentBuilder builder;
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void setUp() throws Exception {
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.setUp();
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .getConfiguration1());
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            builder = factory.getBuilder();
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (Exception e) {
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception" + e.getMessage());
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void tearDown() throws Exception {
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        factory = null;
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        builder = null;
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.tearDown();
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Runs the test case.
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws Throwable
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *             Any uncaught exception causes test to fail
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Verifies that setNamedItem method throws DOMException with HIERARCHY_REQUEST_ERR code.",
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "setNamedItem",
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {org.w3c.dom.Node.class}
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testNamedNodeMapInvalidType() throws Throwable {
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        NamedNodeMap attributes;
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Element docElem;
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Element newElem;
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("hc_staff", builder);
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        docElem = doc.getDocumentElement();
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attributes = docElem.getAttributes();
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        newElem = doc.createElement("html");
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        {
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            boolean success = false;
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            try {
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                attributes.setNamedItem(newElem);
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            } catch (DOMException ex) {
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                success = (ex.code == DOMException.HIERARCHY_REQUEST_ERR);
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            }
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            assertTrue("throw_HIERARCHY_REQUEST_ERR", success);
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
104