• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
17 package android.core;
18 
19 import junit.framework.TestCase;
20 
21 import java.io.ByteArrayInputStream;
22 import java.io.PushbackInputStream;
23 import android.test.suitebuilder.annotation.SmallTest;
24 
25 public class PushbackInputStreamTest extends TestCase {
26 
27     @SmallTest
testPushbackInputStream()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