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.Element;
      9 import org.w3c.dom.Document;
     10 import org.w3c.dom.NodeList;
     11 
     12 import javax.xml.parsers.DocumentBuilder;
     13 
     14 /**
     15  * The method getElementsByTagNameNS returns a NodeList of all the Elements with
     16  * a given local name and namespace URI in the order in which they are
     17  * encountered in a preorder traversal of the Document tree. Invoke
     18  * getElementsByTagNameNS on the documentElement with values for namespaceURI
     19  * '*' and localName '*'. Verify if this returns a nodeList of 0 elements.
     20  *
     21  * @author IBM
     22  * @author Neil Delima
     23  * @see <a
     24  *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS</a>
     25  */
     26 @TestTargetClass(Element.class)
     27 public final class ElementGetElementsByTagNameNS extends DOMTestCase {
     28 
     29     DOMDocumentBuilderFactory factory;
     30 
     31     DocumentBuilder builder;
     32 
     33     protected void setUp() throws Exception {
     34         super.setUp();
     35         try {
     36             factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
     37                     .getConfiguration2());
     38             builder = factory.getBuilder();
     39         } catch (Exception e) {
     40             fail("Unexpected exception" + e.getMessage());
     41         }
     42     }
     43 
     44     protected void tearDown() throws Exception {
     45         factory = null;
     46         builder = null;
     47         super.tearDown();
     48     }
     49 
     50     /**
     51      * Runs the test case.
     52      *
     53      * @throws Throwable
     54      *             Any uncaught exception causes test to fail
     55      */
     56     @TestTargetNew(
     57         level = TestLevel.PARTIAL,
     58         notes = "Doesn't verify DOMException.",
     59         method = "getElementsByTagNameNS",
     60         args = {java.lang.String.class, java.lang.String.class}
     61     )
     62     public void testGetElementsByTagNameNS1() throws Throwable {
     63         Document doc;
     64         Element element;
     65         NodeList elementList;
     66         doc = (Document) load("staffNS", builder);
     67         element = doc.getDocumentElement();
     68         elementList = element.getElementsByTagNameNS("**", "*");
     69         assertEquals("elementgetelementsbytagnamens02", 0, elementList
     70                 .getLength());
     71     }
     72     @TestTargetNew(
     73         level = TestLevel.PARTIAL,
     74         notes = "Doesn't verify DOMException.",
     75         method = "getElementsByTagNameNS",
     76         args = {java.lang.String.class, java.lang.String.class}
     77     )
     78     public void testGetElementsByTagNameNS4() throws Throwable {
     79         Document doc;
     80         Element element;
     81         Element child1;
     82         Element child2;
     83         Element child3;
     84 
     85         NodeList elementList;
     86         String nullNS = null;
     87 
     88         doc = (Document) load("staffNS", builder);
     89         element = doc.createElementNS("http://www.w3.org/DOM", "root");
     90         child1 = doc.createElementNS("http://www.w3.org/DOM/Level1",
     91                 "dom:child");
     92         child2 = doc.createElementNS(nullNS, "child");
     93         child3 = doc.createElementNS("http://www.w3.org/DOM/Level2",
     94                 "dom:child");
     95         element.appendChild(child1);
     96         element.appendChild(child2);
     97         element.appendChild(child3);
     98         elementList = element.getElementsByTagNameNS(nullNS, "child");
     99         assertEquals("elementgetelementsbytagnamens04_1", 1, elementList
    100                 .getLength());
    101         elementList = element.getElementsByTagNameNS("*", "child");
    102         assertEquals("elementgetelementsbytagnamens04_2", 3, elementList
    103                 .getLength());
    104     }
    105     @TestTargetNew(
    106         level = TestLevel.PARTIAL,
    107         notes = "Doesn't verify DOMException.",
    108         method = "getElementsByTagNameNS",
    109         args = {java.lang.String.class, java.lang.String.class}
    110     )
    111     public void testGetElementsByTagNameNS5() throws Throwable {
    112         Document doc;
    113         Element element;
    114         NodeList elementList;
    115         doc = (Document) load("staffNS", builder);
    116         element = doc.getDocumentElement();
    117         elementList = element.getElementsByTagNameNS(
    118                 "http://www.altavista.com", "*");
    119         assertEquals("elementgetelementsbytagnamens05", 1, elementList
    120                 .getLength());
    121     }
    122 }
    123