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.NamedNodeMap; 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Document; 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Attr; 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Node; 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.NodeList; 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport javax.xml.parsers.DocumentBuilder; 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/** 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The "getNamedItemNS(namespaceURI,localName)" method for a NamedNodeMap should 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * return a node specified by localName and namespaceURI 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Retrieve a list of elements with tag name "address". Access the second 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * element from the list and get its attributes. Try to retrieve the attribute 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * node with local name "domestic" and namespace uri "http://www.usa.com" with 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * method getNamedItemNS(namespaceURI,localName). 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author NIST 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author Mary Brady 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-F68D095">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-F68D095</a> 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(NamedNodeMap.class) 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class GetNamedItemNS extends DOMTestCase { 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DOMDocumentBuilderFactory factory; 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DocumentBuilder builder; 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setUp() throws Exception { 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.setUp(); 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getConfiguration2()); 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project builder = factory.getBuilder(); 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Unexpected exception" + e.getMessage()); 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void tearDown() throws Exception { 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project factory = null; 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project builder = null; 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.tearDown(); 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Runs the test case. 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws Throwable 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Any uncaught exception causes test to fail 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Doesn't verify DOMException.", 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getNamedItem", 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class} 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testGetNamedItemNS1() throws Throwable { 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Document doc; 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project NodeList elementList; 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Node testEmployee; 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project NamedNodeMap attributes; 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Attr domesticAttr; 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String attrName; 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project doc = (Document) load("staffNS", builder); 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project elementList = doc.getElementsByTagName("address"); 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testEmployee = elementList.item(1); 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project attributes = testEmployee.getAttributes(); 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project domesticAttr = (Attr) attributes.getNamedItemNS("http://www.usa.com", 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "domestic"); 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project attrName = domesticAttr.getNodeName(); 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("attrName", "dmstc:domestic", attrName); 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Doesn't verify DOMException.", 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getNamedItemNS", 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {java.lang.String.class, java.lang.String.class} 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testGetNamedItemNS2() throws Throwable { 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String namespaceURI = "http://www.usa.com"; 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String localName = "domest"; 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Document doc; 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project NodeList elementList; 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Node testEmployee; 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project NamedNodeMap attributes; 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Attr newAttr; 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project doc = (Document) load("staffNS", builder); 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project elementList = doc.getElementsByTagName("address"); 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testEmployee = elementList.item(1); 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project attributes = testEmployee.getAttributes(); 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project newAttr = (Attr) attributes.getNamedItemNS(namespaceURI, localName); 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNull("throw_Null", newAttr); 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Assumes validation. 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// public void testGetNamedItemNS3() throws Throwable { 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Document doc; 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// DocumentType docType; 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// NamedNodeMap entities; 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Entity entity; 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// String nullNS = null; 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// doc = (Document) load("staffNS", builder); 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// docType = doc.getDoctype(); 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// entities = docType.getEntities(); 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// assertNotNull("entitiesNotNull", entities); 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// entity = (Entity) entities.getNamedItemNS(nullNS, "ent1"); 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// assertNotNull("entityNull", entity); 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// } 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Assumes validation. 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// public void testGetNamedItemNS4() throws Throwable { 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Document doc; 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// DocumentType docType; 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// NamedNodeMap notations; 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Notation notation; 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// String nullNS = null; 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// doc = (Document) load("staffNS", builder); 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// docType = doc.getDoctype(); 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// notations = docType.getNotations(); 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// assertNotNull("notationsNotNull", notations); 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// notation = (Notation) notations.getNamedItemNS(nullNS, "notation1"); 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// assertNotNull("notationNull", notation); 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// } 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 136