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