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.NodeList;
import javax.xml.parsers.DocumentBuilder;
/**
* The "hasAttribute()" method for an Element should return true if the element
* has an attribute with the given name. Retrieve the first "address" element
* and the "hasAttribute()" method should return false since the element does
* not have a default value.
*
* @author NIST
* @author Mary Brady
* @see <a
* href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttr">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttr</a>
*/
@TestTargetClass(Element.class)
public final class HasAttribute 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 that hasAttribute method returns false.",
method = "hasAttribute",
args = {java.lang.String.class}
)
public void testHasAttribute1() throws Throwable {
Document doc;
NodeList elementList;
Element testNode;
boolean state;
doc = (Document) load("staff", builder);
elementList = doc.getElementsByTagName("address");
testNode = (Element) elementList.item(4);
state = testNode.hasAttribute("domestic");
assertFalse("throw_False", state);
}
// Assumes validation.
// public void testHasAttribute2() throws Throwable {
// Document doc;
// NodeList elementList;
// Element testNode;
// boolean state;
// doc = (Document) load("staff", builder);
// elementList = doc.getElementsByTagName("address");
// testNode = (Element) elementList.item(0);
// state = testNode.hasAttribute("street");
// assertTrue("throw_True", state);
// }
@TestTargetNew(
level = TestLevel.PARTIAL_COMPLETE,
notes = "Verifies that hasAttribute method returns false.",
method = "hasAttribute",
args = {java.lang.String.class}
)
public void testHasAttribute3() throws Throwable {
Document doc;
NodeList elementList;
Element testNode;
boolean state;
doc = (Document) load("staff", builder);
elementList = doc.getElementsByTagName("address");
testNode = (Element) elementList.item(0);
state = testNode.hasAttribute("nomatch");
assertFalse("throw_False", state);
}
@TestTargetNew(
level = TestLevel.PARTIAL_COMPLETE,
notes = "Verifies that hasAttribute method returns true.",
method = "hasAttribute",
args = {java.lang.String.class}
)
public void testHasAttribute4() throws Throwable {
Document doc;
NodeList elementList;
Element testNode;
boolean state;
doc = (Document) load("staffNS", builder);
elementList = doc.getElementsByTagName("address");
testNode = (Element) elementList.item(0);
state = testNode.hasAttribute("dmstc:domestic");
assertTrue("hasDomesticAttr", state);
}
}
|