1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.org.w3c.dom;
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets;
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel;
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew;
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass;
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Element;
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Attr;
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Document;
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport javax.xml.parsers.DocumentBuilder;
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The method removeAttributeNS removes an attribute by local name and namespace
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * URI. Create a new element and add a new attribute node to it. Remove the
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * attribute node using the removeAttributeNodeNS method. Check if the attribute
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * was remove by invoking the hasAttributeNS method on the element and check if
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * it returns false.
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author IBM
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author Neil Delima
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElRemAtNS">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElRemAtNS</a>
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(Element.class)
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class ElementRemoveAttributeNS extends DOMTestCase {
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DOMDocumentBuilderFactory factory;
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DocumentBuilder builder;
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void setUp() throws Exception {
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.setUp();
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .getConfiguration1());
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            builder = factory.getBuilder();
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (Exception e) {
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception" + e.getMessage());
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void tearDown() throws Exception {
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        factory = null;
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        builder = null;
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.tearDown();
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Runs the test case.
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws Throwable
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *             Any uncaught exception causes test to fail
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't verify DOMException.",
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "removeAttributeNS",
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {java.lang.String.class, java.lang.String.class}
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testRemoveAttributeNS() throws Throwable {
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Element element;
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        boolean state;
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Attr attribute;
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staff", builder);
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        element = doc.createElementNS("http://www.w3.org/DOM", "elem");
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        attribute = doc.createAttributeNS(
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "http://www.w3.org/DOM/Test/createAttributeNS", "attr");
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        element.setAttributeNodeNS(attribute);
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        element.removeAttributeNS(
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "http://www.w3.org/DOM/Test/createAttributeNS", "attr");
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        state = element.hasAttributeNS(
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                "http://www.w3.org/DOM/Test/createAttributeNS", "attr");
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertFalse("elementremoveattributens01", state);
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
81