1/* 2 * Copyright (C) 2008 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.core; 18 19import junit.framework.TestCase; 20 21import java.io.ByteArrayInputStream; 22import java.io.PushbackInputStream; 23import android.test.suitebuilder.annotation.SmallTest; 24 25public class PushbackInputStreamTest extends TestCase { 26 27 @SmallTest 28 public void testPushbackInputStream() throws Exception { 29 String str = "AbCdEfGhIjKlM\nOpQrStUvWxYz"; 30 ByteArrayInputStream aa = new ByteArrayInputStream(str.getBytes()); 31 ByteArrayInputStream ba = new ByteArrayInputStream(str.getBytes()); 32 ByteArrayInputStream ca = new ByteArrayInputStream(str.getBytes()); 33 34 PushbackInputStream a = new PushbackInputStream(aa, 7); 35 try { 36 a.unread("push".getBytes()); 37 assertEquals("pushAbCdEfGhIjKlM\nOpQrStUvWxYz", IOUtil.read(a)); 38 } finally { 39 a.close(); 40 } 41 42 PushbackInputStream b = new PushbackInputStream(ba, 9); 43 try { 44 b.unread('X'); 45 assertEquals("XAbCdEfGhI", IOUtil.read(b, 10)); 46 } finally { 47 b.close(); 48 } 49 50 PushbackInputStream c = new PushbackInputStream(ca); 51 try { 52 assertEquals("bdfhjl\nprtvxz", IOUtil.skipRead(c)); 53 } finally { 54 c.close(); 55 } 56 } 57} 58