You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by to...@apache.org on 2008/01/31 11:04:22 UTC

svn commit: r617085 [8/14] - in /harmony/enhanced/classlib/branches/java6: depends/build/ depends/build/platform/ depends/libs/ depends/oss/ make/ make/linux.x86_64.libstdc++6/ make/windows.x86/ make/windows.x86_64/ modules/archive/META-INF/ modules/ar...

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/ObjectStreamConstantsTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/ObjectStreamConstantsTest.java?rev=617085&r1=617084&r2=617085&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/ObjectStreamConstantsTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/ObjectStreamConstantsTest.java Thu Jan 31 02:04:05 2008
@@ -17,28 +17,29 @@
 package org.apache.harmony.luni.tests.java.io;
 
 import java.io.ObjectStreamConstants;
+
 import junit.framework.TestCase;
 
 public class ObjectStreamConstantsTest extends TestCase {
 
-	/**
-	 * @tests java.io.ObjectStreamConstants#TC_ENUM
-	 */
-	public void test_TC_ENUM() {
-		assertEquals(126, ObjectStreamConstants.TC_ENUM);
-	}
+    /**
+     * @tests java.io.ObjectStreamConstants#TC_ENUM
+     */
+    public void test_TC_ENUM() {
+        assertEquals(126, ObjectStreamConstants.TC_ENUM);
+    }
 
-	/**
-	 * @tests java.io.ObjectStreamConstants#SC_ENUM
-	 */
-	public void test_SC_ENUM() {
-		assertEquals(16, ObjectStreamConstants.SC_ENUM);
-	}
+    /**
+     * @tests java.io.ObjectStreamConstants#SC_ENUM
+     */
+    public void test_SC_ENUM() {
+        assertEquals(16, ObjectStreamConstants.SC_ENUM);
+    }
 
-	/**
-	 * @tests java.io.ObjectStreamConstants#TC_MAX
-	 */
-	public void test_TC_MAX() {
-		assertEquals(126, ObjectStreamConstants.TC_MAX);
-	}
+    /**
+     * @tests java.io.ObjectStreamConstants#TC_MAX
+     */
+    public void test_TC_MAX() {
+        assertEquals(126, ObjectStreamConstants.TC_MAX);
+    }
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/ObjectStreamFieldTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/ObjectStreamFieldTest.java?rev=617085&r1=617084&r2=617085&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/ObjectStreamFieldTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/ObjectStreamFieldTest.java Thu Jan 31 02:04:05 2008
@@ -32,133 +32,125 @@
 
 public class ObjectStreamFieldTest extends junit.framework.TestCase {
 
-	static class DummyClass implements Serializable {
-		private static final long serialVersionUID = 999999999999998L;
+    static class DummyClass implements Serializable {
+        private static final long serialVersionUID = 999999999999998L;
 
-		long bam = 999L;
+        long bam = 999L;
 
-		int ham = 9999;
+        int ham = 9999;
 
-		int sam = 8888;
+        int sam = 8888;
+
+        Object hola = new Object();
+
+        public static long getUID() {
+            return serialVersionUID;
+        }
+    }
+
+    ObjectStreamClass osc;
+
+    ObjectStreamField hamField;
+
+    ObjectStreamField samField;
+
+    ObjectStreamField bamField;
+
+    ObjectStreamField holaField;
+
+    /**
+     * @tests java.io.ObjectStreamField#ObjectStreamField(java.lang.String,
+     *        java.lang.Class)
+     */
+    public void test_ConstructorLjava_lang_StringLjava_lang_Class() {
+        assertTrue("Used to test", true);
+    }
+
+    public void test_equalsLjava_lang_Object() {
+        // Regression test for HARMONY-4273
+        assertTrue(samField.equals(samField));
+        assertFalse(samField.equals(hamField));
+        assertFalse(samField.equals("fish"));
+        assertFalse(samField.equals(null));
+    }
+
+    /**
+     * @tests java.io.ObjectStreamField#compareTo(java.lang.Object)
+     */
+    public void test_compareToLjava_lang_Object() {
+        assertTrue("Object compared to int did not return > 0", holaField
+                .compareTo(hamField) > 0);
+        assertEquals("Int compared to itself did not return 0", 0, hamField
+                .compareTo(hamField));
+        assertTrue("(Int)ham compared to (Int)sam did not return < 0", hamField
+                .compareTo(samField) < 0);
+    }
+
+    /**
+     * @tests java.io.ObjectStreamField#getName()
+     */
+    public void test_getName() {
+        assertEquals("Field did not return correct name", "hola", holaField
+                .getName());
+    }
+
+    /**
+     * @tests java.io.ObjectStreamField#getOffset()
+     */
+    public void test_getOffset() {
+        ObjectStreamField[] osfArray;
+        osfArray = osc.getFields();
+        assertTrue("getOffset did not return reasonable values", osfArray[0]
+                .getOffset() != osfArray[1].getOffset());
+        assertEquals("getOffset for osfArray[0].getOffset() did not return 0",
+                0, osfArray[0].getOffset());
+        assertEquals("osfArray[1].getOffset() did not return	8", 8, osfArray[1]
+                .getOffset());
+        assertEquals("osfArray[2].getOffset() did not return 12", 12,
+                osfArray[2].getOffset());
+    }
+
+    /**
+     * @tests java.io.ObjectStreamField#getType()
+     */
+    public void test_getType() {
+        assertTrue("getType on an Object field did not answer Object",
+                holaField.getType().equals(Object.class));
+    }
+
+    /**
+     * @tests java.io.ObjectStreamField#getTypeCode()
+     */
+    public void test_getTypeCode() {
+        assertEquals("getTypeCode on an Object field did not answer 'L'", 'L',
+                holaField.getTypeCode());
+        assertEquals("getTypeCode on a long field did not answer 'J'", 'J',
+                bamField.getTypeCode());
+    }
+
+    /**
+     * @tests java.io.ObjectStreamField#getTypeString()
+     */
+    public void test_getTypeString() {
+        assertTrue("getTypeString returned: " + holaField.getTypeString(),
+                holaField.getTypeString().indexOf("Object") >= 0);
+        assertNull("Primitive types' strings should be null", hamField
+                .getTypeString());
 
-		Object hola = new Object();
-
-		public static long getUID() {
-			return serialVersionUID;
-		}
-	}
-
-	ObjectStreamClass osc;
-
-	ObjectStreamField hamField;
-
-	ObjectStreamField samField;
-
-	ObjectStreamField bamField;
-
-	ObjectStreamField holaField;
-
-	/**
-	 * @tests java.io.ObjectStreamField#ObjectStreamField(java.lang.String,
-	 *        java.lang.Class)
-	 */
-	public void test_ConstructorLjava_lang_StringLjava_lang_Class() {
-		// Test for method java.io.ObjectStreamField(java.lang.String,
-		// java.lang.Class)
-		assertTrue("Used to test", true);
-	}
-
-	public void test_equalsLjava_lang_Object() {
-	    // Regression test for HARMONY-4273
-	    assertTrue(samField.equals(samField));
-	    assertFalse(samField.equals(hamField));
-	    assertFalse(samField.equals("fish"));
-	    assertFalse(samField.equals(null));
-    }
-
-	/**
-	 * @tests java.io.ObjectStreamField#compareTo(java.lang.Object)
-	 */
-	public void test_compareToLjava_lang_Object() {
-		// Test for method int
-		// java.io.ObjectStreamField.compareTo(java.lang.Object)
-		assertTrue("Object compared to int did not return > 0", holaField
-				.compareTo(hamField) > 0);
-		assertEquals("Int compared to itself did not return 0", 0, hamField
-				.compareTo(hamField));
-		assertTrue("(Int)ham compared to (Int)sam did not return < 0", hamField
-				.compareTo(samField) < 0);
-	}
-
-	/**
-	 * @tests java.io.ObjectStreamField#getName()
-	 */
-	public void test_getName() {
-		// Test for method java.lang.String java.io.ObjectStreamField.getName()
-		assertEquals("Field did not return correct name", "hola", holaField.getName()
-				);
-	}
-
-	/**
-	 * @tests java.io.ObjectStreamField#getOffset()
-	 */
-	public void test_getOffset() {
-		// Test for method int java.io.ObjectStreamField.getOffset()
-		ObjectStreamField[] osfArray;
-		osfArray = osc.getFields();
-		assertTrue("getOffset did not return reasonable values", osfArray[0]
-				.getOffset() != osfArray[1].getOffset());
-		assertEquals("getOffset for osfArray[0].getOffset() did not return 0",
-				0, osfArray[0].getOffset());
-		assertEquals("osfArray[1].getOffset() did not return	8", 8, osfArray[1]
-				.getOffset());
-		assertEquals("osfArray[2].getOffset() did not return 12", 12, osfArray[2]
-				.getOffset());
-	}
-
-	/**
-	 * @tests java.io.ObjectStreamField#getType()
-	 */
-	public void test_getType() {
-		// Test for method java.lang.Class java.io.ObjectStreamField.getType()
-		assertTrue("getType on an Object field did not answer Object",
-				holaField.getType().equals(Object.class));
-	}
-
-	/**
-	 * @tests java.io.ObjectStreamField#getTypeCode()
-	 */
-	public void test_getTypeCode() {
-		// Test for method char java.io.ObjectStreamField.getTypeCode()
-		assertEquals("getTypeCode on an Object field did not answer 'L'",
-				'L', holaField.getTypeCode());
-		assertEquals("getTypeCode on a long field did not answer 'J'", 'J', bamField
-				.getTypeCode());
-	}
-
-	/**
-	 * @tests java.io.ObjectStreamField#getTypeString()
-	 */
-	public void test_getTypeString() {
-		assertTrue("getTypeString returned: " + holaField.getTypeString(),
-				holaField.getTypeString().indexOf("Object") >= 0);
-		assertNull("Primitive types' strings should be null", hamField.getTypeString());
-        
         ObjectStreamField osf = new ObjectStreamField("s", String.class, true);
         assertTrue(osf.getTypeString() == "Ljava/lang/String;");
-	}
+    }
 
-	/**
-	 * @tests java.io.ObjectStreamField#toString()
-	 */
-	public void test_toString() {
-		// Test for method java.lang.String java.io.ObjectStreamField.toString()
-		assertTrue("toString on a long returned: " + bamField.toString(),
-				bamField.toString().indexOf("bam") >= 0);
-	}
-    
     /**
-     * @tests java.io.ObjectStreamField#getType() 
+     * @tests java.io.ObjectStreamField#toString()
+     */
+    public void test_toString() {
+        assertTrue("toString on a long returned: " + bamField.toString(),
+                bamField.toString().indexOf("bam") >= 0);
+    }
+
+    /**
+     * @tests java.io.ObjectStreamField#getType()
      */
     public void test_getType_Deserialized() throws IOException,
             ClassNotFoundException {
@@ -177,11 +169,12 @@
         ObjectStreamField field = oc.getField("i");
         assertEquals(Object.class, field.getType());
     }
-    
+
     /**
      * @tests java.io.ObjectStreamField#getType()
      */
-    public void test_getType_MockObjectInputStream() throws IOException, ClassNotFoundException {
+    public void test_getType_MockObjectInputStream() throws IOException,
+            ClassNotFoundException {
         ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
         ObjectOutputStream oos = new ObjectOutputStream(baos);
         oos.writeObject(new SerializableObject());
@@ -197,10 +190,10 @@
         ObjectStreamField field = oc.getField("i");
         assertEquals(Object.class, field.getType());
     }
-    
+
     public void test_isUnshared() throws Exception {
         SerializableObject2 obj = new SerializableObject2();
-        
+
         ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
         ObjectOutputStream oos = new ObjectOutputStream(baos);
         oos.writeObject(obj);
@@ -210,43 +203,36 @@
         ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
         ObjectInputStream ois = new ObjectInputStream(bais);
         SerializableObject2 newObj = (SerializableObject2) ois.readObject();
-        
+
         ObjectInputStream.GetField getField = newObj.getGetField();
         ObjectStreamClass objectStreamClass = getField.getObjectStreamClass();
-        
+
         assertTrue(objectStreamClass.getField("i").isUnshared());
         assertFalse(objectStreamClass.getField("d").isUnshared());
         assertTrue(objectStreamClass.getField("s").isUnshared());
-        
+
         assertEquals(1000, getField.get("i", null));
         assertEquals(SerializableObject2.today, getField.get("d", null));
         assertEquals("Richard", getField.get("s", null));
-        
+
         assertTrue(objectStreamClass.getField("s").getTypeString() == "Ljava/lang/String;");
-        
+
         assertEquals(0, objectStreamClass.getField("d").getOffset());
         assertEquals(1, objectStreamClass.getField("i").getOffset());
         assertEquals(2, objectStreamClass.getField("s").getOffset());
     }
 
-	/**
-	 * Sets up the fixture, for example, open a network connection. This method
-	 * is called before a test is executed.
-	 */
-	protected void setUp() {
-		osc = ObjectStreamClass.lookup(DummyClass.class);
-		bamField = osc.getField("bam");
-		samField = osc.getField("sam");
-		hamField = osc.getField("ham");
-		holaField = osc.getField("hola");
-	}
-
-	/**
-	 * Tears down the fixture, for example, close a network connection. This
-	 * method is called after a test is executed.
-	 */
-	protected void tearDown() {
-	}
+    /**
+     * Sets up the fixture, for example, open a network connection. This method
+     * is called before a test is executed.
+     */
+    protected void setUp() {
+        osc = ObjectStreamClass.lookup(DummyClass.class);
+        bamField = osc.getField("bam");
+        samField = osc.getField("sam");
+        hamField = osc.getField("ham");
+        holaField = osc.getField("hola");
+    }
 }
 
 class SerializableObject implements Serializable {
@@ -257,9 +243,9 @@
     public Date d;
 
     public Integer i;
-    
+
     public Exception e;
-    
+
     public SerializableObject() {
         d = new Date();
         i = new Integer(1);
@@ -299,7 +285,7 @@
     public ObjectStreamClass readClassDescriptor() throws IOException,
             ClassNotFoundException {
         ObjectStreamClass osc = super.readClassDescriptor();
-        //To get the ObjectStreamClass of SerializableObject
+        // To get the ObjectStreamClass of SerializableObject
         if (osc.getSerialVersionUID() == -2953957835918368056L) {
             temp = osc;
         }
@@ -314,21 +300,20 @@
 class SerializableObject2 implements Serializable {
 
     private static final long serialVersionUID = 1L;
-    
+
     private static final ObjectStreamField[] serialPersistentFields = {
-        new ObjectStreamField("i", Integer.class, true),
-        new ObjectStreamField("d", Date.class, false),
-        new ObjectStreamField("s", String.class, true),
-    };
-    
+            new ObjectStreamField("i", Integer.class, true),
+            new ObjectStreamField("d", Date.class, false),
+            new ObjectStreamField("s", String.class, true), };
+
     private ObjectInputStream.GetField getField;
-    
+
     public static Date today = new Date(1172632429156l);
-    
+
     public ObjectInputStream.GetField getGetField() {
         return getField;
     }
-    
+
     private void writeObject(ObjectOutputStream o) throws IOException {
         ObjectOutputStream.PutField putField = o.putFields();
         putField.put("i", new Integer(1000));

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/OpenRandomFileTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/OpenRandomFileTest.java?rev=617085&r1=617084&r2=617085&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/OpenRandomFileTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/OpenRandomFileTest.java Thu Jan 31 02:04:05 2008
@@ -23,47 +23,36 @@
 
 import junit.framework.TestCase;
 
-/**
- * TODO Type description
- */
 public class OpenRandomFileTest extends TestCase {
 
-	public static void main(String[] args) {
-		new OpenRandomFileTest().testOpenEmptyFile();
-	}
-
-	public OpenRandomFileTest() {
-		super();
-	}
-
-	public void testOpenNonEmptyFile() {
-		try {
-			File file = File.createTempFile("test", "tmp");
-			assertTrue(file.exists());
-			file.deleteOnExit();
-			FileOutputStream fos = new FileOutputStream(file);
-			fos.write(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
-			fos.close();
-
-			String fileName = file.getCanonicalPath();
-			RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
-			raf.close();
-		} catch (IOException ex) {
-			fail(ex.getLocalizedMessage());
-		}
-	}
-
-	public void testOpenEmptyFile() {
-		try {
-			File file = File.createTempFile("test", "tmp");
-			assertTrue(file.exists());
-			file.deleteOnExit();
-
-			String fileName = file.getCanonicalPath();
-			RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
-			raf.close();
-		} catch (IOException ex) {
-			fail(ex.getLocalizedMessage());
-		}
-	}
+    public static void main(String[] args) throws IOException {
+        new OpenRandomFileTest().testOpenEmptyFile();
+    }
+
+    public OpenRandomFileTest() {
+        super();
+    }
+
+    public void testOpenNonEmptyFile() throws IOException {
+        File file = File.createTempFile("test", "tmp");
+        assertTrue(file.exists());
+        file.deleteOnExit();
+        FileOutputStream fos = new FileOutputStream(file);
+        fos.write(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
+        fos.close();
+
+        String fileName = file.getCanonicalPath();
+        RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
+        raf.close();
+    }
+
+    public void testOpenEmptyFile() throws IOException {
+        File file = File.createTempFile("test", "tmp");
+        assertTrue(file.exists());
+        file.deleteOnExit();
+
+        String fileName = file.getCanonicalPath();
+        RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
+        raf.close();
+    }
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/OutputStreamWriterTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/OutputStreamWriterTest.java?rev=617085&r1=617084&r2=617085&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/OutputStreamWriterTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/OutputStreamWriterTest.java Thu Jan 31 02:04:05 2008
@@ -32,639 +32,622 @@
 
 import junit.framework.TestCase;
 
-/**
- * 
- */
 public class OutputStreamWriterTest extends TestCase {
 
-	private static final int UPPER = 0xd800;
+    private static final int UPPER = 0xd800;
 
-	private static final int BUFFER_SIZE = 10000;
+    private static final int BUFFER_SIZE = 10000;
 
-	private ByteArrayOutputStream out;
+    private ByteArrayOutputStream out;
 
-	private OutputStreamWriter writer;
+    private OutputStreamWriter writer;
 
-	static private final String source = "This is a test message with Unicode character. \u4e2d\u56fd is China's name in Chinese";
-
-	static private final String[] MINIMAL_CHARSETS = new String[] { "US-ASCII",
-			"ISO-8859-1", "UTF-16BE", "UTF-16LE", "UTF-16", "UTF-8" };
-
-	OutputStreamWriter osw;
-
-	InputStreamReader isr;
-
-	private ByteArrayOutputStream fos;
-
-	String testString = "Test_All_Tests\nTest_java_io_BufferedInputStream\nTest_java_io_BufferedOutputStream\nTest_java_io_ByteArrayInputStream\nTest_java_io_ByteArrayOutputStream\nTest_java_io_DataInputStream\n";
-
-	/*
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		out = new ByteArrayOutputStream();
-		writer = new OutputStreamWriter(out, "utf-8");
-
-		fos = new ByteArrayOutputStream();
-		osw = new OutputStreamWriter(fos);
-	}
-
-	/*
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		try {
-			writer.close();
-
-			if (isr != null)
-				isr.close();
-			osw.close();
-		} catch (Exception e) {
-		}
-
-		super.tearDown();
-	}
-
-	public void testClose() throws Exception {
-		writer.flush();
-		writer.close();
-		try {
-			writer.flush();
-			fail();
-		} catch (IOException e) {
-		}
-	}
-
-	public void testFlush() throws Exception {
-		writer.write(source);
-		writer.flush();
-		String result = out.toString("utf-8");
-		assertEquals(source, result);
-	}
-
-	/*
-	 * Class under test for void write(char[], int, int)
-	 */
-	public void testWritecharArrayintint() throws IOException {
-		char[] chars = source.toCharArray();
-		
-		//throws IndexOutOfBoundsException if offset is negative
-		try {
-			writer.write((char[]) null, -1, -1);
-			fail("should throw IndexOutOfBoundsException");
-		} catch (IndexOutOfBoundsException e) {
-			//expected
-		}
-		
-		//throws NullPointerException though count is negative 
-		try {
-			writer.write((char[]) null, 1, -1);
-			fail("should throw NullPointerException");
-		} catch (NullPointerException e) {
-			//expected
-		}
-	
-		try {
-			writer.write((char[]) null, 1, 1);
-			fail();
-		} catch (NullPointerException e) {
-		}
-		try {
-			writer.write(new char[0], 0, 1);
-			fail();
-		} catch (IndexOutOfBoundsException e) {
-		}
-		try {
-			writer.write(chars, -1, 1);
-			fail();
-		} catch (IndexOutOfBoundsException e) {
-		}
-		try {
-			writer.write(chars, 0, -1);
-			fail();
-		} catch (IndexOutOfBoundsException e) {
-		}
-		try {
-			writer.write(chars, 1, chars.length);
-			fail();
-		} catch (IndexOutOfBoundsException e) {
-		}
-		writer.write(chars, 1, 2);
-		writer.flush();
-		assertEquals("hi", out.toString("utf-8"));
-		writer.write(chars, 0, chars.length);
-		writer.flush();
-		assertEquals("hi" + source, out.toString("utf-8"));
-			
-		writer.close();
-        //after the stream is closed ,should throw IOException first
-		try {
-			writer.write((char[]) null, -1, -1);
-			fail("should throw IOException");
-		} catch (IOException e) {
-			//expected
-		}
-
-	}
-
-	/*
-	 * Class under test for void write(int)
-	 */
-	public void testWriteint() throws IOException {
-		writer.write(1);
-		writer.flush();
-		String str = new String(out.toByteArray(), "utf-8");
-		assertEquals("\u0001", str);
-
-		writer.write(2);
-		writer.flush();
-		str = new String(out.toByteArray(), "utf-8");
-		assertEquals("\u0001\u0002", str);
-
-		writer.write(-1);
-		writer.flush();
-		str = new String(out.toByteArray(), "utf-8");
-		assertEquals("\u0001\u0002\uffff", str);
-
-		writer.write(0xfedcb);
-		writer.flush();
-		str = new String(out.toByteArray(), "utf-8");
-		assertEquals("\u0001\u0002\uffff\uedcb", str);
-		
-		writer.close();
-		 //after the stream is closed ,should throw IOException
-		try {
-			writer.write(1);
+    static private final String source = "This is a test message with Unicode character. \u4e2d\u56fd is China's name in Chinese";
+
+    static private final String[] MINIMAL_CHARSETS = new String[] { "US-ASCII",
+            "ISO-8859-1", "UTF-16BE", "UTF-16LE", "UTF-16", "UTF-8" };
+
+    OutputStreamWriter osw;
+
+    InputStreamReader isr;
+
+    private ByteArrayOutputStream fos;
+
+    String testString = "Test_All_Tests\nTest_java_io_BufferedInputStream\nTest_java_io_BufferedOutputStream\nTest_java_io_ByteArrayInputStream\nTest_java_io_ByteArrayOutputStream\nTest_java_io_DataInputStream\n";
+
+    /*
+     * @see TestCase#setUp()
+     */
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        out = new ByteArrayOutputStream();
+        writer = new OutputStreamWriter(out, "utf-8");
+
+        fos = new ByteArrayOutputStream();
+        osw = new OutputStreamWriter(fos);
+    }
+
+    /*
+     * @see TestCase#tearDown()
+     */
+    @Override
+    protected void tearDown() throws Exception {
+        try {
+            writer.close();
+
+            if (isr != null) {
+                isr.close();
+            }
+            osw.close();
+        } catch (Exception e) {
+            // Ignored
+        }
+
+        super.tearDown();
+    }
+
+    public void testClose() throws Exception {
+        writer.flush();
+        writer.close();
+        try {
+            writer.flush();
+            fail();
+        } catch (IOException e) {
+            // Expected
+        }
+    }
+
+    public void testFlush() throws Exception {
+        writer.write(source);
+        writer.flush();
+        String result = out.toString("utf-8");
+        assertEquals(source, result);
+    }
+
+    /*
+     * Class under test for void write(char[], int, int)
+     */
+    public void testWritecharArrayintint() throws IOException {
+        char[] chars = source.toCharArray();
+
+        // Throws IndexOutOfBoundsException if offset is negative
+        try {
+            writer.write((char[]) null, -1, -1);
+            fail("should throw IndexOutOfBoundsException");
+        } catch (IndexOutOfBoundsException e) {
+            // Expected
+        }
+
+        // throws NullPointerException though count is negative
+        try {
+            writer.write((char[]) null, 1, -1);
+            fail("should throw NullPointerException");
+        } catch (NullPointerException e) {
+            // Expected
+        }
+
+        try {
+            writer.write((char[]) null, 1, 1);
+            fail();
+        } catch (NullPointerException e) {
+            // Expected
+        }
+        try {
+            writer.write(new char[0], 0, 1);
+            fail();
+        } catch (IndexOutOfBoundsException e) {
+            // Expected
+        }
+        try {
+            writer.write(chars, -1, 1);
+            fail();
+        } catch (IndexOutOfBoundsException e) {
+            // Expected
+        }
+        try {
+            writer.write(chars, 0, -1);
+            fail();
+        } catch (IndexOutOfBoundsException e) {
+            // Expected
+        }
+        try {
+            writer.write(chars, 1, chars.length);
+            fail();
+        } catch (IndexOutOfBoundsException e) {
+            // Expected
+        }
+        writer.write(chars, 1, 2);
+        writer.flush();
+        assertEquals("hi", out.toString("utf-8"));
+        writer.write(chars, 0, chars.length);
+        writer.flush();
+        assertEquals("hi" + source, out.toString("utf-8"));
+
+        writer.close();
+        // After the stream is closed, should throw IOException first
+        try {
+            writer.write((char[]) null, -1, -1);
             fail("should throw IOException");
-		} catch (IOException e) {
-			//expected
-		}
-		
-		
-	}
-
-	/*
-	 * Class under test for void write(String, int, int)
-	 */
-	public void testWriteStringintint() throws IOException {
-		try {
-			writer.write((String) null, 1, 1);
-			fail();
-		} catch (NullPointerException e) {
-		}
-		try {
-			writer.write("", 0, 1);
-			fail();
-		} catch (StringIndexOutOfBoundsException e) {
-		}
-		try {
-			writer.write("abc", -1, 1);
-			fail();
-		} catch (StringIndexOutOfBoundsException e) {
-		}
-		try {
-			writer.write("abc", 0, -1);
-			fail();
-		} catch (IndexOutOfBoundsException e) {
-		}
-		try {
-			writer.write("abc", 1, 3);
-			fail();
-		} catch (StringIndexOutOfBoundsException e) {
-		}
-		
-		//throws IndexOutOfBoundsException before NullPointerException if count is negative
-		try {
-			writer.write((String) null, -1, -1);
-			fail("should throw IndexOutOfBoundsException");
-		} catch (IndexOutOfBoundsException e) {
-			//expected
-		}
-		
-		//throws NullPointerException before StringIndexOutOfBoundsException 
-		try {
-			writer.write((String) null, -1, 0);
-			fail("should throw NullPointerException");
-		} catch (NullPointerException e) {
-			//expected
-		}
-		
-		writer.write("abc", 1, 2);
-		writer.flush();
-		assertEquals("bc", out.toString("utf-8"));
-		writer.write(source, 0, source.length());
-		writer.flush();
-		assertEquals("bc" + source, out.toString("utf-8"));
-		
-		writer.close();
-        //throws IndexOutOfBoundsException first if count is negative
-		try {
-			writer.write((String) null, 0, -1);
-			fail("should throw IndexOutOfBoundsException");
-		} catch (IndexOutOfBoundsException e) {
-			//expected
-		}
-		
-		try {
-			writer.write((String) null, -1, 0);
-			fail("should throw NullPointerException");
-		} catch (NullPointerException e) {
-			//expected
-		}
-		
-		try {
-			writer.write("abc", -1, 0);
-			fail("should throw StringIndexOutOfBoundsException");
-		} catch (StringIndexOutOfBoundsException e) {
-			//expected
-		}
-		
-		//throws IOException
-		try {
-			writer.write("abc", 0, 1);
-			fail("should throw IOException");
-		} catch (IOException e) {
-			//expected
-		}
-
-	}
-
-	/*
-	 * Class under test for void OutputStreamWriter(OutputStream)
-	 */
-	public void testOutputStreamWriterOutputStream() throws IOException {
-		try {
-			writer = new OutputStreamWriter(null);
-			fail();
-		} catch (NullPointerException e) {
-		}
-		OutputStreamWriter writer2 = new OutputStreamWriter(out);
-		writer2.close();
-	}
-
-	/*
-	 * Class under test for void OutputStreamWriter(OutputStream, String)
-	 */
-	public void testOutputStreamWriterOutputStreamString() throws IOException {
-		try {
-			writer = new OutputStreamWriter(null, "utf-8");
-			fail();
-		} catch (NullPointerException e) {
-		}
-		try {
-			writer = new OutputStreamWriter(out, "");
-			fail();
-		} catch (UnsupportedEncodingException e) {
-		}
-		try {
-			writer = new OutputStreamWriter(out, "badname");
-			fail();
-		} catch (UnsupportedEncodingException e) {
-		}
-		try {
-			writer = new OutputStreamWriter(out, (String) null);
-			fail();
-		} catch (NullPointerException e) {
-		}
-		OutputStreamWriter writer2 = new OutputStreamWriter(out, "ascii");
-		assertEquals(Charset.forName("ascii"), Charset.forName(writer2
-				.getEncoding()));
-		writer2.close();
-	}
-
-	/*
-	 * Class under test for void OutputStreamWriter(OutputStream)
-	 */
-	public void testOutputStreamWriterOutputStreamCharset() throws IOException {
-		Charset cs = Charset.forName("ascii");
-		try {
-			writer = new OutputStreamWriter(null, cs);
-			fail();
-		} catch (NullPointerException e) {
-		}
-		try {
-			writer = new OutputStreamWriter(out, (Charset) null);
-			fail();
-		} catch (NullPointerException e) {
-		}
-		OutputStreamWriter writer2 = new OutputStreamWriter(out, cs);
-		assertEquals(cs, Charset.forName(writer2.getEncoding()));
-		writer2.close();
-	}
-
-	/*
-	 * Class under test for void OutputStreamWriter(OutputStream, String)
-	 */
-	public void testOutputStreamWriterOutputStreamCharsetEncoder()
-			throws IOException {
-		Charset cs = Charset.forName("ascii");
-		CharsetEncoder enc = cs.newEncoder();
-		try {
-			writer = new OutputStreamWriter(null, enc);
-			fail();
-		} catch (NullPointerException e) {
-		}
-		try {
-			writer = new OutputStreamWriter(out, (CharsetEncoder) null);
-			fail();
-		} catch (NullPointerException e) {
-		}
-		OutputStreamWriter writer2 = new OutputStreamWriter(out, enc);
-		assertEquals(cs, Charset.forName(writer2.getEncoding()));
-		writer2.close();
-	}
-
-	public void testGetEncoding() {
-		Charset cs = Charset.forName("utf-8");
-		assertEquals(cs, Charset.forName(writer.getEncoding()));
-	}
-
-	public void testHandleEarlyEOFChar_1() {
-		String str = "All work and no play makes Jack a dull boy\n"; //$NON-NLS-1$
-		int NUMBER = 2048;
-		int j = 0;
-		int len = str.length() * NUMBER;
-		/* == 88064 *//* NUMBER compulsively written copies of the same string */
-		char[] strChars = new char[len];
-		for (int i = 0; i < NUMBER; ++i) {
-			for (int k = 0; k < str.length(); ++k) {
-				strChars[j++] = str.charAt(k);
-			}
-		}
-		File f = null;
-		FileWriter fw = null;
-		try {
-			f = File.createTempFile("ony", "by_one");
-			fw = new FileWriter(f);
-			fw.write(strChars);
-			fw.close();
-			InputStreamReader in = null;
-			FileInputStream fis = new FileInputStream(f);
-			in = new InputStreamReader(fis);
-			int b;
-			int errors = 0;
-			for (int offset = 0; offset < strChars.length; ++offset) {
-				b = in.read();
-				if (b == -1) {
-					fail("Early EOF at offset " + offset + "\n");
-					return;
-				}
-			}
-			assertEquals(0, errors);
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-
-	public void testHandleEarlyEOFChar_2() throws IOException {
-		int capacity = 65536;
-		byte[] bytes = new byte[capacity];
-		byte[] bs = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' };
-		for (int i = 0; i < bytes.length; i++) {
-			bytes[i] = bs[i / 8192];
-		}
-		String inputStr = new String(bytes);
-		int len = inputStr.length();
-		File f = File.createTempFile("FileWriterBugTest ", null); //$NON-NLS-1$
-		FileWriter writer = new FileWriter(f);
-		writer.write(inputStr);
-		writer.close();
-		long flen = f.length();
-
-		FileReader reader = new FileReader(f);
-		char[] outChars = new char[capacity];
-		int outCount = reader.read(outChars);
-		String outStr = new String(outChars, 0, outCount);
-
-		f.deleteOnExit();
-		assertEquals(len, flen);
-		assertEquals(inputStr, outStr);
-
-	}
-
-	public void testSingleCharIO() throws Exception {
-		InputStreamReader isr = null;
-		for (int i = 0; i < MINIMAL_CHARSETS.length; ++i) {
-			try {
-				out = new ByteArrayOutputStream();
-				writer = new OutputStreamWriter(out, MINIMAL_CHARSETS[i]);
-
-				int upper = UPPER;
-				switch (i) {
-				case 0:
-					upper = 128;
-					break;
-				case 1:
-					upper = 256;
-					break;
-				}
-
-				for (int c = 0; c < upper; ++c) {
-					writer.write(c);
-				}
-				writer.flush();
-				byte[] result = out.toByteArray();
-
-				isr = new InputStreamReader(new ByteArrayInputStream(result),
-						MINIMAL_CHARSETS[i]);
-				for (int expected = 0; expected < upper; ++expected) {
-					assertEquals("Error when reading bytes in "
-							+ MINIMAL_CHARSETS[i], expected, isr.read());
-				}
-			} finally {
-				try {
-					isr.close();
-				} catch (Exception e) {
-				}
-				try {
-					writer.close();
-				} catch (Exception e) {
-				}
-			}
-		}
-	}
-
-	public void testBlockIO() throws Exception {
-		InputStreamReader isr = null;
-		char[] largeBuffer = new char[BUFFER_SIZE];
-		for (int i = 0; i < MINIMAL_CHARSETS.length; ++i) {
-			try {
-				out = new ByteArrayOutputStream();
-				writer = new OutputStreamWriter(out, MINIMAL_CHARSETS[i]);
-
-				int upper = UPPER;
-				switch (i) {
-				case 0:
-					upper = 128;
-					break;
-				case 1:
-					upper = 256;
-					break;
-				}
-
-				int m = 0;
-				for (int c = 0; c < upper; ++c) {
-					largeBuffer[m++] = (char) c;
-					if (m == BUFFER_SIZE) {
-						writer.write(largeBuffer);
-						m = 0;
-					}
-				}
-				writer.write(largeBuffer, 0, m);
-				writer.flush();
-				byte[] result = out.toByteArray();
-
-				isr = new InputStreamReader(new ByteArrayInputStream(result),
-						MINIMAL_CHARSETS[i]);
-				int expected = 0, read = 0, j = 0;
-				while (expected < upper) {
-					if (j == read) {
-						read = isr.read(largeBuffer);
-						j = 0;
-					}
-					assertEquals("Error when reading bytes in "
-							+ MINIMAL_CHARSETS[i], expected++, largeBuffer[j++]);
-				}
-			} finally {
-				try {
-					isr.close();
-				} catch (Exception e) {
-				}
-				try {
-					writer.close();
-				} catch (Exception e) {
-				}
-			}
-		}
-	}
-
-	/**
-	 * @tests java.io.OutputStreamWriter#OutputStreamWriter(java.io.OutputStream)
-	 */
-	public void test_ConstructorLjava_io_OutputStream() {
-		// Test for method java.io.OutputStreamWriter(java.io.OutputStream)
-		assertTrue("Used in tests", true);
-	}
-
-	/**
-	 * @tests java.io.OutputStreamWriter#OutputStreamWriter(java.io.OutputStream,
-	 *        java.lang.String)
-	 */
-	public void test_ConstructorLjava_io_OutputStreamLjava_lang_String() {
-		// Test for method java.io.OutputStreamWriter(java.io.OutputStream,
-		// java.lang.String)
-		try {
-			osw = new OutputStreamWriter(fos, "8859_1");
-		} catch (UnsupportedEncodingException e) {
-			fail("Unable to create output stream : " + e.getMessage());
-		}
-		try {
-			osw = new OutputStreamWriter(fos, "Bogus");
-		} catch (UnsupportedEncodingException e) {
-			return;
-		}
-		fail("Failed to throw Unsupported Encoding exception");
-	}
-
-	/**
-	 * @tests java.io.OutputStreamWriter#close()
-	 */
-	public void test_close() {
-		// Test for method void java.io.OutputStreamWriter.close()
-		boolean exception = false;
-		try {
-			osw.close();
-			osw.write(testString, 0, testString.length());
-		} catch (IOException e) {
-			exception = true;
-		}
-		assertTrue("Chars written after close", exception);
-
-		ByteArrayOutputStream bout = new ByteArrayOutputStream();
-		try {
-			OutputStreamWriter writer = new OutputStreamWriter(bout,
-					"ISO2022JP");
-			writer.write(new char[] { 'a' });
-			writer.close();
-			// the default is ASCII, there should not be any mode changes
-			String converted = new String(bout.toByteArray(), "ISO8859_1");
-			assertTrue("invalid conversion 1: " + converted, converted
-					.equals("a"));
-
-			bout.reset();
-			writer = new OutputStreamWriter(bout, "ISO2022JP");
-			writer.write(new char[] { '\u3048' });
-			writer.flush();
-			// the byte sequence should not switch to ASCII mode until the
-			// stream is closed
-			converted = new String(bout.toByteArray(), "ISO8859_1");
-			assertTrue("invalid conversion 2: " + converted, converted
-					.equals("\u001b$B$("));
-			writer.close();
-			converted = new String(bout.toByteArray(), "ISO8859_1");
-			assertTrue("invalid conversion 3: " + converted, converted
-					.equals("\u001b$B$(\u001b(B"));
-
-			bout.reset();
-			writer = new OutputStreamWriter(bout, "ISO2022JP");
-			writer.write(new char[] { '\u3048' });
-			writer.write(new char[] { '\u3048' });
-			writer.close();
-			// there should not be a mode switch between writes
-			assertEquals("invalid conversion 4", "\u001b$B$($(\u001b(B", new String(bout.toByteArray(),
-					"ISO8859_1"));
-		} catch (UnsupportedEncodingException e) {
-			// Can't test missing converter
-			System.out.println(e);
-		} catch (IOException e) {
-			fail("Unexpected: " + e);
-		}
-	}
-
-	/**
-	 * @tests java.io.OutputStreamWriter#flush()
-	 */
-	public void test_flush() throws Exception {
-		// Test for method void java.io.OutputStreamWriter.flush()
-                char[] buf = new char[testString.length()];
-                osw.write(testString, 0, testString.length());
-                osw.flush();
-                openInputStream();
-                isr.read(buf, 0, buf.length);
-                assertTrue("Chars not flushed", new String(buf, 0, buf.length)
-                                .equals(testString));
-        }
-
-	/**
-	 * @tests java.io.OutputStreamWriter#getEncoding()
-	 */
-	public void test_getEncoding() {
-		// Test for method java.lang.String
-		// java.io.OutputStreamWriter.getEncoding()
-		try {
-			osw = new OutputStreamWriter(fos, "8859_1");
-		} catch (UnsupportedEncodingException e) {
-			assertEquals("Returned incorrect encoding", 
-					"8859_1", osw.getEncoding());
-		}
+        } catch (IOException e) {
+            // Expected
+        }
+    }
 
-        OutputStreamWriter out = null;
+    /*
+     * Class under test for void write(int)
+     */
+    public void testWriteint() throws IOException {
+        writer.write(1);
+        writer.flush();
+        String str = new String(out.toByteArray(), "utf-8");
+        assertEquals("\u0001", str);
+
+        writer.write(2);
+        writer.flush();
+        str = new String(out.toByteArray(), "utf-8");
+        assertEquals("\u0001\u0002", str);
+
+        writer.write(-1);
+        writer.flush();
+        str = new String(out.toByteArray(), "utf-8");
+        assertEquals("\u0001\u0002\uffff", str);
+
+        writer.write(0xfedcb);
+        writer.flush();
+        str = new String(out.toByteArray(), "utf-8");
+        assertEquals("\u0001\u0002\uffff\uedcb", str);
+
+        writer.close();
+        // After the stream is closed, should throw IOException
         try {
-            out = new OutputStreamWriter(new ByteArrayOutputStream(),
-                    "UTF-16BE");
+            writer.write(1);
+            fail("should throw IOException");
+        } catch (IOException e) {
+            // expected
+        }
+    }
+
+    /*
+     * Class under test for void write(String, int, int)
+     */
+    public void testWriteStringintint() throws IOException {
+        try {
+            writer.write((String) null, 1, 1);
+            fail();
+        } catch (NullPointerException e) {
+            // Expected
+        }
+        try {
+            writer.write("", 0, 1);
+            fail();
+        } catch (StringIndexOutOfBoundsException e) {
+            // Expected
+        }
+        try {
+            writer.write("abc", -1, 1);
+            fail();
+        } catch (StringIndexOutOfBoundsException e) {
+            // Expected
+        }
+        try {
+            writer.write("abc", 0, -1);
+            fail();
+        } catch (IndexOutOfBoundsException e) {
+            // Expected
+        }
+        try {
+            writer.write("abc", 1, 3);
+            fail();
+        } catch (StringIndexOutOfBoundsException e) {
+            // Expected
+        }
+
+        // Throws IndexOutOfBoundsException before NullPointerException if count
+        // is negative
+        try {
+            writer.write((String) null, -1, -1);
+            fail("should throw IndexOutOfBoundsException");
+        } catch (IndexOutOfBoundsException e) {
+            // Expected
+        }
+
+        // Throws NullPointerException before StringIndexOutOfBoundsException
+        try {
+            writer.write((String) null, -1, 0);
+            fail("should throw NullPointerException");
+        } catch (NullPointerException e) {
+            // expected
+        }
+
+        writer.write("abc", 1, 2);
+        writer.flush();
+        assertEquals("bc", out.toString("utf-8"));
+        writer.write(source, 0, source.length());
+        writer.flush();
+        assertEquals("bc" + source, out.toString("utf-8"));
+
+        writer.close();
+        // Throws IndexOutOfBoundsException first if count is negative
+        try {
+            writer.write((String) null, 0, -1);
+            fail("should throw IndexOutOfBoundsException");
+        } catch (IndexOutOfBoundsException e) {
+            // Expected
+        }
+
+        try {
+            writer.write((String) null, -1, 0);
+            fail("should throw NullPointerException");
+        } catch (NullPointerException e) {
+            // Expected
+        }
+
+        try {
+            writer.write("abc", -1, 0);
+            fail("should throw StringIndexOutOfBoundsException");
+        } catch (StringIndexOutOfBoundsException e) {
+            // Expected
+        }
+
+        // Throws IOException
+        try {
+            writer.write("abc", 0, 1);
+            fail("should throw IOException");
+        } catch (IOException e) {
+            // expected
+        }
+    }
+
+    /*
+     * Class under test for void OutputStreamWriter(OutputStream)
+     */
+    public void testOutputStreamWriterOutputStream() throws IOException {
+        try {
+            writer = new OutputStreamWriter(null);
+            fail();
+        } catch (NullPointerException e) {
+            // Expected
+        }
+        OutputStreamWriter writer2 = new OutputStreamWriter(out);
+        writer2.close();
+    }
+
+    /*
+     * Class under test for void OutputStreamWriter(OutputStream, String)
+     */
+    public void testOutputStreamWriterOutputStreamString() throws IOException {
+        try {
+            writer = new OutputStreamWriter(null, "utf-8");
+            fail();
+        } catch (NullPointerException e) {
+            // Expected
+        }
+        try {
+            writer = new OutputStreamWriter(out, "");
+            fail();
         } catch (UnsupportedEncodingException e) {
-            fail("Should not throw UnsupportedEncodingException");
+            // Expected
         }
         try {
-            out.close();
+            writer = new OutputStreamWriter(out, "badname");
+            fail();
+        } catch (UnsupportedEncodingException e) {
+            // Expected
+        }
+        try {
+            writer = new OutputStreamWriter(out, (String) null);
+            fail();
+        } catch (NullPointerException e) {
+            // Expected
+        }
+        OutputStreamWriter writer2 = new OutputStreamWriter(out, "ascii");
+        assertEquals(Charset.forName("ascii"), Charset.forName(writer2
+                .getEncoding()));
+        writer2.close();
+    }
+
+    /*
+     * Class under test for void OutputStreamWriter(OutputStream)
+     */
+    public void testOutputStreamWriterOutputStreamCharset() throws IOException {
+        Charset cs = Charset.forName("ascii");
+        try {
+            writer = new OutputStreamWriter(null, cs);
+            fail();
+        } catch (NullPointerException e) {
+            // Expected
+        }
+        try {
+            writer = new OutputStreamWriter(out, (Charset) null);
+            fail();
+        } catch (NullPointerException e) {
+            // Expected
+        }
+        OutputStreamWriter writer2 = new OutputStreamWriter(out, cs);
+        assertEquals(cs, Charset.forName(writer2.getEncoding()));
+        writer2.close();
+    }
+
+    /*
+     * Class under test for void OutputStreamWriter(OutputStream, String)
+     */
+    public void testOutputStreamWriterOutputStreamCharsetEncoder()
+            throws IOException {
+        Charset cs = Charset.forName("ascii");
+        CharsetEncoder enc = cs.newEncoder();
+        try {
+            writer = new OutputStreamWriter(null, enc);
+            fail();
+        } catch (NullPointerException e) {
+            // Expected
+        }
+        try {
+            writer = new OutputStreamWriter(out, (CharsetEncoder) null);
+            fail();
+        } catch (NullPointerException e) {
+            // Expected
+        }
+        OutputStreamWriter writer2 = new OutputStreamWriter(out, enc);
+        assertEquals(cs, Charset.forName(writer2.getEncoding()));
+        writer2.close();
+    }
+
+    public void testGetEncoding() {
+        Charset cs = Charset.forName("utf-8");
+        assertEquals(cs, Charset.forName(writer.getEncoding()));
+    }
+
+    public void testHandleEarlyEOFChar_1() throws IOException {
+        String str = "All work and no play makes Jack a dull boy\n"; //$NON-NLS-1$
+        int NUMBER = 2048;
+        int j = 0;
+        int len = str.length() * NUMBER;
+        char[] strChars = new char[len];
+        for (int i = 0; i < NUMBER; ++i) {
+            for (int k = 0; k < str.length(); ++k) {
+                strChars[j++] = str.charAt(k);
+            }
+        }
+
+        File f = File.createTempFile("one", "by_one");
+        FileWriter fw = new FileWriter(f);
+        fw.write(strChars);
+        fw.close();
+        FileInputStream fis = new FileInputStream(f);
+        InputStreamReader in = new InputStreamReader(fis);
+        for (int offset = 0; offset < strChars.length; ++offset) {
+            int b = in.read();
+            assertFalse("Early EOF at offset", -1 == b);
+        }
+    }
+
+    public void testHandleEarlyEOFChar_2() throws IOException {
+        int capacity = 65536;
+        byte[] bytes = new byte[capacity];
+        byte[] bs = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' };
+        for (int i = 0; i < bytes.length; i++) {
+            bytes[i] = bs[i / 8192];
+        }
+        String inputStr = new String(bytes);
+        int len = inputStr.length();
+        File f = File.createTempFile("FileWriterBugTest ", null); //$NON-NLS-1$
+        FileWriter writer = new FileWriter(f);
+        writer.write(inputStr);
+        writer.close();
+        long flen = f.length();
+
+        FileReader reader = new FileReader(f);
+        char[] outChars = new char[capacity];
+        int outCount = reader.read(outChars);
+        String outStr = new String(outChars, 0, outCount);
+
+        f.deleteOnExit();
+        assertEquals(len, flen);
+        assertEquals(inputStr, outStr);
+    }
+
+    public void testSingleCharIO() throws Exception {
+        InputStreamReader isr = null;
+        for (int i = 0; i < MINIMAL_CHARSETS.length; ++i) {
+            try {
+                out = new ByteArrayOutputStream();
+                writer = new OutputStreamWriter(out, MINIMAL_CHARSETS[i]);
+
+                int upper = UPPER;
+                switch (i) {
+                case 0:
+                    upper = 128;
+                    break;
+                case 1:
+                    upper = 256;
+                    break;
+                }
+
+                for (int c = 0; c < upper; ++c) {
+                    writer.write(c);
+                }
+                writer.flush();
+                byte[] result = out.toByteArray();
+
+                isr = new InputStreamReader(new ByteArrayInputStream(result),
+                        MINIMAL_CHARSETS[i]);
+                for (int expected = 0; expected < upper; ++expected) {
+                    assertEquals("Error when reading bytes in "
+                            + MINIMAL_CHARSETS[i], expected, isr.read());
+                }
+            } finally {
+                try {
+                    isr.close();
+                } catch (Exception e) {
+                }
+                try {
+                    writer.close();
+                } catch (Exception e) {
+                }
+            }
+        }
+    }
+
+    public void testBlockIO() throws Exception {
+        InputStreamReader isr = null;
+        char[] largeBuffer = new char[BUFFER_SIZE];
+        for (int i = 0; i < MINIMAL_CHARSETS.length; ++i) {
+            try {
+                out = new ByteArrayOutputStream();
+                writer = new OutputStreamWriter(out, MINIMAL_CHARSETS[i]);
+
+                int upper = UPPER;
+                switch (i) {
+                case 0:
+                    upper = 128;
+                    break;
+                case 1:
+                    upper = 256;
+                    break;
+                }
+
+                int m = 0;
+                for (int c = 0; c < upper; ++c) {
+                    largeBuffer[m++] = (char) c;
+                    if (m == BUFFER_SIZE) {
+                        writer.write(largeBuffer);
+                        m = 0;
+                    }
+                }
+                writer.write(largeBuffer, 0, m);
+                writer.flush();
+                byte[] result = out.toByteArray();
+
+                isr = new InputStreamReader(new ByteArrayInputStream(result),
+                        MINIMAL_CHARSETS[i]);
+                int expected = 0, read = 0, j = 0;
+                while (expected < upper) {
+                    if (j == read) {
+                        read = isr.read(largeBuffer);
+                        j = 0;
+                    }
+                    assertEquals("Error when reading bytes in "
+                            + MINIMAL_CHARSETS[i], expected++, largeBuffer[j++]);
+                }
+            } finally {
+                try {
+                    isr.close();
+                } catch (Exception e) {
+                }
+                try {
+                    writer.close();
+                } catch (Exception e) {
+                }
+            }
+        }
+    }
+
+    /**
+     * @tests java.io.OutputStreamWriter#OutputStreamWriter(java.io.OutputStream)
+     */
+    public void test_ConstructorLjava_io_OutputStream() {
+        assertTrue("Used in tests", true);
+    }
+
+    /**
+     * @tests java.io.OutputStreamWriter#OutputStreamWriter(java.io.OutputStream,
+     *        java.lang.String)
+     */
+    public void test_ConstructorLjava_io_OutputStreamLjava_lang_String()
+            throws UnsupportedEncodingException {
+        osw = new OutputStreamWriter(fos, "8859_1");
+        try {
+            osw = new OutputStreamWriter(fos, "Bogus");
+            fail("Failed to throw Unsupported Encoding exception");
+        } catch (UnsupportedEncodingException e) {
+            // Expected
+        }
+    }
+
+    /**
+     * @tests java.io.OutputStreamWriter#close()
+     */
+    public void test_close() throws IOException {
+        osw.close();
+
+        try {
+            osw.write(testString, 0, testString.length());
+            fail("Chars written after close");
         } catch (IOException e) {
-            fail("Should not throw IOException");
+            // Expected
         }
+
+        ByteArrayOutputStream bout = new ByteArrayOutputStream();
+        try {
+            OutputStreamWriter writer = new OutputStreamWriter(bout,
+                    "ISO2022JP");
+            writer.write(new char[] { 'a' });
+            writer.close();
+            // the default is ASCII, there should not be any mode changes
+            String converted = new String(bout.toByteArray(), "ISO8859_1");
+            assertTrue("invalid conversion 1: " + converted, converted
+                    .equals("a"));
+
+            bout.reset();
+            writer = new OutputStreamWriter(bout, "ISO2022JP");
+            writer.write(new char[] { '\u3048' });
+            writer.flush();
+            // the byte sequence should not switch to ASCII mode until the
+            // stream is closed
+            converted = new String(bout.toByteArray(), "ISO8859_1");
+            assertTrue("invalid conversion 2: " + converted, converted
+                    .equals("\u001b$B$("));
+            writer.close();
+            converted = new String(bout.toByteArray(), "ISO8859_1");
+            assertTrue("invalid conversion 3: " + converted, converted
+                    .equals("\u001b$B$(\u001b(B"));
+
+            bout.reset();
+            writer = new OutputStreamWriter(bout, "ISO2022JP");
+            writer.write(new char[] { '\u3048' });
+            writer.write(new char[] { '\u3048' });
+            writer.close();
+            // there should not be a mode switch between writes
+            assertEquals("invalid conversion 4", "\u001b$B$($(\u001b(B",
+                    new String(bout.toByteArray(), "ISO8859_1"));
+        } catch (UnsupportedEncodingException e) {
+            // Can't test missing converter
+            System.out.println(e);
+        }
+    }
+
+    /**
+     * @tests java.io.OutputStreamWriter#flush()
+     */
+    public void test_flush() throws IOException {
+        char[] buf = new char[testString.length()];
+        osw.write(testString, 0, testString.length());
+        osw.flush();
+        openInputStream();
+        isr.read(buf, 0, buf.length);
+        assertTrue("Chars not flushed", new String(buf, 0, buf.length)
+                .equals(testString));
+    }
+
+    /**
+     * @tests java.io.OutputStreamWriter#getEncoding()
+     */
+    public void test_getEncoding() throws IOException {
+        try {
+            osw = new OutputStreamWriter(fos, "8859_1");
+        } catch (UnsupportedEncodingException e) {
+            assertEquals("Returned incorrect encoding", "8859_1", osw
+                    .getEncoding());
+        }
+
+        OutputStreamWriter out = new OutputStreamWriter(
+                new ByteArrayOutputStream(), "UTF-16BE");
+        out.close();
+
         String result = out.getEncoding();
         assertNull(result);
 
-        
         out = null;
         try {
             out = new OutputStreamWriter(new ByteArrayOutputStream(),
@@ -676,51 +659,44 @@
         assertEquals("UnicodeBigUnmarked", result);
     }
 
-	/**
-	 * @tests java.io.OutputStreamWriter#write(char[], int, int)
-	 */
-	public void test_write$CII() throws Exception {
-		// Test for method void java.io.OutputStreamWriter.write(char [], int,
-		// int)
-                char[] buf = new char[testString.length()];
-                osw.write(testString, 0, testString.length());
-                osw.close();
-                openInputStream();
-                isr.read(buf, 0, buf.length);
-                assertTrue("Incorrect chars returned", new String(buf, 0,
-                                buf.length).equals(testString));
-	}
-
-	/**
-	 * @tests java.io.OutputStreamWriter#write(int)
-	 */
-	public void test_writeI() throws Exception {
-		// Test for method void java.io.OutputStreamWriter.write(int)
-                osw.write('T');
-                osw.close();
-                openInputStream();
-                int c = isr.read();
-                assertEquals("Incorrect char returned", 'T', (char) c);
-	}
-
-	/**
-	 * @tests java.io.OutputStreamWriter#write(java.lang.String, int, int)
-	 */
-	public void test_writeLjava_lang_StringII() throws Exception {
-		// Test for method void
-		// java.io.OutputStreamWriter.write(java.lang.String, int, int)
-
-                char[] buf = new char[testString.length()];
-                osw.write(testString, 0, testString.length());
-                osw.close();
-                openInputStream();
-                isr.read(buf);
-                assertTrue("Incorrect chars returned", new String(buf, 0,
-                                buf.length).equals(testString));
-	}
-
-	private void openInputStream() {
-		isr = new InputStreamReader(new ByteArrayInputStream(fos.toByteArray()));
-	}
+    /**
+     * @tests java.io.OutputStreamWriter#write(char[], int, int)
+     */
+    public void test_write$CII() throws IOException {
+        char[] buf = new char[testString.length()];
+        osw.write(testString, 0, testString.length());
+        osw.close();
+        openInputStream();
+        isr.read(buf, 0, buf.length);
+        assertTrue("Incorrect chars returned", new String(buf, 0, buf.length)
+                .equals(testString));
+    }
 
+    /**
+     * @tests java.io.OutputStreamWriter#write(int)
+     */
+    public void test_writeI() throws IOException {
+        osw.write('T');
+        osw.close();
+        openInputStream();
+        int c = isr.read();
+        assertEquals("Incorrect char returned", 'T', (char) c);
+    }
+
+    /**
+     * @tests java.io.OutputStreamWriter#write(java.lang.String, int, int)
+     */
+    public void test_writeLjava_lang_StringII() throws IOException {
+        char[] buf = new char[testString.length()];
+        osw.write(testString, 0, testString.length());
+        osw.close();
+        openInputStream();
+        isr.read(buf);
+        assertTrue("Incorrect chars returned", new String(buf, 0, buf.length)
+                .equals(testString));
+    }
+
+    private void openInputStream() {
+        isr = new InputStreamReader(new ByteArrayInputStream(fos.toByteArray()));
+    }
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedInputStreamTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedInputStreamTest.java?rev=617085&r1=617084&r2=617085&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedInputStreamTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedInputStreamTest.java Thu Jan 31 02:04:05 2008
@@ -42,26 +42,11 @@
 		public PWriter(PipedOutputStream pout, int nbytes) {
 			pos = pout;
 			bytes = new byte[nbytes];
-			for (int i = 0; i < bytes.length; i++)
+			for (int i = 0; i < bytes.length; i++) {
 				bytes[i] = (byte) (System.currentTimeMillis() % 9);
+		    }
 		}
 	}
-    
-     static class MockPipedInputStream extends PipedInputStream {
-
-        public MockPipedInputStream(java.io.PipedOutputStream src,
-                int bufferSize) throws IOException {
-            super(src, bufferSize);
-        }
-
-        public MockPipedInputStream(int bufferSize) {
-            super(bufferSize);
-        }
-
-        public int bufferLength() {
-            return super.buffer.length;
-        }
-    }
 
 	Thread t;
 
@@ -87,60 +72,6 @@
         pis = new PipedInputStream(new PipedOutputStream());
         pis.available();
     }
-    
-     /**
-     * @tests java.io.PipedInputStream#PipedInputStream(java.io.PipedOutputStream,
-     *        int)
-     * @since 1.6
-     */
-    public void test_Constructor_LPipedOutputStream_I() throws Exception {
-        // Test for method java.io.PipedInputStream(java.io.PipedOutputStream,
-        // int)
-        MockPipedInputStream mpis = new MockPipedInputStream(
-                new PipedOutputStream(), 100);
-        int bufferLength = mpis.bufferLength();
-        assertEquals(100, bufferLength);
-        
-        try {
-            pis = new PipedInputStream(null, -1);
-            fail("Should throw IllegalArgumentException"); //$NON-NLS-1$
-        } catch (IllegalArgumentException e) {
-            // expected
-        }
-        
-        try {
-            pis = new PipedInputStream(null, 0);
-            fail("Should throw IllegalArgumentException"); //$NON-NLS-1$
-        } catch (IllegalArgumentException e) {
-            // expected
-        }
-    }
-
-    /**
-     * @tests java.io.PipedInputStream#PipedInputStream(int)
-     * @since 1.6
-     */
-    public void test_Constructor_I() throws Exception {
-        // Test for method java.io.PipedInputStream(int)
-        MockPipedInputStream mpis = new MockPipedInputStream(100);
-        int bufferLength = mpis.bufferLength();
-        assertEquals(100, bufferLength);
-
-        try {
-            pis = new PipedInputStream(-1);
-            fail("Should throw IllegalArgumentException"); //$NON-NLS-1$
-        } catch (IllegalArgumentException e) {
-            // expected
-        }
-        
-        try {
-            pis = new PipedInputStream(0);
-            fail("Should throw IllegalArgumentException"); //$NON-NLS-1$
-        } catch (IllegalArgumentException e) {
-            // expected
-        }
-    }
-
 
 	/**
 	 * @tests java.io.PipedInputStream#available()
@@ -165,8 +96,9 @@
         // We know the PipedInputStream buffer size is 1024.
         // Writing another byte would cause the write to wait
         // for a read before returning
-        for (int i = 0; i < 1024; i++)
+        for (int i = 0; i < 1024; i++) {
             pout.write(i);
+        }
         assertEquals("Incorrect available count", 1024 , pin.available());
     }
 
@@ -195,8 +127,6 @@
 	 * @tests java.io.PipedInputStream#connect(java.io.PipedOutputStream)
 	 */
 	public void test_connectLjava_io_PipedOutputStream() throws Exception {
-        // Test for method void
-        // java.io.PipedInputStream.connect(java.io.PipedOutputStream)
         pis = new PipedInputStream();
         pos = new PipedOutputStream();
         assertEquals("Non-conected pipe returned non-zero available bytes", 0,
@@ -217,7 +147,6 @@
 	 * @tests java.io.PipedInputStream#read()
 	 */
 	public void test_read() throws Exception {
-        // Test for method int java.io.PipedInputStream.read()
         pis = new PipedInputStream();
         pos = new PipedOutputStream();
 
@@ -238,7 +167,6 @@
 	 * @tests java.io.PipedInputStream#read(byte[], int, int)
 	 */
 	public void test_read$BII() throws Exception {
-        // Test for method int java.io.PipedInputStream.read(byte [], int, int)
         pis = new PipedInputStream();
         pos = new PipedOutputStream();
 
@@ -320,8 +248,9 @@
             public void run() {
                 try {
                     pos.write(1);
-                    while (readerAlive)
+                    while (readerAlive) {
                         ;
+                    }
                     try {
                         // should throw exception since reader thread
                         // is now dead
@@ -329,7 +258,8 @@
                     } catch (IOException e) {
                         pass = true;
                     }
-                } catch (IOException e) {}
+                } catch (IOException e) {
+                }
             }
         }
         WriteRunnable writeRunnable = new WriteRunnable();
@@ -342,7 +272,8 @@
                 try {
                     pis.read();
                     pass = true;
-                } catch (IOException e) {}
+                } catch (IOException e) {
+                }
             }
         }
         ;
@@ -350,12 +281,14 @@
         Thread readThread = new Thread(readRunnable);
         writeThread.start();
         readThread.start();
-        while (readThread.isAlive())
+        while (readThread.isAlive()) {
             ;
+        }
         writeRunnable.readerAlive = false;
         assertTrue("reader thread failed to read", readRunnable.pass);
-        while (writeThread.isAlive())
+        while (writeThread.isAlive()) {
             ;
+        }
         assertTrue("writer thread failed to recognize dead reader",
                 writeRunnable.pass);
 
@@ -386,7 +319,8 @@
             try {
                 // wait for thread t to get to the call to pis.receive
                 Thread.sleep(100);
-            } catch (InterruptedException e) {}
+            } catch (InterruptedException e) {
+            }
             // now we close
             pos.close();
         }
@@ -414,4 +348,74 @@
 		}
         super.tearDown();
 	}
-}
+	
+	    
+     /**
+     * @tests java.io.PipedInputStream#PipedInputStream(java.io.PipedOutputStream,
+     *        int)
+     * @since 1.6
+     */
+    public void test_Constructor_LPipedOutputStream_I() throws Exception {
+        // Test for method java.io.PipedInputStream(java.io.PipedOutputStream,
+        // int)
+        MockPipedInputStream mpis = new MockPipedInputStream(
+                new PipedOutputStream(), 100);
+        int bufferLength = mpis.bufferLength();
+        assertEquals(100, bufferLength);
+        
+        try {
+            pis = new PipedInputStream(null, -1);
+            fail("Should throw IllegalArgumentException"); //$NON-NLS-1$
+        } catch (IllegalArgumentException e) {
+            // expected
+        }
+        
+        try {
+            pis = new PipedInputStream(null, 0);
+            fail("Should throw IllegalArgumentException"); //$NON-NLS-1$
+        } catch (IllegalArgumentException e) {
+            // expected
+        }
+    }
+
+    /**
+     * @tests java.io.PipedInputStream#PipedInputStream(int)
+     * @since 1.6
+     */
+    public void test_Constructor_I() throws Exception {
+        // Test for method java.io.PipedInputStream(int)
+        MockPipedInputStream mpis = new MockPipedInputStream(100);
+        int bufferLength = mpis.bufferLength();
+        assertEquals(100, bufferLength);
+
+        try {
+            pis = new PipedInputStream(-1);
+            fail("Should throw IllegalArgumentException"); //$NON-NLS-1$
+        } catch (IllegalArgumentException e) {
+            // expected
+        }
+        
+        try {
+            pis = new PipedInputStream(0);
+            fail("Should throw IllegalArgumentException"); //$NON-NLS-1$
+        } catch (IllegalArgumentException e) {
+            // expected
+        }
+    }
+	
+    static class MockPipedInputStream extends PipedInputStream {
+
+        public MockPipedInputStream(java.io.PipedOutputStream src,
+                int bufferSize) throws IOException {
+            super(src, bufferSize);
+        }
+
+        public MockPipedInputStream(int bufferSize) {
+            super(bufferSize);
+        }
+
+        public int bufferLength() {
+            return super.buffer.length;
+        }
+    }
+}
\ No newline at end of file

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedOutputStreamTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedOutputStreamTest.java?rev=617085&r1=617084&r2=617085&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedOutputStreamTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedOutputStreamTest.java Thu Jan 31 02:04:05 2008
@@ -21,92 +21,91 @@
 import java.io.PipedInputStream;
 import java.io.PipedOutputStream;
 
-public class PipedOutputStreamTest extends junit.framework.TestCase {
+import junit.framework.TestCase;
 
-	static class PReader implements Runnable {
-		PipedInputStream reader;
+public class PipedOutputStreamTest extends TestCase {
+
+    static class PReader implements Runnable {
+        PipedInputStream reader;
+
+        public PipedInputStream getReader() {
+            return reader;
+        }
+
+        public PReader(PipedOutputStream out) {
+            try {
+                reader = new PipedInputStream(out);
+            } catch (Exception e) {
+                System.out.println("Couldn't start reader");
+            }
+        }
+
+        public int available() {
+            try {
+                return reader.available();
+            } catch (Exception e) {
+                return -1;
+            }
+        }
+
+        public void run() {
+            try {
+                while (true) {
+                    Thread.sleep(1000);
+                    Thread.yield();
+                }
+            } catch (InterruptedException e) {
+            }
+        }
+
+        public String read(int nbytes) {
+            byte[] buf = new byte[nbytes];
+            try {
+                reader.read(buf, 0, nbytes);
+                return new String(buf);
+            } catch (IOException e) {
+                System.out.println("Exception reading info");
+                return "ERROR";
+            }
+        }
+    }
+
+    Thread rt;
+
+    PReader reader;
+
+    PipedOutputStream out;
+
+    /**
+     * @tests java.io.PipedOutputStream#PipedOutputStream()
+     */
+    public void test_Constructor() {
+        // Used in tests
+    }
+
+    /**
+     * @tests java.io.PipedOutputStream#PipedOutputStream(java.io.PipedInputStream)
+     */
+    public void test_ConstructorLjava_io_PipedInputStream() throws Exception {
+        out = new PipedOutputStream(new PipedInputStream());
+        out.write('b');
+    }
+
+    /**
+     * @tests java.io.PipedOutputStream#close()
+     */
+    public void test_close() throws Exception {
+        out = new PipedOutputStream();
+        rt = new Thread(reader = new PReader(out));
+        rt.start();
+        out.close();
+    }
 
-		public PipedInputStream getReader() {
-			return reader;
-		}
-
-		public PReader(PipedOutputStream out) {
-			try {
-				reader = new PipedInputStream(out);
-			} catch (Exception e) {
-				System.out.println("Couldn't start reader");
-			}
-		}
-
-		public int available() {
-			try {
-				return reader.available();
-			} catch (Exception e) {
-				return -1;
-			}
-		}
-
-		public void run() {
-			try {
-				while (true) {
-					Thread.sleep(1000);
-					Thread.yield();
-				}
-			} catch (InterruptedException e) {
-			}
-		}
-
-		public String read(int nbytes) {
-			byte[] buf = new byte[nbytes];
-			try {
-				reader.read(buf, 0, nbytes);
-				return new String(buf);
-			} catch (IOException e) {
-				System.out.println("Exception reading info");
-				return "ERROR";
-			}
-		}
-	}
-
-	Thread rt;
-
-	PReader reader;
-
-	PipedOutputStream out;
-
-	/**
-	 * @tests java.io.PipedOutputStream#PipedOutputStream()
-	 */
-	public void test_Constructor() {
-		// Test for method java.io.PipedOutputStream()
-		// Used in tests
-	}
-
-	/**
-	 * @tests java.io.PipedOutputStream#PipedOutputStream(java.io.PipedInputStream)
-	 */
-	public void test_ConstructorLjava_io_PipedInputStream() throws Exception {
-		// Test for method java.io.PipedOutputStream(java.io.PipedInputStream)
-
-                out = new PipedOutputStream(new PipedInputStream());
-                out.write('b');
-	}
-
-	/**
-	 * @tests java.io.PipedOutputStream#close()
-	 */
-	public void test_close() throws Exception {
-		// Test for method void java.io.PipedOutputStream.close()
-                out = new PipedOutputStream();
-                rt = new Thread(reader = new PReader(out));
-                rt.start();
-                out.close();
-	}
-    
     /**
      * @tests java.io.PipedOutputStream#connect(java.io.PipedInputStream)
      */
-    public void test_connectLjava_io_PipedInputStream_Exception() throws IOException {
+    public void test_connectLjava_io_PipedInputStream_Exception()
+            throws IOException {
         out = new PipedOutputStream();
         out.connect(new PipedInputStream());
         try {
@@ -117,72 +116,54 @@
         }
     }
 
-	/**
-	 * @tests java.io.PipedOutputStream#connect(java.io.PipedInputStream)
-	 */
-	public void test_connectLjava_io_PipedInputStream() {
-		// Test for method void
-		// java.io.PipedOutputStream.connect(java.io.PipedInputStream)
-		try {
-			out = new PipedOutputStream();
-			rt = new Thread(reader = new PReader(out));
-			rt.start();
-			out.connect(new PipedInputStream());
-		} catch (IOException e) {
-			// Correct
-			return;
-		}
-		fail(
-				"Failed to throw exception attempting connect on already connected stream");
-
-	}
-
-	/**
-	 * @tests java.io.PipedOutputStream#flush()
-	 */
-	public void test_flush() {
-		// Test for method void java.io.PipedOutputStream.flush()
-		try {
-			out = new PipedOutputStream();
-			rt = new Thread(reader = new PReader(out));
-			rt.start();
-			out.write("HelloWorld".getBytes(), 0, 10);
-			assertTrue("Bytes written before flush", reader.available() != 0);
-			out.flush();
-			assertEquals("Wrote incorrect bytes", 
-					"HelloWorld", reader.read(10));
-		} catch (IOException e) {
-			fail("IOException during write test : " + e.getMessage());
-		}
-	}
-
-	/**
-	 * @tests java.io.PipedOutputStream#write(byte[], int, int)
-	 */
-	public void test_write$BII() {
-		// Test for method void java.io.PipedOutputStream.write(byte [], int,
-		// int)
-		try {
-			out = new PipedOutputStream();
-			rt = new Thread(reader = new PReader(out));
-			rt.start();
-			out.write("HelloWorld".getBytes(), 0, 10);
-			out.flush();
-			assertEquals("Wrote incorrect bytes", 
-					"HelloWorld", reader.read(10));
-		} catch (IOException e) {
-			fail("IOException during write test : " + e.getMessage());
-		}
-	}
+    /**
+     * @tests java.io.PipedOutputStream#connect(java.io.PipedInputStream)
+     */
+    public void test_connectLjava_io_PipedInputStream() {
+        try {
+            out = new PipedOutputStream();
+            rt = new Thread(reader = new PReader(out));
+            rt.start();
+            out.connect(new PipedInputStream());
+            fail("Failed to throw exception attempting connect on already connected stream");
+        } catch (IOException e) {
+            // Expected
+        }
+    }
+
+    /**
+     * @tests java.io.PipedOutputStream#flush()
+     */
+    public void test_flush() throws IOException {
+        out = new PipedOutputStream();
+        rt = new Thread(reader = new PReader(out));
+        rt.start();
+        out.write("HelloWorld".getBytes(), 0, 10);
+        assertTrue("Bytes written before flush", reader.available() != 0);
+        out.flush();
+        assertEquals("Wrote incorrect bytes", "HelloWorld", reader.read(10));
+    }
 
     /**
      * @tests java.io.PipedOutputStream#write(byte[], int, int)
-     * Regression for HARMONY-387
+     */
+    public void test_write$BII() throws IOException {
+        out = new PipedOutputStream();
+        rt = new Thread(reader = new PReader(out));
+        rt.start();
+        out.write("HelloWorld".getBytes(), 0, 10);
+        out.flush();
+        assertEquals("Wrote incorrect bytes", "HelloWorld", reader.read(10));
+    }
+
+    /**
+     * @tests java.io.PipedOutputStream#write(byte[], int, int) Regression for
+     *        HARMONY-387
      */
     public void test_write$BII_2() throws IOException {
         PipedInputStream pis = new PipedInputStream();
         PipedOutputStream pos = null;
-        try{
+        try {
             pos = new PipedOutputStream(pis);
             pos.write(new byte[0], -1, -1);
             fail("IndexOutOfBoundsException expected");
@@ -191,7 +172,7 @@
                     "IndexOutOfBoundsException rather than a subclass expected",
                     IndexOutOfBoundsException.class, t.getClass());
         }
-        
+
         // Regression for HARMONY-4311
         try {
             pis = new PipedInputStream();
@@ -200,39 +181,29 @@
             fail("should throw NullPointerException.");
         } catch (NullPointerException e) {
             // expected
-        } 
+        }
+    }
+
+    /**
+     * @tests java.io.PipedOutputStream#write(int)
+     */
+    public void test_writeI() throws IOException {
+        out = new PipedOutputStream();
+        rt = new Thread(reader = new PReader(out));
+        rt.start();
+        out.write('c');
+        out.flush();
+        assertEquals("Wrote incorrect byte", "c", reader.read(1));
     }
 
-	/**
-	 * @tests java.io.PipedOutputStream#write(int)
-	 */
-	public void test_writeI() {
-		// Test for method void java.io.PipedOutputStream.write(int)
-		try {
-			out = new PipedOutputStream();
-			rt = new Thread(reader = new PReader(out));
-			rt.start();
-			out.write('c');
-			out.flush();
-			assertEquals("Wrote incorrect byte", "c", reader.read(1));
-		} catch (IOException e) {
-			fail("IOException during write test : " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Sets up the fixture, for example, open a network connection. This method
-	 * is called before a test is executed.
-	 */
-	protected void setUp() {
-	}
-
-	/**
-	 * Tears down the fixture, for example, close a network connection. This
-	 * method is called after a test is executed.
-	 */
-	protected void tearDown() {
-		if (rt != null)
-			rt.interrupt();
-	}
+    /**
+     * Tears down the fixture, for example, close a network connection. This
+     * method is called after a test is executed.
+     */
+    @Override
+    protected void tearDown() {
+        if (rt != null) {
+            rt.interrupt();
+        }
+    }
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedReaderTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedReaderTest.java?rev=617085&r1=617084&r2=617085&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedReaderTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/io/PipedReaderTest.java Thu Jan 31 02:04:05 2008
@@ -21,55 +21,55 @@
 import java.io.PipedReader;
 import java.io.PipedWriter;
 
-public class PipedReaderTest extends junit.framework.TestCase {
+import junit.framework.TestCase;
 
-	static class PWriter implements Runnable {
-		public PipedWriter pw;
+public class PipedReaderTest extends TestCase {
 
-		public PWriter(PipedReader reader) {
-			try {
-				pw = new PipedWriter(reader);
-			} catch (Exception e) {
-				System.out.println("Couldn't create writer");
-			}
-		}
-
-		public PWriter() {
-			pw = new PipedWriter();
-		}
-
-		public void run() {
-			try {
-				char[] c = new char[11];
-				"Hello World".getChars(0, 11, c, 0);
-				pw.write(c);
-				Thread.sleep(10000);
-			} catch (InterruptedException e) {
-			} catch (Exception e) {
-				System.out.println("Exception occurred: " + e.toString());
-			}
-		}
-	}
+    static class PWriter implements Runnable {
+        public PipedWriter pw;
 
-	PipedReader preader;
+        public PWriter(PipedReader reader) {
+            try {
+                pw = new PipedWriter(reader);
+            } catch (Exception e) {
+                System.out.println("Couldn't create writer");
+            }
+        }
+
+        public PWriter() {
+            pw = new PipedWriter();
+        }
+
+        public void run() {
+            try {
+                char[] c = new char[11];
+                "Hello World".getChars(0, 11, c, 0);
+                pw.write(c);
+                Thread.sleep(10000);
+            } catch (InterruptedException e) {
+            } catch (Exception e) {
+                System.out.println("Exception occurred: " + e.toString());
+            }
+        }
+    }
 
-	PWriter pwriter;
+    PipedReader preader;
 
-	Thread t;
+    PWriter pwriter;
 
-	/**
+    Thread t;
+
+    /**
      * @tests java.io.PipedReader#PipedReader()
      */
     public void test_Constructor() {
-    // Test for method java.io.PipedReader()
-    // Used in test
+        // Used in test
     }
 
     /**
      * @tests java.io.PipedReader#PipedReader(java.io.PipedWriter)
      */
     public void test_ConstructorLjava_io_PipedWriter() throws IOException {
-        // Test for method java.io.PipedReader(java.io.PipedWriter)
         preader = new PipedReader(new PipedWriter());
     }
     
@@ -121,7 +121,6 @@
      * @tests java.io.PipedReader#close()
      */
     public void test_close() throws Exception {
-        // Test for method void java.io.PipedReader.close()
         char[] c = null;
         preader = new PipedReader();
         t = new Thread(new PWriter(preader), "");
@@ -137,7 +136,6 @@
      * @tests java.io.PipedReader#connect(java.io.PipedWriter)
      */
     public void test_connectLjava_io_PipedWriter() throws Exception {
-        // Test for method void java.io.PipedReader.connect(java.io.PipedWriter)
         char[] c = null;
 
         preader = new PipedReader();
@@ -152,16 +150,15 @@
         try {
             preader.connect(pwriter.pw);
             fail("Failed to throw exception connecting to pre-connected reader");
-        } catch (Exception e) {
-            // Correct
+        } catch (IOException e) {
+            // Expected
         }
     }
 
-	/**
-	 * @tests java.io.PipedReader#read()
-	 */
-	public void test_read() throws Exception {
-        // Test for method int java.io.PipedReader.read()
+    /**
+     * @tests java.io.PipedReader#read()
+     */
+    public void test_read() throws Exception {
         char[] c = null;
         preader = new PipedReader();
         t = new Thread(new PWriter(preader), "");
@@ -174,11 +171,10 @@
         assertEquals("Read incorrect chars", "Hello World", new String(c));
     }
 
-	/**
-	 * @tests java.io.PipedReader#read(char[], int, int)
-	 */
-	public void test_read$CII() throws Exception {
-        // Test for method int java.io.PipedReader.read(char [], int, int)
+    /**
+     * @tests java.io.PipedReader#read(char[], int, int)
+     */
+    public void test_read$CII() throws Exception {
         char[] c = null;
         preader = new PipedReader();
         t = new Thread(new PWriter(preader), "");
@@ -196,16 +192,16 @@
             preader.close();
             preader.read(c, 8, 7);
             fail("Failed to throw exception reading from closed reader");
-        } catch (Exception e) {
-            // Correct
+        } catch (IOException e) {
+            // Expected
         }
     }
 
     /**
      * @tests java.io.PipedReader#read(char[], int, int)
-     * Regression for HARMONY-387
      */
-    public void test_read$CII_2() throws IOException{
+    public void test_read$CII_2() throws IOException {
+        // Regression for HARMONY-387
         PipedWriter pw = new PipedWriter();
         PipedReader obj = null;
         try {
@@ -232,6 +228,7 @@
         } catch (ArrayIndexOutOfBoundsException t) {
             fail("IndexOutOfBoundsException expected");
         } catch (IndexOutOfBoundsException t) {
+            // Expected
         }
     }
 
@@ -248,9 +245,10 @@
         } catch (ArrayIndexOutOfBoundsException t) {
             fail("IndexOutOfBoundsException expected");
         } catch (IndexOutOfBoundsException t) {
+            // Expected
         }
     }
-    
+
     /**
      * @tests java.io.PipedReader#read(char[], int, int)
      */
@@ -268,7 +266,7 @@
             pw = null;
             pr = null;
         }
-        
+
         pr = new PipedReader();
         buf = null;
         pr.close();
@@ -280,7 +278,7 @@
         } finally {
             pr = null;
         }
-        
+
         pw = new PipedWriter();
         pr = new PipedReader(pw);
         buf = new char[10];
@@ -294,7 +292,7 @@
             pw = null;
             pr = null;
         }
-        
+
         pw = new PipedWriter();
         pr = new PipedReader(pw);
         buf = new char[10];
@@ -308,7 +306,7 @@
             pw = null;
             pr = null;
         }
-        
+
         pw = new PipedWriter();
         pr = new PipedReader(pw);
         buf = new char[10];
@@ -322,7 +320,7 @@
             pw = null;
             pr = null;
         }
-        
+
         pw = new PipedWriter();
         pr = new PipedReader(pw);
         pr.close();
@@ -335,7 +333,7 @@
             pw = null;
             pr = null;
         }
-        
+
         pw = new PipedWriter();
         pr = new PipedReader(pw);
         pr.close();
@@ -348,7 +346,7 @@
             pw = null;
             pr = null;
         }
-        
+
         pw = new PipedWriter();
         pr = new PipedReader(pw);
         try {
@@ -360,7 +358,7 @@
             pw = null;
             pr = null;
         }
-        
+
         pw = new PipedWriter();
         pr = new PipedReader(pw);
         try {
@@ -372,7 +370,7 @@
             pw = null;
             pr = null;
         }
-        
+
         pw = new PipedWriter();
         pr = new PipedReader(pw);
         try {
@@ -384,7 +382,7 @@
             pw = null;
             pr = null;
         }
-        
+
         pw = new PipedWriter();
         pr = new PipedReader(pw);
         try {
@@ -399,10 +397,9 @@
     }
 
     /**
-	 * @tests java.io.PipedReader#ready()
-	 */
-	public void test_ready() throws Exception {
-        // Test for method boolean java.io.PipedReader.ready()
+     * @tests java.io.PipedReader#ready()
+     */
+    public void test_ready() throws Exception {
         char[] c = null;
         preader = new PipedReader();
         t = new Thread(new PWriter(preader), "");
@@ -416,14 +413,14 @@
                 preader.ready());
     }
 
-	/**
-	 * Tears down the fixture, for example, close a network connection. This
-	 * method is called after a test is executed.
-	 */
-	protected void tearDown() throws Exception {
-		if (t != null) {
-			t.interrupt();
+    /**
+     * Tears down the fixture, for example, close a network connection. This
+     * method is called after a test is executed.
+     */
+    protected void tearDown() throws Exception {
+        if (t != null) {
+            t.interrupt();
         }
         super.tearDown();
-	}
+    }
 }