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.Node; 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Document; 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.DocumentFragment; 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Text; 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport javax.xml.parsers.DocumentBuilder; 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/** 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Create a document fragment with two adjacent text nodes, normalize and see if 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the text nodes were combined. 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author Curt Arnold 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a 21f6c387128427e121477c1b32ad35cdcaa5101ba3The 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> 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-B63ED1A3">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-B63ED1A3</a> 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(Node.class) 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class HCNodeDocumentFragmentNormalize extends DOMTestCase { 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DOMDocumentBuilderFactory factory; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DocumentBuilder builder; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void setUp() throws Exception { 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.setUp(); 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project .getConfiguration1()); 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project builder = factory.getBuilder(); 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (Exception e) { 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("Unexpected exception" + e.getMessage()); 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void tearDown() throws Exception { 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project factory = null; 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project builder = null; 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project super.tearDown(); 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Runs the test case. 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @throws Throwable 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Any uncaught exception causes test to fail 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Verifies positive functionality of getNodeValue method, and that getNextSibling method returns null.", 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getNodeValue", 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Verifies positive functionality of getNodeValue method, and that getNextSibling method returns null.", 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getNextSibling", 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testNodeDocumentFragmentNormalize1() throws Throwable { 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Document doc; 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DocumentFragment docFragment; 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String nodeValue; 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Text txtNode; 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Node retval; 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project doc = (Document) load("hc_staff", builder); 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project docFragment = doc.createDocumentFragment(); 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project txtNode = doc.createTextNode("foo"); 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project retval = docFragment.appendChild(txtNode); 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project txtNode = doc.createTextNode("bar"); 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project retval = docFragment.appendChild(txtNode); 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project docFragment.normalize(); 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project txtNode = (Text) docFragment.getFirstChild(); 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project nodeValue = txtNode.getNodeValue(); 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("normalizedNodeValue", "foobar", nodeValue); 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project retval = txtNode.getNextSibling(); 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNull("singleChild", retval); 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.PARTIAL, 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project notes = "Verifies that getFirstChild method returns null.", 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getFirstChild", 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = {} 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testNodeDocumentFragmentNormalize2() throws Throwable { 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Document doc; 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project DocumentFragment docFragment; 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Text txtNode; 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project doc = (Document) load("hc_staff", builder); 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project docFragment = doc.createDocumentFragment(); 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project txtNode = doc.createTextNode(""); 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project docFragment.appendChild(txtNode); 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project docFragment.normalize(); 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project txtNode = (Text) docFragment.getFirstChild(); 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertNull("noChild", txtNode); 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 109