On 18 July 2011 15:51, <ggreg...@apache.org> wrote: > Author: ggregory > Date: Mon Jul 18 14:51:14 2011 > New Revision: 1147907 > > URL: http://svn.apache.org/viewvc?rev=1147907&view=rev > Log: > Tests https://issues.apache.org/jira/browse/IO-277 (@Ignore'd). Port to JUnit > 4. > > Modified: > > commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/ReaderInputStreamTest.java > > Modified: > commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/ReaderInputStreamTest.java > URL: > http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/ReaderInputStreamTest.java?rev=1147907&r1=1147906&r2=1147907&view=diff > ============================================================================== > --- > commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/ReaderInputStreamTest.java > (original) > +++ > commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/ReaderInputStreamTest.java > Mon Jul 18 14:51:14 2011 > @@ -16,13 +16,19 @@ > */ > package org.apache.commons.io.input; > > +import static org.junit.Assert.assertEquals; > +import static org.junit.Assert.assertTrue; > + > +import java.io.CharArrayReader; > import java.io.IOException; > import java.io.StringReader; > +import java.nio.charset.Charset; > import java.util.Random; > > -import junit.framework.TestCase; > +import org.junit.Ignore; > +import org.junit.Test; > > -public class ReaderInputStreamTest extends TestCase { > +public class ReaderInputStreamTest { > private static final String TEST_STRING = "\u00e0 peine arriv\u00e9s nous > entr\u00e2mes dans sa chambre"; > private static final String LARGE_TEST_STRING; > > @@ -73,29 +79,61 @@ public class ReaderInputStreamTest exten > } > } > > + @Test > public void testUTF8WithSingleByteRead() throws IOException { > testWithSingleByteRead(TEST_STRING, "UTF-8"); > } > > + @Test > public void testLargeUTF8WithSingleByteRead() throws IOException { > testWithSingleByteRead(LARGE_TEST_STRING, "UTF-8"); > } > > + @Test > public void testUTF8WithBufferedRead() throws IOException { > testWithBufferedRead(TEST_STRING, "UTF-8"); > } > > + @Test > public void testLargeUTF8WithBufferedRead() throws IOException { > testWithBufferedRead(LARGE_TEST_STRING, "UTF-8"); > } > > + @Test > public void testUTF16WithSingleByteRead() throws IOException { > testWithSingleByteRead(TEST_STRING, "UTF-16"); > } > > + @Test > public void testReadZero() throws Exception { > ReaderInputStream r = new ReaderInputStream(new StringReader("test")); > byte[] bytes = new byte[30]; > assertEquals(0, r.read(bytes, 0, 0)); > } > + > + /** > + * Tests https://issues.apache.org/jira/browse/IO-277 > + * > + * @throws IOException > + */ > + @Test > + @Ignore > + public void testCharsetMismatchInfiniteLoop() throws IOException { > + // Input is UTF-8 bytes: 0xE0 0xB2 0xA0 > + byte[] input = new byte[] { (byte) 0xE0, (byte) 0xB2, (byte) 0xA0 }; > + char[] inputChars = new char[] { (char) 0xE0, (char) 0xB2, (char) > 0xA0 }; > + System.out.println("Input: " + new String(input, > Charset.forName("UTF-8")));
This does not compile on Java 1.5, because the ctor is 1.6+. Could use System.out.println("Input: " + new String(input, "UTF-8")); instead, but tests should not have unnecessary output. I suggest deleting "input" and the println statement. > + > + // Charset charset = Charset.forName("UTF-8"); // works > + Charset charset = Charset.forName("ASCII"); // infinite loop > + > + ReaderInputStream stream = new ReaderInputStream(new > CharArrayReader(inputChars), charset); > + try { > + while (stream.read() != -1) { > + } > + } finally { > + stream.close(); > + } > + > + } > } > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org