OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / libcore / luni / src / test / java / tests / org / w3c / dom / ElementHasAttribute.java
diff --git a/libcore/luni/src/test/java/tests/org/w3c/dom/ElementHasAttribute.java b/libcore/luni/src/test/java/tests/org/w3c/dom/ElementHasAttribute.java
new file mode 100644 (file)
index 0000000..3d5de49
--- /dev/null
@@ -0,0 +1,123 @@
+package tests.org.w3c.dom;
+
+import dalvik.annotation.TestTargets;
+import dalvik.annotation.TestLevel;
+import dalvik.annotation.TestTargetNew;
+import dalvik.annotation.TestTargetClass;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Document;
+import org.w3c.dom.Attr;
+
+import javax.xml.parsers.DocumentBuilder;
+
+/**
+ * The method hasAttribute returns true when an attribute with a given name is
+ * specified on this element or has a default value, false otherwise Invoke the
+ * hasAttribute method to check if the documentElement has attributres.
+ *
+ * @author IBM
+ * @author Neil Delima
+ * @see <a
+ *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeHasAttrs">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeHasAttrs</a>
+ */
+@TestTargetClass(Element.class)
+public final class ElementHasAttribute extends DOMTestCase {
+
+    DOMDocumentBuilderFactory factory;
+
+    DocumentBuilder builder;
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        try {
+            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
+                    .getConfiguration1());
+            builder = factory.getBuilder();
+        } catch (Exception e) {
+            fail("Unexpected exception" + e.getMessage());
+        }
+    }
+
+    protected void tearDown() throws Exception {
+        factory = null;
+        builder = null;
+        super.tearDown();
+    }
+
+    /**
+     * Runs the test case.
+     *
+     * @throws Throwable
+     *             Any uncaught exception causes test to fail
+     */
+    @TestTargetNew(
+        level = TestLevel.PARTIAL_COMPLETE,
+        notes = "Verifies hasAttribute method with empty string as a parameter.",
+        method = "hasAttribute",
+        args = {java.lang.String.class}
+    )
+    public void testHasAttribute1() throws Throwable {
+        Document doc;
+        Element element;
+        boolean state;
+        doc = (Document) load("staff", builder);
+        element = doc.getDocumentElement();
+        state = element.hasAttribute("");
+        assertFalse("elementhasattribute01", state);
+    }
+
+// Assumes validation.
+//    public void testHasAttribute2() throws Throwable {
+//        Document doc;
+//        Element element;
+//        boolean state;
+//        NodeList elementList;
+//        doc = (Document) load("staffNS", builder);
+//        elementList = doc.getElementsByTagName("emp:employee");
+//        element = (Element) elementList.item(0);
+//        assertNotNull("empEmployeeNotNull", element);
+//        state = element.hasAttribute("defaultAttr");
+//        assertTrue("elementhasattribute02", state);
+//    }
+    @TestTargetNew(
+        level = TestLevel.PARTIAL_COMPLETE,
+        notes = "Verifies positive functionality.",
+        method = "hasAttribute",
+        args = {java.lang.String.class}
+    )
+    public void testHasAttribute3() throws Throwable {
+        Document doc;
+        Element element;
+        boolean state;
+        Attr attribute;
+
+        doc = (Document) load("staff", builder);
+        element = doc.createElement("address");
+        attribute = doc.createAttribute("domestic");
+        state = element.hasAttribute("domestic");
+        assertFalse("elementhasattribute03_False", state);
+        element.setAttributeNode(attribute);
+        state = element.hasAttribute("domestic");
+        assertTrue("elementhasattribute03_True", state);
+    }
+    @TestTargetNew(
+        level = TestLevel.PARTIAL_COMPLETE,
+        notes = "Verifies positive functionality.",
+        method = "hasAttribute",
+        args = {java.lang.String.class}
+    )
+    public void testHasAttribute4() throws Throwable {
+        Document doc;
+        Element element;
+        boolean state;
+        Attr attribute;
+
+        doc = (Document) load("staff", builder);
+        element = doc.createElement("address");
+        attribute = doc.createAttribute("domestic");
+        element.setAttributeNode(attribute);
+        state = element.hasAttribute("domestic");
+        assertTrue("elementhasattribute04", state);
+    }
+}