1935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson/* Licensed to the Apache Software Foundation (ASF) under one or more 2935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * contributor license agreements. See the NOTICE file distributed with 3935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * this work for additional information regarding copyright ownership. 4935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0 5935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * (the "License"); you may not use this file except in compliance with 6935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * the License. You may obtain a copy of the License at 7935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * 8935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * http://www.apache.org/licenses/LICENSE-2.0 9935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * 10935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * Unless required by applicable law or agreed to in writing, software 11935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS, 12935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * See the License for the specific language governing permissions and 14935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson * limitations under the License. 15935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson */ 16935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 17935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonpackage libcore.java.io; 18935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 19935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonimport java.io.IOException; 20935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonimport java.io.Writer; 21935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonimport junit.framework.TestCase; 22935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonimport tests.support.Support_ASimpleWriter; 23935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 24935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilsonpublic class OldWriterTest extends TestCase { 25935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 26935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_appendChar() throws IOException { 27935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson Writer tobj = new Support_ASimpleWriter(2); 28935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append('a'); 29935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append('b'); 30935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "ab", tobj.toString()); 31935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 32935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append('c'); 33935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IOException not thrown!"); 34935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 35935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 36935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 37935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 38935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 39935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_appendCharSequence() throws IOException { 40935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson String testString = "My Test String"; 41935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson Writer tobj = new Support_ASimpleWriter(20); 42935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString); 43935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", testString, tobj.toString()); 44935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 45935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString); 46935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IOException not thrown!"); 47935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 48935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 49935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 50935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 51935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 52935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_appendCharSequenceIntInt() throws IOException { 53935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson String testString = "My Test String"; 54935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson Writer tobj = new Support_ASimpleWriter(21); 55935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson testString = "0123456789abcdefghijABCDEFGHIJ"; 56935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString, 0, 5); 57935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234", tobj.toString()); 58935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString, 10, 15); 59935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234abcde", tobj.toString()); 60935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString, 20, 30); 61935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234abcdeABCDEFGHIJ", tobj.toString()); 62935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 63935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString, 30, 31); 64935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IndexOutOfBoundsException not thrown!"); 65935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IndexOutOfBoundsException e) { 66935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 67935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 68935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString, 20, 21); // Just fill the writer to its limit! 69935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 70935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString, 29, 30); 71935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IOException not thrown!"); 72935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 73935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 74935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 75935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 76935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 77935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_appendCharSequenceIntInt_Exception() throws IOException { 78935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson String testString = "My Test String"; 79935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson Writer tobj = new Support_ASimpleWriter(21); 80935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 81935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString, 30, 31); 82935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IndexOutOfBoundsException not thrown!"); 83935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IndexOutOfBoundsException e) { 84935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 85935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 86935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 87935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString, -1, 1); 88935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IndexOutOfBoundsException not thrown!"); 89935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IndexOutOfBoundsException e) { 90935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 91935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 92935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 93935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.append(testString, 0, -1); 94935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IndexOutOfBoundsException not thrown!"); 95935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IndexOutOfBoundsException e) { 96935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 97935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 98935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 99935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 100935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_write$C() throws IOException { 101935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson Writer tobj = new Support_ASimpleWriter(21); 102935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write("01234".toCharArray()); 103935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234", tobj.toString()); 104935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write("abcde".toCharArray()); 105935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234abcde", tobj.toString()); 106935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write("ABCDEFGHIJ".toCharArray()); 107935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234abcdeABCDEFGHIJ", tobj.toString()); 108935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write("z".toCharArray()); // Just fill the writer to its limit! 109935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 110935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write("LES JEUX SONT FAITS".toCharArray()); 111935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IOException not thrown!"); 112935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 113935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 114935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 115935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 116935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 117935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_writeI() throws IOException { 118935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson Writer tobj = new Support_ASimpleWriter(2); 119935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write('a'); 120935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write('b'); 121935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "ab", tobj.toString()); 122935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 123935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write('c'); 124935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IOException not thrown!"); 125935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 126935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 127935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 128935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 129935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 130935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_writeLjava_lang_String() throws IOException { 131935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson Writer tobj = new Support_ASimpleWriter(21); 132935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write("01234"); 133935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234", tobj.toString()); 134935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write("abcde"); 135935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234abcde", tobj.toString()); 136935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write("ABCDEFGHIJ"); 137935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234abcdeABCDEFGHIJ", tobj.toString()); 138935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write("z"); // Just fill the writer to its limit! 139935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 140935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write("LES JEUX SONT FAITS"); 141935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IOException not thrown!"); 142935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 143935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 144935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 145935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 146935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 147935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_writeLjava_lang_StringII() throws IOException { 148935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson String testString; 149935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson Writer tobj = new Support_ASimpleWriter(21); 150935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson testString = "0123456789abcdefghijABCDEFGHIJ"; 151935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write(testString, 0, 5); 152935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234", tobj.toString()); 153935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write(testString, 10, 5); 154935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234abcde", tobj.toString()); 155935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write(testString, 20, 10); 156935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson assertEquals("Wrong stuff written!", "01234abcdeABCDEFGHIJ", tobj.toString()); 157935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 158935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write(testString, 30, 1); 159935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IndexOutOfBoundsException not thrown!"); 160935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IndexOutOfBoundsException e) { 161935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 162935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 163935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write(testString, 20, 1); // Just fill the writer to its limit! 164935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 165935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write(testString, 29, 1); 166935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IOException not thrown!"); 167935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IOException e) { 168935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 169935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 170935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 171935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson 172935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson public void test_writeLjava_lang_StringII_Exception() throws IOException { 173935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson String testString = "My Test String"; 174935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson Writer tobj = new Support_ASimpleWriter(21); 175935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 176935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write(testString, 30, 31); 177935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IndexOutOfBoundsException not thrown!"); 178935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IndexOutOfBoundsException e) { 179935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 180935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 181935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 182935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write(testString, -1, 1); 183935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IndexOutOfBoundsException not thrown!"); 184935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IndexOutOfBoundsException e) { 185935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 186935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 187935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson try { 188935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson tobj.write(testString, 0, -1); 189935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson fail("IndexOutOfBoundsException not thrown!"); 190935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } catch (IndexOutOfBoundsException e) { 191935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson // expected 192935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 193935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson } 194935ede9c3846d11df39435c2f2e4517d90cd61e8Jesse Wilson} 195