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); } }