1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * you may not use this file except in compliance with the License. 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * You may obtain a copy of the License at 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.api.org.xml.sax.helpers; 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.io.IOException; 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport junit.framework.TestCase; 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.AttributeList; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.Attributes; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.ContentHandler; 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.DTDHandler; 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.EntityResolver; 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.ErrorHandler; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.InputSource; 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.Locator; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.Parser; 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.SAXException; 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.SAXNotRecognizedException; 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.SAXNotSupportedException; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.helpers.AttributeListImpl; 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.helpers.LocatorImpl; 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.xml.sax.helpers.ParserAdapter; 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport tests.api.org.xml.sax.support.MethodLogger; 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport tests.api.org.xml.sax.support.MockHandler; 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport tests.api.org.xml.sax.support.MockParser; 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport tests.api.org.xml.sax.support.MockResolver; 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel; 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets; 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@SuppressWarnings("deprecation") 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(ParserAdapter.class) 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class ParserAdapterTest extends TestCase { 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Note: In many cases we can only test that delegation works 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // properly. The rest is outside the scope of the specification. 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private final static String FEATURES = "http://xml.org/sax/features/"; 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private final static String NAMESPACES = FEATURES + "namespaces"; 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private final static String NAMESPACE_PREFIXES = FEATURES 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project + "namespace-prefixes"; 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private final static String XMLNS_URIs = FEATURES + "xmlns-uris"; 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private MethodLogger logger = new MethodLogger(); 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private MockHandler handler = new MockHandler(logger); 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private Parser parser = new MockParser(logger); 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private ParserAdapter adapter = new ParserAdapter(parser); 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private void assertEquals(Object[] a, Object[] b) { 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(a.length, b.length); 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (int i = 0; i < a.length; i++) { 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("Element #" + i + " must be equal", a[i], b[i]); 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @Override 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void setUp() { 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setContentHandler(handler); 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setDTDHandler(handler); 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setErrorHandler(handler); 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "ParserAdapter", 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { } 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testParserAdapter() { 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project System.setProperty("org.xml.sax.parser", 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project "tests.api.org.xml.sax.support.DoNothingParser"); 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project new ParserAdapter(); 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "ParserAdapter", 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { Parser.class } 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testParserAdapterParser() { 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Ordinary case 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @SuppressWarnings("unused") 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ParserAdapter adapter = new ParserAdapter(parser); 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Null case 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter = new ParserAdapter(null); 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("NullPointerException expected"); 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (NullPointerException e) { 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getFeature", 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { String.class } 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setFeature", 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { String.class, boolean.class } 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testGetSetFeature() { 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project String[] features = new String[] { NAMESPACES, NAMESPACE_PREFIXES, 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project XMLNS_URIs }; 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project for (String s: features) { 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setFeature(s, true); 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(true, adapter.getFeature(s)); 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setFeature(s, false); 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(false, adapter.getFeature(s)); 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setFeature("http://argle.bargle", true); 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("SAXNotRecognizedException expected"); 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXNotRecognizedException e) { 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXNotSupportedException e) { 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getProperty", 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { String.class } 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setProperty", 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { String.class, Object.class } 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testGetSetProperty() { 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setProperty("http://argle.bargle", ":)"); 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("SAXNotRecognizedException expected"); 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXNotRecognizedException e) { 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXNotSupportedException e) { 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.getProperty("http://argle.bargle"); 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project fail("SAXNotRecognizedException expected"); 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXNotRecognizedException e) { 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Expected 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXNotSupportedException e) { 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getEntityResolver", 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { } 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setEntityResolver", 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { EntityResolver.class } 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testGetSetEntityResolver() { 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project EntityResolver resolver = new MockResolver(); 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setEntityResolver(resolver); 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(resolver, adapter.getEntityResolver()); 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setEntityResolver(null); 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(null, adapter.getEntityResolver()); 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getDTDHandler", 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { } 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setDTDHandler", 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { DTDHandler.class } 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testGetSetDTDHandler() { 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setDTDHandler(null); 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(null, adapter.getDTDHandler()); 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setDTDHandler(handler); 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(handler, adapter.getDTDHandler()); 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getContentHandler", 238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { } 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 241f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 242f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setContentHandler", 243f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { ContentHandler.class } 244f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 246f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testGetSetContentHandler() { 247f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setContentHandler(null); 248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(null, adapter.getContentHandler()); 249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setContentHandler(handler); 251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(handler, adapter.getContentHandler()); 252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 254f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargets({ 255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "getErrorHandler", 258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { } 259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ), 260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 261f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setErrorHandler", 263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { ErrorHandler.class } 264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project }) 266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testGetSetErrorHandler() { 267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setErrorHandler(null); 268f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(null, adapter.getErrorHandler()); 269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setErrorHandler(handler); 271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(handler, adapter.getErrorHandler()); 272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 275f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "parse", 277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { String.class } 278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testParseString() { 280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.parse("foo"); 282f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // The SAX RI creates an InputSource itself and then delegates to the 289f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // "other" parse method. 290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("parse", logger.getMethod()); 291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(InputSource.class, logger.getArgs()[0].getClass()); 292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 296f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "parse", 297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { InputSource.class } 298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testParseInputSource() { 300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project InputSource source = new InputSource("foo"); 301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 303f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.parse(source); 304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (IOException e) { 307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 310f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("parse", logger.getMethod()); 311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(new Object[] { source }, logger.getArgs()); 312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "setDocumentLocator", 317f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { Locator.class } 318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testSetDocumentLocator() { 320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project Locator l = new LocatorImpl(); 321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setDocumentLocator(l); 323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 324f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(logger.size(), 1); 325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("setDocumentLocator", logger.getMethod()); 326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(new Object[] { l }, logger.getArgs()); 327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.setDocumentLocator(null); 329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(logger.size(), 2); 331f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("setDocumentLocator", logger.getMethod()); 332f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(new Object[] { null }, logger.getArgs()); 333f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 334f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 335f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 336f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 337f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "startDocument", 338f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { } 339f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 340f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testStartDocument() { 341f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 342f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.startDocument(); 343f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 344f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(logger.size(), 1); 348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("startDocument", logger.getMethod()); 349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(new Object[] {}, logger.getArgs()); 350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "endDocument", 355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { } 356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testEndDocument() { 358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.endDocument(); 360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 361f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 362f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(logger.size(), 1); 365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("endDocument", logger.getMethod()); 366f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(new Object[] {}, logger.getArgs()); 367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "startElement", 372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { String.class, AttributeList.class } 373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testStartElement() { 375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project AttributeListImpl atts = new AttributeListImpl(); 376f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project atts.addAttribute("john:doe", "int", "42"); 377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.startDocument(); 380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.startElement("foo:bar", atts); 381f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 383f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("startElement", logger.getMethod()); 386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("", logger.getArgs()[0]); 387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("", logger.getArgs()[1]); 388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("foo:bar", logger.getArgs()[2]); 389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("john:doe", ((Attributes)logger.getArgs()[3]).getQName(0)); 390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 391f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 393f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "endElement", 395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { String.class } 396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testEndElement() { 398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project AttributeListImpl atts = new AttributeListImpl(); 399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project atts.addAttribute("john:doe", "int", "42"); 400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 401f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.startDocument(); 403f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.startElement("foo:bar", atts); 404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.endElement("foo:bar"); 405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("endElement", logger.getMethod()); 410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(new String[] { "", "", "foo:bar" }, logger.getArgs()); 411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "characters", 416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { char[].class, int.class, int.class } 417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testCharacters() { 419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] ch = "Android".toCharArray(); 420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.characters(ch, 2, 5); 423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(logger.size(), 1); 428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("characters", logger.getMethod()); 429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(new Object[] { ch, 2, 5 }, logger.getArgs()); 430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 434f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "ignorableWhitespace", 435f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { char[].class, int.class, int.class } 436f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 437f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testIgnorableWhitespace() { 438f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project char[] ch = " ".toCharArray(); 439f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 440f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 441f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.ignorableWhitespace(ch, 0, 5); 442f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 443f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 444f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 445f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 446f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(logger.size(), 1); 447f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("ignorableWhitespace", logger.getMethod()); 448f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(new Object[] { ch, 0, 5 }, logger.getArgs()); 449f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 450f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 451f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project @TestTargetNew( 452f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project level = TestLevel.COMPLETE, 453f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project method = "processingInstruction", 454f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project args = { String.class, String.class } 455f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project ) 456f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void testProcessingInstruction() { 457f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project try { 458f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project adapter.processingInstruction("foo", "bar"); 459f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } catch (SAXException e) { 460f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project throw new RuntimeException("Unexpected exception", e); 461f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 462f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 463f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(logger.size(), 1); 464f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals("processingInstruction", logger.getMethod()); 465f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project assertEquals(new Object[] { "foo" , "bar" }, logger.getArgs()); 466f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 467f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 468f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 469