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