package tests.org.w3c.dom; import org.w3c.dom.Document; import org.w3c.dom.DocumentType; import org.w3c.dom.DOMImplementation; import org.w3c.dom.NodeList; import org.w3c.dom.Element; import javax.xml.parsers.DocumentBuilder; /** * The method getElementsByTagNameNS returns a NodeList of all the Elements with * a given local name and namespace URI in the order in which they are * encountered in a preorder traversal of the Document tree. * * Invoke the getElementsByTagNameNS method on a new Document object with the * values of namespaceURI=* and localName=*. This should return a nodeList of 1 * item. * * @author IBM * @author Neil Delima * @see <a * href="http://www.w3.org/TR/DOM-Level-2-Core/core">http://www.w3.org/TR/DOM-Level-2-Core/core</a> * @see <a * 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> * @see <a * href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259">http://www.w3.org/Bugs/Public/show_bug.cgi?id=259</a> */ public final class DocumentGetElementsByTagnameNS extends DOMTestCase { DOMDocumentBuilderFactory factory; DocumentBuilder builder; protected void setUp() throws Exception { super.setUp(); try { factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory .getConfiguration2()); builder = factory.getBuilder(); } catch (Exception e) { fail("Unexpected exception" + e.getMessage()); } } protected void tearDown() throws Exception { factory = null; builder = null; super.tearDown(); } /** * Runs the test case. * * @throws Throwable * Any uncaught exception causes test to fail */ public void testGetElementsByTagNameNS1() throws Throwable { Document doc; Document newDoc; DocumentType docType = null; DOMImplementation domImpl; NodeList childList; String nullNS = null; doc = (Document) load("staffNS", builder); domImpl = doc.getImplementation(); newDoc = domImpl.createDocument(nullNS, "root", docType); childList = newDoc.getElementsByTagNameNS("*", "*"); assertEquals("documentgetelementsbytagnameNS01", 1, childList .getLength()); } public void testGetElementsByTagNameNS2() throws Throwable { Document doc; Element docElem; Element element; NodeList childList; doc = (Document) load("staffNS", builder); docElem = doc.getDocumentElement(); element = doc.createElementNS("test", "employeeId"); docElem.appendChild(element); childList = doc.getElementsByTagNameNS("*", "employeeId"); assertEquals("documentgetelementsbytagnameNS02", 6, childList .getLength()); } public void testGetElementsByTagNameNS3() throws Throwable { Document doc; NodeList childList; doc = (Document) load("staffNS", builder); childList = doc.getElementsByTagNameNS("**", "*"); assertEquals("documentgetelementsbytagnameNS03", 0, childList .getLength()); } public void testGetElementsByTagNameNS4() throws Throwable { Document doc; NodeList childList; String nullNS = null; doc = (Document) load("staffNS", builder); childList = doc.getElementsByTagNameNS(nullNS, "0"); assertEquals("documentgetelementsbytagnameNS04", 0, childList .getLength()); } public void testGetElementsByTagNameNS5() throws Throwable { Document doc; NodeList childList; doc = (Document) load("staffNS", builder); childList = doc.getElementsByTagNameNS("null", "elementId"); assertEquals("documentgetelementsbytagnameNS05", 0, childList .getLength()); } }