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