1 package tests.org.w3c.dom; 2 3 import org.w3c.dom.Element; 4 import org.w3c.dom.Document; 5 import org.w3c.dom.NodeList; 6 7 import javax.xml.parsers.DocumentBuilder; 8 9 /** 10 * The "hasAttribute()" method for an Element should return true if the element 11 * has an attribute with the given name. Retrieve the first "address" element 12 * and the "hasAttribute()" method should return false since the element does 13 * not have a default value. 14 * 15 * @author NIST 16 * @author Mary Brady 17 * @see <a 18 * 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> 19 */ 20 public final class HasAttribute extends DOMTestCase { 21 22 DOMDocumentBuilderFactory factory; 23 24 DocumentBuilder builder; 25 setUp()26 protected void setUp() throws Exception { 27 super.setUp(); 28 try { 29 factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory 30 .getConfiguration1()); 31 builder = factory.getBuilder(); 32 } catch (Exception e) { 33 fail("Unexpected exception" + e.getMessage()); 34 } 35 } 36 tearDown()37 protected void tearDown() throws Exception { 38 factory = null; 39 builder = null; 40 super.tearDown(); 41 } 42 43 /** 44 * Runs the test case. 45 * 46 * @throws Throwable 47 * Any uncaught exception causes test to fail 48 */ testHasAttribute1()49 public void testHasAttribute1() throws Throwable { 50 Document doc; 51 NodeList elementList; 52 Element testNode; 53 boolean state; 54 doc = (Document) load("staff", builder); 55 elementList = doc.getElementsByTagName("address"); 56 testNode = (Element) elementList.item(4); 57 state = testNode.hasAttribute("domestic"); 58 assertFalse("throw_False", state); 59 } 60 61 // Assumes validation. 62 // public void testHasAttribute2() throws Throwable { 63 // Document doc; 64 // NodeList elementList; 65 // Element testNode; 66 // boolean state; 67 // doc = (Document) load("staff", builder); 68 // elementList = doc.getElementsByTagName("address"); 69 // testNode = (Element) elementList.item(0); 70 // state = testNode.hasAttribute("street"); 71 // assertTrue("throw_True", state); 72 // } testHasAttribute3()73 public void testHasAttribute3() throws Throwable { 74 Document doc; 75 NodeList elementList; 76 Element testNode; 77 boolean state; 78 doc = (Document) load("staff", builder); 79 elementList = doc.getElementsByTagName("address"); 80 testNode = (Element) elementList.item(0); 81 state = testNode.hasAttribute("nomatch"); 82 assertFalse("throw_False", state); 83 } testHasAttribute4()84 public void testHasAttribute4() throws Throwable { 85 Document doc; 86 NodeList elementList; 87 Element testNode; 88 boolean state; 89 doc = (Document) load("staffNS", builder); 90 elementList = doc.getElementsByTagName("address"); 91 testNode = (Element) elementList.item(0); 92 state = testNode.hasAttribute("dmstc:domestic"); 93 assertTrue("hasDomesticAttr", state); 94 } 95 } 96