Initial load
diff --git a/test/java/io/ByteArrayOutputStream/ToString.java b/test/java/io/ByteArrayOutputStream/ToString.java
new file mode 100644
index 0000000..639a1f4
--- /dev/null
+++ b/test/java/io/ByteArrayOutputStream/ToString.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 1997 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 1226190
+   @summary Heartbeat test of ByteArrayOutputStream's toString methods
+ */
+
+import java.io.*;
+
+public class ToString {
+
+    public static void main(String[] args) throws IOException {
+        String test = "This is a test.";
+        ByteArrayOutputStream b = new ByteArrayOutputStream();
+        PrintStream p = new PrintStream(b);
+        p.print(test);
+        p.close();
+
+        if (! b.toString().equals(test))
+            throw new RuntimeException("Default encoding failed");
+        if (! b.toString("UTF8").equals(test))
+            throw new RuntimeException("UTF8 encoding failed");
+        if (! b.toString(0).equals(test))
+            throw new RuntimeException("Hibyte0 encoding failed");
+    }
+
+}
diff --git a/test/java/io/ByteArrayOutputStream/WriteBounds.java b/test/java/io/ByteArrayOutputStream/WriteBounds.java
new file mode 100644
index 0000000..0ec1e59
--- /dev/null
+++ b/test/java/io/ByteArrayOutputStream/WriteBounds.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright 1997 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 4017158
+   @summary Check for correct implementation of ByteArrayInputStream.write
+   */
+
+import java.io.*;
+
+
+public class WriteBounds{
+
+    private static void dotest(byte[] b, int off, int len,
+                               ByteArrayOutputStream baos)
+        throws Exception
+    {
+
+        if (b != null) {
+            System.err.println("ByteArrayOutStream.write -- b.length = " +
+                               b.length + " off = " + off + " len = " + len);
+        }
+        else{
+            System.err.println("ByteArrayOutStream.write - b is null off = " +
+                               off + " len = " + len);
+        }
+
+        try {
+            baos.write(b, off, len);
+        } catch (IndexOutOfBoundsException e) {
+            System.err.println("IndexOutOfBoundsException is thrown -- OKAY");
+        } catch (NullPointerException e) {
+            System.err.println("NullPointerException is thrown -- OKAY");
+        } catch (Throwable e){
+            throw new RuntimeException("Unexpected Exception is thrown");
+        }
+
+    }
+
+    public static void main( String argv[] ) throws Exception {
+
+        ByteArrayOutputStream y1;
+        byte array1[]={1 , 2 , 3 , 4 , 5};     // Simple array
+
+        //Create new ByteArrayOutputStream object
+        y1 = new ByteArrayOutputStream(5);
+
+        dotest(array1, 0, Integer.MAX_VALUE , y1);
+        dotest(array1, 0, array1.length+100, y1);
+        dotest(array1, -1, 2, y1);
+        dotest(array1, 0, -1, y1);
+        dotest(null, 0, 2, y1);
+
+    }
+
+}