1package tests.org.w3c.dom; 2 3import dalvik.annotation.TestTargets; 4import dalvik.annotation.TestLevel; 5import dalvik.annotation.TestTargetNew; 6import dalvik.annotation.TestTargetClass; 7 8import org.w3c.dom.Attr; 9import org.w3c.dom.Document; 10import org.w3c.dom.Element; 11import org.w3c.dom.Node; 12import org.w3c.dom.NodeList; 13import org.w3c.dom.NamedNodeMap; 14 15import javax.xml.parsers.DocumentBuilder; 16 17@TestTargetClass(Attr.class) 18public final class AttrGetOwnerElement extends DOMTestCase { 19 20 DOMDocumentBuilderFactory factory; 21 22 DocumentBuilder builder; 23 24 protected void setUp() throws Exception { 25 super.setUp(); 26 try { 27 factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory 28 .getConfiguration2()); 29 builder = factory.getBuilder(); 30 } catch (Exception e) { 31 fail("Unexpected exception " + e.getMessage()); 32 } 33 } 34 35 protected void tearDown() throws Exception { 36 factory = null; 37 builder = null; 38 super.tearDown(); 39 } 40 41// Assumes validation. 42// public void testGetOwnerElement1() throws Throwable { 43// Document doc; 44// Attr attr; 45// Element element; 46// Element ownerElement; 47// String ownerElementName; 48// NodeList elementList; 49// NamedNodeMap attributes; 50// String nullNS = null; 51// 52// doc = (Document) load("staffNS", builder); 53// 54// elementList = doc.getElementsByTagNameNS("http://www.nist.gov", 55// "employee"); 56// element = (Element) elementList.item(1); 57// attributes = element.getAttributes(); 58// attr = (Attr) attributes.getNamedItemNS(nullNS, "defaultAttr"); 59// ownerElement = attr.getOwnerElement(); 60// ownerElementName = ownerElement.getNodeName(); 61// assertEquals("attrgetownerelement01", "emp:employee", ownerElementName); 62// 63// } 64 @TestTargetNew( 65 level = TestLevel.PARTIAL, 66 notes = "Doesn't verify that getOwnerElement returns null if an attribute is not in use.", 67 method = "getOwnerElement", 68 args = {} 69 ) 70 public void testGetOwnerElement2() throws Throwable { 71 Document doc; 72 Element element; 73 Element ownerElement; 74 String ownerElementName; 75 Attr attr; 76 77 doc = (Document) load("staffNS", builder); 78 element = doc.createElement("root"); 79 attr = doc.createAttributeNS("http://www.w3.org/DOM/L1", "L1:att"); 80 element.setAttributeNodeNS(attr); 81 ownerElement = attr.getOwnerElement(); 82 ownerElementName = ownerElement.getNodeName(); 83 assertEquals("attrgetownerelement02", "root", ownerElementName); 84 } 85 @TestTargetNew( 86 level = TestLevel.PARTIAL, 87 notes = "Verifies that getOwnerElement returns null if an attribute is not in use.", 88 method = "getOwnerElement", 89 args = {} 90 ) 91 public void testGetOwnerElement3() throws Throwable { 92 Document doc; 93 Node ownerElement; 94 Attr attr; 95 doc = (Document) load("staffNS", builder); 96 attr = doc.createAttributeNS("http://www.w3.org/DOM", "dom:attr"); 97 ownerElement = attr.getOwnerElement(); 98 assertNull("attrgetownerelement03", ownerElement); 99 } 100 @TestTargetNew( 101 level = TestLevel.PARTIAL, 102 notes = "Verifies that getOwnerElement returns null if an attribute is not in use.", 103 method = "getOwnerElement", 104 args = {} 105 ) 106 public void testGetOwnerElement4() throws Throwable { 107 Document doc; 108 Document docImp; 109 Node ownerElement; 110 Element element; 111 Attr attr; 112 Attr attrImp; 113 NodeList addresses; 114 115 doc = (Document) load("staffNS", builder); 116 docImp = (Document) load("staff", builder); 117 118 addresses = doc 119 .getElementsByTagNameNS("http://www.nist.gov", "address"); 120 element = (Element) addresses.item(1); 121 assertNotNull("empAddressNotNull", element); 122 attr = element.getAttributeNodeNS("http://www.nist.gov", "zone"); 123 attrImp = (Attr) docImp.importNode(attr, true); 124 ownerElement = attrImp.getOwnerElement(); 125 assertNull("attrgetownerelement04", ownerElement); 126 } 127 @TestTargetNew( 128 level = TestLevel.PARTIAL, 129 notes = "Doesn't verify that getOwnerElement returns null if an attribute is not in use.", 130 method = "getOwnerElement", 131 args = {} 132 ) 133 public void testGetOwnerElement5() throws Throwable { 134 Document doc; 135 Node element; 136 Element ownerElement; 137 Element parentElement; 138 NodeList elementList; 139 String ownerElementName; 140 Attr attr; 141 142 NamedNodeMap nodeMap; 143 String nullNS = null; 144 145 doc = (Document) load("staffNS", builder); 146 elementList = doc.getElementsByTagNameNS("*", "address"); 147 element = elementList.item(1); 148 parentElement = (Element) element.getParentNode(); 149 nodeMap = element.getAttributes(); 150 parentElement.removeChild(element); 151 attr = (Attr) nodeMap.getNamedItemNS(nullNS, "street"); 152 ownerElement = attr.getOwnerElement(); 153 ownerElementName = ownerElement.getNodeName(); 154 assertEquals("attrgetownerelement05", "address", ownerElementName); 155 } 156} 157