1 package tests.org.w3c.dom; 2 3 import dalvik.annotation.TestTargets; 4 import dalvik.annotation.TestLevel; 5 import dalvik.annotation.TestTargetNew; 6 import dalvik.annotation.TestTargetClass; 7 8 import org.w3c.dom.Attr; 9 import org.w3c.dom.Document; 10 import org.w3c.dom.Element; 11 import org.w3c.dom.Node; 12 import org.w3c.dom.NodeList; 13 import org.w3c.dom.NamedNodeMap; 14 15 import javax.xml.parsers.DocumentBuilder; 16 17 @TestTargetClass(Attr.class) 18 public 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