Home | History | Annotate | Download | only in dom
      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