Initial load
diff --git a/test/java/io/InputStreamReader/GrowAfterEOF.java b/test/java/io/InputStreamReader/GrowAfterEOF.java
new file mode 100644
index 0000000..27d3c50
--- /dev/null
+++ b/test/java/io/InputStreamReader/GrowAfterEOF.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 1998 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/* @test
+ @bug 4101707
+ @summary Test if fill() will behave correctly at EOF to
+ allow file to grow.
+*/
+
+import java.io.*;
+
+public class GrowAfterEOF {
+ public static void main(String[] args) throws Exception {
+ File input = new File(".", "TestEOFInput.txt");
+ RandomAccessFile rf = new RandomAccessFile(input, "rw");
+ BufferedReader r = new BufferedReader
+ (new InputStreamReader(new FileInputStream(input)));
+
+ // write something
+ rf.writeBytes("a line");
+
+ // read till the end of file
+ while (r.readLine() != null);
+
+ // append to the end of the file
+ rf.seek(rf.length());
+ rf.writeBytes("new line");
+
+ // now try to read again
+ boolean readMore = false;
+ while (r.readLine() != null) {
+ readMore = true;
+ }
+ if (!readMore) {
+ input.delete();
+ throw new Exception("Failed test: unable to read!");
+ } else {
+ input.delete();
+ }
+ }
+}
diff --git a/test/java/io/InputStreamReader/NullCreate.java b/test/java/io/InputStreamReader/NullCreate.java
new file mode 100644
index 0000000..6b2d3a0
--- /dev/null
+++ b/test/java/io/InputStreamReader/NullCreate.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 1998 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 4149935
+ * @summary Create with a null stream should throw an exception
+ */
+
+import java.io.*;
+
+public class NullCreate {
+
+ public static void main(String args[])
+ {
+ try{
+ InputStreamReader osw = new InputStreamReader(null);
+ } catch (NullPointerException e){
+ // No problem - null create argument caught
+ return;
+ }
+ throw new RuntimeException("Create with null did not throw an error");
+ }
+
+}
diff --git a/test/java/io/InputStreamReader/One.java b/test/java/io/InputStreamReader/One.java
new file mode 100644
index 0000000..d7e8322
--- /dev/null
+++ b/test/java/io/InputStreamReader/One.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/* @test
+ @bug 4401798
+ @summary Check that single-character reads work properly
+ */
+
+
+import java.io.*;
+
+
+public class One {
+
+ private static abstract class Test {
+
+ InputStreamReader isr;
+ StringBuffer sb;
+ String expect;
+
+ Test(byte[] in, String expect) throws Exception {
+ isr = new InputStreamReader(new ByteArrayInputStream(in), "UTF-8");
+ sb = new StringBuffer(expect.length());
+ this.expect = expect;
+ go();
+ }
+
+ void go() throws Exception {
+ read();
+ if (!expect.equals(sb.toString()))
+ throw new Exception("Expected " + expect
+ + ", got " + sb.toString());
+ }
+
+ abstract void read() throws IOException;
+
+ }
+
+
+ private static void test(String expect) throws Exception {
+ byte[] in = expect.getBytes("UTF-8");
+
+ new Test(in, expect) {
+ public void read() throws IOException {
+ for (;;) {
+ int c;
+ if ((c = isr.read()) == -1)
+ break;
+ sb.append((char)c);
+ }
+ }};
+
+ new Test(in, expect) {
+ public void read() throws IOException {
+ for (;;) {
+ char[] cb = new char[1];
+ if (isr.read(cb) == -1)
+ break;
+ sb.append(cb[0]);
+ }
+ }};
+
+ new Test(in, expect) {
+ public void read() throws IOException {
+ for (;;) {
+ char[] cb = new char[2];
+ int n;
+ if ((n = isr.read(cb)) == -1)
+ break;
+ sb.append(cb[0]);
+ if (n == 2)
+ sb.append(cb[1]);
+ }
+ }};
+
+ }
+
+ public static void main(String[] args) throws Exception {
+ test("x");
+ test("xy");
+ test("xyz");
+ test("\ud800\udc00");
+ test("x\ud800\udc00");
+ }
+
+}
diff --git a/test/java/io/InputStreamReader/ReadOffset.java b/test/java/io/InputStreamReader/ReadOffset.java
new file mode 100644
index 0000000..3fcc759
--- /dev/null
+++ b/test/java/io/InputStreamReader/ReadOffset.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/* @test
+ * @bug 4399447
+ * @summary Ensure that read offsets work properly
+ */
+
+import java.io.*;
+
+public class ReadOffset {
+
+ public static void main(String[] args) throws Exception {
+ InputStream is
+ = new ByteArrayInputStream("foo bar".getBytes("US-ASCII"));
+ InputStreamReader isr = new InputStreamReader(is, "US-ASCII");
+ char[] cbuf = new char[100];
+ int n;
+ System.out.println(n = isr.read(cbuf, 0, 3));
+ System.out.println(isr.read(cbuf, n, cbuf.length - n));
+ }
+
+}