1package tests.org.w3c.dom; 2 3import org.w3c.dom.Element; 4import org.w3c.dom.Document; 5import org.w3c.dom.NodeList; 6 7import 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 */ 21public 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