| package org.apache.maven.shared.utils.io; |
| |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| import org.junit.Test; |
| |
| import java.io.BufferedInputStream; |
| import java.io.BufferedOutputStream; |
| import java.io.BufferedReader; |
| import java.io.BufferedWriter; |
| import java.io.ByteArrayInputStream; |
| import java.io.ByteArrayOutputStream; |
| import java.io.IOException; |
| import java.io.InputStream; |
| import java.io.OutputStream; |
| import java.io.Reader; |
| import java.io.StringReader; |
| import java.io.StringWriter; |
| import java.io.UnsupportedEncodingException; |
| import java.io.Writer; |
| import java.util.concurrent.atomic.AtomicBoolean; |
| |
| import static org.hamcrest.CoreMatchers.is; |
| import static org.hamcrest.MatcherAssert.assertThat; |
| |
| @SuppressWarnings( "deprecation" ) |
| public class IOUtilTest |
| { |
| |
| private static final long INFINITE_LOOP_TIMEOUT = 500; |
| |
| @Test |
| public void closeReaderWithNull() |
| throws Exception |
| { |
| IOUtil.close( (Reader) null ); |
| } |
| |
| @Test |
| public void closeWriterWithNull() |
| throws Exception |
| { |
| IOUtil.close( (Writer) null ); |
| } |
| |
| @Test |
| public void closeInputStreamWithNull() |
| throws Exception |
| { |
| IOUtil.close( nullInputStream() ); |
| } |
| |
| @Test |
| public void closeOutputStreamWithNull() |
| throws Exception |
| { |
| IOUtil.close( nullOutputStream() ); |
| } |
| |
| @Test |
| public void closeReaderWithIOE() |
| throws Exception |
| { |
| IOUtil.close( new BufferedReader( new StringReader( emptyString() ) ) |
| { |
| @Override |
| public void close() |
| throws IOException |
| { |
| super.close(); |
| throw new IOException( "don't bomb out" ); |
| } |
| } ); |
| } |
| |
| @Test |
| public void closeWriterWithIOE() |
| throws Exception |
| { |
| IOUtil.close( new BufferedWriter( new StringWriter() ) |
| { |
| @Override |
| public void close() |
| throws IOException |
| { |
| super.close(); |
| throw new IOException( "don't bomb out" ); |
| } |
| } ); |
| } |
| |
| @Test |
| public void closeInputStreamWithIOE() |
| throws Exception |
| { |
| IOUtil.close( new BufferedInputStream( emptyInputStream() ) |
| { |
| @Override |
| public void close() |
| throws IOException |
| { |
| super.close(); |
| throw new IOException( "don't bomb out" ); |
| } |
| } ); |
| } |
| |
| @Test |
| public void closeOutputStreamWithIOE() |
| throws Exception |
| { |
| IOUtil.close( new BufferedOutputStream( new ByteArrayOutputStream() ) |
| { |
| @Override |
| public void close() |
| throws IOException |
| { |
| super.close(); |
| throw new IOException( "don't bomb out" ); |
| } |
| } ); |
| } |
| |
| @Test |
| public void closeReaderCloses() |
| throws Exception |
| { |
| final AtomicBoolean closed = new AtomicBoolean( false ); |
| IOUtil.close( new BufferedReader( new StringReader( emptyString() ) ) |
| { |
| @Override |
| public void close() |
| throws IOException |
| { |
| closed.set( true ); |
| super.close(); |
| } |
| } ); |
| assertThat( closed.get(), is( true ) ); |
| } |
| |
| @Test |
| public void closeWriterCloses() |
| throws Exception |
| { |
| final AtomicBoolean closed = new AtomicBoolean( false ); |
| IOUtil.close( new BufferedWriter( new StringWriter() ) |
| { |
| @Override |
| public void close() |
| throws IOException |
| { |
| closed.set( true ); |
| super.close(); |
| } |
| } ); |
| assertThat( closed.get(), is( true ) ); |
| } |
| |
| @Test |
| public void closeInputStreamCloses() |
| throws Exception |
| { |
| final AtomicBoolean closed = new AtomicBoolean( false ); |
| IOUtil.close( new BufferedInputStream( emptyInputStream() ) |
| { |
| @Override |
| public void close() |
| throws IOException |
| { |
| closed.set( true ); |
| super.close(); |
| } |
| } ); |
| assertThat( closed.get(), is( true ) ); |
| } |
| |
| @Test |
| public void closeOutputStreamCloses() |
| throws Exception |
| { |
| final AtomicBoolean closed = new AtomicBoolean( false ); |
| IOUtil.close( new BufferedOutputStream( new ByteArrayOutputStream() ) |
| { |
| @Override |
| public void close() |
| throws IOException |
| { |
| closed.set( true ); |
| super.close(); |
| } |
| } ); |
| assertThat( closed.get(), is( true ) ); |
| } |
| |
| @Test |
| public void toByteArrayFromString() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toByteArray( probe ), is( probe.getBytes() ) ); |
| } |
| |
| @Test |
| public void toByteArrayFromReader() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toByteArray( new StringReader( probe ) ), is( probe.getBytes() ) ); |
| } |
| |
| @Test |
| public void toByteArrayFromInputStream() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toByteArray( new DontCloseByteArrayInputStream( IOUtil.toByteArray( probe ) ) ), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toByteArrayNullString() |
| throws Exception |
| { |
| IOUtil.toByteArray( (String) null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toByteArrayNullReader() |
| throws Exception |
| { |
| IOUtil.toByteArray( (Reader) null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toByteArrayNullInputStream() |
| throws Exception |
| { |
| IOUtil.toByteArray( nullInputStream() ); |
| } |
| |
| @Test( expected = IOException.class ) |
| public void contentEqualNullNull() |
| throws Exception |
| { |
| IOUtil.contentEquals( null, null ); |
| } |
| |
| @Test( expected = IOException.class ) |
| public void contentEqualNonNullNull() |
| throws Exception |
| { |
| IOUtil.contentEquals( new DontCloseByteArrayInputStream( emptyByteArray() ), null ); |
| } |
| |
| @Test( expected = IOException.class ) |
| public void contentEqualNullNonNull() |
| throws Exception |
| { |
| IOUtil.contentEquals( new DontCloseByteArrayInputStream( emptyByteArray() ), null ); |
| } |
| |
| @Test |
| public void contentEqualEmptyEmpty() |
| throws Exception |
| { |
| assertThat( IOUtil.contentEquals( new DontCloseByteArrayInputStream( emptyByteArray() ), |
| new DontCloseByteArrayInputStream( emptyByteArray() ) ), is( true ) ); |
| } |
| |
| @Test |
| public void contentEqualNonEmptyEmpty() |
| throws Exception |
| { |
| assertThat( IOUtil.contentEquals( new DontCloseByteArrayInputStream( new byte[1] ), |
| new DontCloseByteArrayInputStream( emptyByteArray() ) ), is( false ) ); |
| } |
| |
| @Test |
| public void contentEqualEmptyNonEmpty() |
| throws Exception |
| { |
| assertThat( IOUtil.contentEquals( new DontCloseByteArrayInputStream( emptyByteArray() ), |
| new DontCloseByteArrayInputStream( new byte[1] ) ), is( false ) ); |
| } |
| |
| @Test |
| public void contentEqualNonEmptyNonEmpty() |
| throws Exception |
| { |
| assertThat( IOUtil.contentEquals( new DontCloseByteArrayInputStream( new byte[1] ), |
| new DontCloseByteArrayInputStream( new byte[1] ) ), is( true ) ); |
| } |
| |
| @Test |
| public void contentEqualMostlySame() |
| throws Exception |
| { |
| assertThat( IOUtil.contentEquals( new DontCloseByteArrayInputStream( new byte[]{ 1, 2, 3, 4, 5, 6 } ), |
| new DontCloseByteArrayInputStream( new byte[]{ 1, 2, 3, 4, 5, 7 } ) ), |
| is( false ) ); |
| } |
| |
| @Test |
| public void contentEqualLargeSame() |
| throws Exception |
| { |
| assertThat( IOUtil.contentEquals( new DontCloseByteArrayInputStream( new byte[8192] ), |
| new DontCloseByteArrayInputStream( new byte[8192] ) ), is( true ) ); |
| } |
| |
| @Test |
| public void contentEqualLargeDifferent() |
| throws Exception |
| { |
| byte[] buf = new byte[8192]; |
| buf[8191] = 1; |
| assertThat( IOUtil.contentEquals( new DontCloseByteArrayInputStream( new byte[8192] ), |
| new DontCloseByteArrayInputStream( buf ) ), is( false ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullByteArray() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray() ); |
| } |
| |
| @Test |
| public void toStringEmptyByteArray() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray() ), is( emptyString() ) ); |
| } |
| |
| @Test |
| public void toStringByteArray() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes() ).getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullByteArrayNegBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toStringEmptyByteArrayNegBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray(), -1 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toStringByteArrayNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes(), -1 ), is( probe ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringNullByteArrayZeroBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullByteArrayPosBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), 1 ); |
| } |
| |
| @Test |
| public void toStringEmptyByteArrayPosBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray(), 1 ), is( emptyString() ) ); |
| } |
| |
| @Test |
| public void toStringByteArrayPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes(), 1 ).getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullByteArrayNullEncoding() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringEmptyByteArrayNullEncoding() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray(), null ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringByteArrayNullEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes(), null ).getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullByteArrayJunkEncoding() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), "junk" ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void toStringEmptyByteArrayJunkEncoding() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray(), "junk" ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void toStringByteArrayJunkEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes(), "junk" ).getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullByteArrayValidEncoding() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), "utf-16" ); |
| } |
| |
| @Test |
| public void toStringEmptyByteArrayValidEncoding() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray(), "utf-16" ), is( emptyString() ) ); |
| } |
| |
| @Test |
| public void toStringByteArrayValidEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes( "utf-16" ), "utf-16" ).getBytes( "utf-8" ), |
| is( probe.getBytes( "utf-8" ) ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullByteArrayNullEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), null, -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringEmptyByteArrayNullEncodingNegBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray(), null, -1 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringByteArrayNullEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes(), null, -1 ).getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullByteArrayJunkEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), "junk", -1 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void toStringEmptyByteArrayJunkEncodingNegBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray(), "junk", -1 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void toStringByteArrayJunkEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes(), "junk", -1 ).getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullByteArrayValidEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), "utf-16", -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toStringEmptyByteArrayValidEncodingNegBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray(), "utf-16", -1 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toStringByteArrayValidEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes( "utf-16" ), "utf-16", -1 ).getBytes( "utf-8" ), |
| is( probe.getBytes( "utf-8" ) ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringNullByteArrayNullEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), null, 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringEmptyByteArrayNullEncodingZeroBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray(), null, 0 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringByteArrayNullEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes(), null, 0 ).getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringNullByteArrayJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), "junk", 0 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringEmptyByteArrayJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyByteArray(), "junk", 0 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringByteArrayJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( probe.getBytes(), "junk", 0 ).getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringNullByteArrayValidEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullByteArray(), "utf-16", 0 ); |
| } |
| |
| /* |
| * copy(byte[],OutputStream) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullOutputStream() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayValidOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseByteArrayOutputStream() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyByteArrayNullOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullOutputStream() ); |
| } |
| |
| @Test |
| public void copyEmptyByteArrayValidOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), new DontCloseByteArrayOutputStream() ); |
| } |
| |
| @Test |
| public void copyByteArrayValidOutputStream() |
| throws Exception |
| { |
| ByteArrayOutputStream outputStream = new DontCloseByteArrayOutputStream(); |
| byte[] input = { 1, 2, 3, 4, 5, 6 }; |
| IOUtil.copy( input, outputStream ); |
| assertThat( outputStream.toByteArray(), is( input ) ); |
| } |
| |
| /* |
| * copy(byte[],OutputStream,int) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullOutputStream()); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseByteArrayOutputStream()); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyByteArrayNullOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullOutputStream()); |
| } |
| |
| @Test |
| public void copyEmptyByteArrayValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), new DontCloseByteArrayOutputStream()); |
| } |
| |
| @Test |
| public void copyByteArrayValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| ByteArrayOutputStream outputStream = new DontCloseByteArrayOutputStream(); |
| byte[] input = { 1, 2, 3, 4, 5, 6 }; |
| IOUtil.copy( input, outputStream); |
| assertThat( outputStream.toByteArray(), is( input ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayNullOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullOutputStream()); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayValidOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseByteArrayOutputStream()); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyByteArrayNullOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullOutputStream()); |
| } |
| |
| @Test( timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyByteArrayValidOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), new DontCloseByteArrayOutputStream()); |
| } |
| |
| @Test( timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyByteArrayValidOutputStreamZeroBufSz() |
| throws Exception |
| { |
| ByteArrayOutputStream outputStream = new DontCloseByteArrayOutputStream(); |
| byte[] input = { 1, 2, 3, 4, 5, 6 }; |
| IOUtil.copy( input, outputStream); |
| assertThat( outputStream.toByteArray(), is( input ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayNullOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullOutputStream()); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseByteArrayOutputStream()); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyByteArrayNullOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullOutputStream()); |
| } |
| |
| @Test( timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyByteArrayValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), new DontCloseByteArrayOutputStream()); |
| } |
| |
| @Test( timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyByteArrayValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| ByteArrayOutputStream outputStream = new DontCloseByteArrayOutputStream(); |
| byte[] input = { 1, 2, 3, 4, 5, 6 }; |
| IOUtil.copy( input, outputStream); |
| assertThat( outputStream.toByteArray(), is( input ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamNullOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullOutputStream() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamValidOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseByteArrayOutputStream() ); |
| } |
| |
| @Test |
| public void copyEmptyInputStreamNullOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( new DontCloseByteArrayInputStream( emptyByteArray() ), nullOutputStream() ); |
| } |
| |
| @Test |
| public void copyEmptyInputStreamValidOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( new DontCloseByteArrayInputStream( emptyByteArray() ), new DontCloseByteArrayOutputStream() ); |
| } |
| |
| @Test |
| public void copyInputStreamValidOutputStream() |
| throws Exception |
| { |
| ByteArrayOutputStream outputStream = new DontCloseByteArrayOutputStream(); |
| byte[] input = { 1, 2, 3, 4, 5, 6 }; |
| IOUtil.copy( new DontCloseByteArrayInputStream( input ), outputStream ); |
| assertThat( outputStream.toByteArray(), is( input ) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyNullInputStreamNullOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullOutputStream(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyNullInputStreamValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseByteArrayOutputStream(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyInputStreamNullOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( new DontCloseByteArrayInputStream( emptyByteArray() ), nullOutputStream(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyInputStreamValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( new DontCloseByteArrayInputStream( emptyByteArray() ), new DontCloseByteArrayOutputStream(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyInputStreamValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| ByteArrayOutputStream outputStream = new DontCloseByteArrayOutputStream(); |
| byte[] input = { 1, 2, 3, 4, 5, 6 }; |
| IOUtil.copy( new DontCloseByteArrayInputStream( input ), outputStream, -1 ); |
| assertThat( outputStream.toByteArray(), is( input ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamNullOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullOutputStream(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamValidOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new ByteArrayOutputStream(), 0 ); |
| } |
| |
| @Test( timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyInputStreamNullOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( new DontCloseByteArrayInputStream( emptyByteArray() ), nullOutputStream(), 0 ); |
| } |
| |
| @Test( timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyInputStreamValidOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( new DontCloseByteArrayInputStream( emptyByteArray() ), new DontCloseByteArrayOutputStream(), 0 ); |
| } |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamNullOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullOutputStream(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new ByteArrayOutputStream(), 1 ); |
| } |
| |
| @Test( timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyInputStreamNullOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( new DontCloseByteArrayInputStream( emptyByteArray() ), nullOutputStream(), 1 ); |
| } |
| |
| @Test( timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyInputStreamValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( new DontCloseByteArrayInputStream( emptyByteArray() ), new DontCloseByteArrayOutputStream(), 1 ); |
| } |
| |
| @Test( timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyInputStreamValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| ByteArrayOutputStream outputStream = new DontCloseByteArrayOutputStream(); |
| byte[] input = { 1, 2, 3, 4, 5, 6 }; |
| IOUtil.copy( new DontCloseByteArrayInputStream( input ), outputStream, 1 ); |
| assertThat( outputStream.toByteArray(), is( input ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullInputStream() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream() ); |
| } |
| |
| @Test |
| public void toStringEmptyInputStream() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream() ), is( emptyString() ) ); |
| } |
| |
| @Test |
| public void toStringInputStream() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new ByteArrayInputStream( probe.getBytes() ) ).getBytes(), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullInputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toStringEmptyInputStreamNegBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream(), -1 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toStringInputStreamNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new ByteArrayInputStream( probe.getBytes() ), -1 ), is( probe ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringNullInputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullInputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), 1 ); |
| } |
| |
| @Test |
| public void toStringEmptyInputStreamPosBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream(), 1 ), is( emptyString() ) ); |
| } |
| |
| @Test |
| public void toStringInputStreamPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new ByteArrayInputStream( probe.getBytes() ), 1 ).getBytes(), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullInputStreamNullEncoding() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringEmptyInputStreamNullEncoding() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream(), null ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringInputStreamNullEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new ByteArrayInputStream( probe.getBytes() ), null ).getBytes(), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullInputStreamJunkEncoding() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), "junk" ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void toStringEmptyInputStreamJunkEncoding() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream(), "junk" ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void toStringInputStreamJunkEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new ByteArrayInputStream( probe.getBytes() ), "junk" ).getBytes(), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullInputStreamValidEncoding() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), "utf-16" ); |
| } |
| |
| @Test |
| public void toStringEmptyInputStreamValidEncoding() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream(), "utf-16" ), is( emptyString() ) ); |
| } |
| |
| @Test |
| public void toStringInputStreamValidEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( |
| IOUtil.toString( new ByteArrayInputStream( probe.getBytes( "utf-16" ) ), "utf-16" ).getBytes( "utf-8" ), |
| is( probe.getBytes( "utf-8" ) ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullInputStreamNullEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), null, -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringEmptyInputStreamNullEncodingNegBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream(), null, -1 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringInputStreamNullEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new ByteArrayInputStream( probe.getBytes() ), null, -1 ).getBytes(), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullInputStreamJunkEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), "junk", -1 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void toStringEmptyInputStreamJunkEncodingNegBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream(), "junk", -1 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void toStringInputStreamJunkEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new ByteArrayInputStream( probe.getBytes() ), "junk", -1 ).getBytes(), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullInputStreamValidEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), "utf-16", -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toStringEmptyInputStreamValidEncodingNegBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream(), "utf-16", -1 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toStringInputStreamValidEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( |
| IOUtil.toString( new ByteArrayInputStream( probe.getBytes( "utf-16" ) ), "utf-16", -1 ).getBytes( "utf-8" ), |
| is( probe.getBytes( "utf-8" ) ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringNullInputStreamNullEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), null, 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringEmptyInputStreamNullEncodingZeroBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream(), null, 0 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringInputStreamNullEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new ByteArrayInputStream( probe.getBytes() ), null, 0 ).getBytes(), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringNullInputStreamJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), "junk", 0 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringEmptyInputStreamJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| assertThat( IOUtil.toString( emptyInputStream(), "junk", 0 ), is( emptyString() ) ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringInputStreamJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new ByteArrayInputStream( probe.getBytes() ), "junk", 0 ).getBytes(), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void toStringNullInputStreamValidEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullInputStream(), "utf-16", 0 ); |
| } |
| |
| /* |
| * copy(InputStream,Writer) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamNullWriter() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyInputStreamNullWriter() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter() ); |
| } |
| |
| @Test |
| public void copyEmptyInputStreamValidWriter() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyInputStream(), writer ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyInputStreamNullWriter() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), nullWriter() ); |
| } |
| |
| @Test |
| public void copyInputStreamValidWriter() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), writer ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| /* |
| * copy(InputStream,Writer,int) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamNullWriterNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyInputStreamNullWriterNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyInputStreamValidWriterNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), new DontCloseStringWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyInputStreamNullWriterNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyInputStreamValidWriterNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), writer, -1 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamNullWriterZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamValidWriterZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyInputStreamNullWriterZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamNullWriterPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamValidWriterPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyInputStreamNullWriterPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), 1 ); |
| } |
| |
| @Test |
| public void copyEmptyInputStreamValidWriterPosBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyInputStream(), writer, 1 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test |
| public void copyInputStreamValidWriterPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), writer, 1 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| /* |
| * copy(InputStream,Writer,String) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamNullWriterNullEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamValidWriterNullEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyInputStreamNullWriterNullEncoding() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyInputStreamValidWriterNullEncoding() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), new DontCloseStringWriter(), null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyInputStreamNullEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), writer, null ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamNullWriterJunkEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), "junk" ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamValidWriterJunkEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), "junk" ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyEmptyInputStreamNullWriterJunkEncoding() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), "junk" ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyEmptyInputStreamValidWriterJunkEncoding() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), new DontCloseStringWriter(), "junk" ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyInputStreamNullWriterJunkEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), nullWriter(), "junk" ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyInputStreamValidWriterJunkEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), writer, "junk" ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamNullWriterValidEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), "utf-16" ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyInputStreamNullWriterValidEncoding() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), "utf-16" ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamValidWriterValidEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), "utf-16" ); |
| } |
| |
| @Test |
| public void copyEmptyInputStreamValidWriterValidEncoding() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyInputStream(), writer, "utf-16" ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyInputStreamNullWriterValidEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes( "utf-16" ) ), nullWriter(), "utf-16" ); |
| } |
| |
| @Test |
| public void copyInputStreamValidWriterValidEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes( "utf-16" ) ), writer, "utf-16" ); |
| assertThat( writer.toString().getBytes( "utf-8" ), is( probe.getBytes( "utf-8" ) ) ); |
| } |
| |
| /* |
| * copy(InputStream,Writer,String,int) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamNullWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), null, -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamValidWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), null, -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyInputStreamNullWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), null, -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyInputStreamValidWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyInputStream(), writer, null, -1 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyInputStreamNullWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), nullWriter(), null, -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyInputStreamValidWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), writer, null, -1 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamNullWriterJunkEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), "junk", -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamValidWriterJunkEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), "junk", -1 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyEmptyInputStreamNullWriterJunkEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), "junk", -1 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyEmptyInputStreamJunkEncodingNegBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyInputStream(), writer, "junk", -1 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyInputStreamNullWriterJunkEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), nullWriter(), "junk", -1 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyInputStreamValidWriterJunkEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), writer, "junk", -1 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamNullWriterValidEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), "utf-16", -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullInputStreamValidWriterValidEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), "utf-16", -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyInputStreamNullWriterValidEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), "utf-16", -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyInputStreamValidWriterValidEncodingNegBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyInputStream(), writer, "utf-16", -1 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyInputStreamNullWriterValidEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes( "utf-16" ) ), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyInputStreamValidEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes( "utf-16" ) ), writer, "utf-16", -1 ); |
| assertThat( writer.toString().getBytes( "utf-8" ), is( probe.getBytes( "utf-8" ) ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamNullWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), null, 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamValidWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), null, 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyInputStreamNullWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), null, 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyInputStreamValidWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyInputStream(), writer, null, 0 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyInputStreamNullWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), nullWriter(), null, 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyInputStreamValidWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), writer, null, 0 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamNullWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), "junk", 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamValidWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), "junk", 0 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyInputStreamNullWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyInputStream(), nullWriter(), "junk", 0 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyInputStreamValidWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyInputStream(), writer, "junk", 0 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyInputStreamNullWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), nullWriter(), "junk", 0 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyInputStreamValidWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new ByteArrayInputStream( probe.getBytes() ), writer, "junk", 0 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamNullWriterValidEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), nullWriter(), "utf-16", 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullInputStreamValidWriterValidEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullInputStream(), new DontCloseStringWriter(), "utf-16", 0 ); |
| } |
| |
| /* |
| * copy(String,Writer) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullStringNullWriter() |
| throws Exception |
| { |
| IOUtil.copy( nullString(), nullWriter() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyStringNullWriter() |
| throws Exception |
| { |
| IOUtil.copy( emptyString(), nullWriter() ); |
| } |
| |
| @Test |
| public void copyNullStringValidWriter() |
| throws Exception |
| { |
| IOUtil.copy( nullString(), new DontCloseStringWriter() ); |
| } |
| |
| @Test |
| public void copyEmptyStringValidWriter() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyString(), writer ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyStringNullWriter() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe, nullWriter() ); |
| } |
| |
| @Test |
| public void copyStringValidWriter() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe, writer ); |
| assertThat( writer.toString(), is( probe ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullStringNullOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( nullString(), nullOutputStream() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyStringNullOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( emptyString(), nullOutputStream() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullStringValidOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( nullString(), new DontCloseByteArrayOutputStream() ); |
| } |
| |
| @Test |
| public void copyEmptyStringValidOutputStream() |
| throws Exception |
| { |
| ByteArrayOutputStream OutputStream = new DontCloseByteArrayOutputStream(); |
| IOUtil.copy( emptyString(), OutputStream ); |
| assertThat( OutputStream.toByteArray(), is( emptyString().getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyStringNullOutputStream() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe, nullOutputStream() ); |
| } |
| |
| @Test |
| public void copyStringValidOutputStream() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| ByteArrayOutputStream OutputStream = new DontCloseByteArrayOutputStream(); |
| IOUtil.copy( probe, OutputStream ); |
| assertThat( OutputStream.toByteArray(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullStringNullOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullString(), nullOutputStream(), -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyStringNullOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyString(), nullOutputStream(), -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullStringValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullString(), new DontCloseByteArrayOutputStream(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyStringValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| ByteArrayOutputStream OutputStream = new DontCloseByteArrayOutputStream(); |
| IOUtil.copy( emptyString(), OutputStream, -1 ); |
| assertThat( OutputStream.toByteArray(), is( emptyString().getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyStringNullOutputStreamNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe, nullOutputStream(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyStringValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| ByteArrayOutputStream OutputStream = new DontCloseByteArrayOutputStream(); |
| IOUtil.copy( probe, OutputStream, -1 ); |
| assertThat( OutputStream.toByteArray(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullStringNullOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullString(), nullOutputStream(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyStringNullOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyString(), nullOutputStream(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullStringValidOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullString(), new DontCloseByteArrayOutputStream(), 0 ); |
| } |
| @Test( expected = NullPointerException.class ) |
| public void copyNullStringNullOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullString(), nullOutputStream(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyStringNullOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyString(), nullOutputStream(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullStringValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullString(), new DontCloseByteArrayOutputStream(), 1 ); |
| } |
| |
| @Test |
| public void copyEmptyStringValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| ByteArrayOutputStream OutputStream = new DontCloseByteArrayOutputStream(); |
| IOUtil.copy( emptyString(), OutputStream, 1 ); |
| assertThat( OutputStream.toByteArray(), is( emptyString().getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyStringNullOutputStreamPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe, nullOutputStream(), 1 ); |
| } |
| |
| @Test |
| public void copyStringValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| ByteArrayOutputStream OutputStream = new DontCloseByteArrayOutputStream(); |
| IOUtil.copy( probe, OutputStream, 1 ); |
| assertThat( OutputStream.toByteArray(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullReaderNullWriter() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), nullWriter() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyReaderNullWriter() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), nullWriter() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullReaderValidWriter() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), new DontCloseStringWriter() ); |
| } |
| |
| @Test |
| public void copyEmptyReaderValidWriter() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyReader(), writer ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyReaderNullWriter() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new StringReader( probe ), nullWriter() ); |
| } |
| |
| @Test |
| public void copyReaderValidWriter() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new StringReader( probe ), writer ); |
| assertThat( writer.toString(), is( probe ) ); |
| } |
| |
| /* |
| * copy(Reader,Writer,int) |
| */ |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyNullReaderNullWriterNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyReaderNullWriterNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyNullReaderValidWriterNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), new DontCloseStringWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyReaderValidWriterNegBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyReader(), writer, -1 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyReaderNullWriterNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new StringReader( probe ), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyReaderValidWriterNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new StringReader( probe ), writer, -1 ); |
| assertThat( writer.toString(), is( probe ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullReaderNullWriterZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), nullWriter(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyReaderNullWriterZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), nullWriter(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullReaderValidWriterZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), new DontCloseStringWriter(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullReaderNullWriterPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), nullWriter(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyReaderNullWriterPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), nullWriter(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullReaderValidWriterPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), new DontCloseStringWriter(), 1 ); |
| } |
| |
| @Test |
| public void copyEmptyReaderValidWriterPosBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyReader(), writer, 1 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyReaderNullWriterPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new StringReader( probe ), nullWriter(), 1 ); |
| } |
| |
| @Test |
| public void copyReaderValidWriterPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( new StringReader( probe ), writer, 1 ); |
| assertThat( writer.toString(), is( probe ) ); |
| } |
| |
| /* |
| * toByteArray(InputStream,int) |
| */ |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toByteArrayFromInputStreamNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toByteArray( new DontCloseByteArrayInputStream( IOUtil.toByteArray( probe ) ), -1 ), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toByteArrayNullInputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.toByteArray( nullInputStream(), -1 ); |
| } |
| |
| @Test |
| public void toByteArrayFromInputStreamPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toByteArray( new DontCloseByteArrayInputStream( IOUtil.toByteArray( probe ) ), +1 ), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toByteArrayNullInputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.toByteArray( nullInputStream(), +1 ); |
| } |
| |
| /* |
| * toByteArray(Reader,int) |
| */ |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toByteArrayFromReaderNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toByteArray( new DontCloseStringReader( probe ), -1 ), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toByteArrayNullReaderNegBufSz() |
| throws Exception |
| { |
| IOUtil.toByteArray( nullReader(), -1 ); |
| } |
| |
| @Test |
| public void toByteArrayFromReaderPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toByteArray( new DontCloseStringReader( probe ), +1 ), |
| is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toByteArrayNullReaderPosBufSz() |
| throws Exception |
| { |
| IOUtil.toByteArray( nullReader(), +1 ); |
| } |
| |
| /* |
| * toByteArray(String,int) |
| */ |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toByteArrayFromStringNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toByteArray( probe, -1 ), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toByteArrayNullStringNegBufSz() |
| throws Exception |
| { |
| IOUtil.toByteArray( nullString(), -1 ); |
| } |
| |
| @Test |
| public void toByteArrayFromStringPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toByteArray( probe, +1 ), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toByteArrayNullStringPosBufSz() |
| throws Exception |
| { |
| IOUtil.toByteArray( nullString(), +1 ); |
| } |
| |
| /* |
| * toString(Reader,int) |
| */ |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toStringFromReaderNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new DontCloseStringReader( probe ), -1 ), |
| is( probe) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void toStringNullReaderNegBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullReader(), -1 ); |
| } |
| |
| @Test |
| public void toStringFromReaderPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| assertThat( IOUtil.toString( new DontCloseStringReader( probe ), +1 ), |
| is( probe) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void toStringNullReaderPosBufSz() |
| throws Exception |
| { |
| IOUtil.toString( nullReader(), +1 ); |
| } |
| |
| /* |
| * copy(Reader,OutputStream) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullReaderNullOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), nullOutputStream() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullReaderValidOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), new DontCloseByteArrayOutputStream() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyReaderNullOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), nullOutputStream() ); |
| } |
| |
| @Test |
| public void copyEmptyReaderValidOutputStream() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), new DontCloseByteArrayOutputStream() ); |
| } |
| |
| @Test |
| public void copyReaderValidOutputStream() |
| throws Exception |
| { |
| ByteArrayOutputStream outputStream = new DontCloseByteArrayOutputStream(); |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new DontCloseStringReader( probe ), outputStream ); |
| assertThat( outputStream.toByteArray(), is( probe.getBytes()) ); |
| } |
| |
| /* |
| * copy(Reader,OutputStream,int) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullReaderNullOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), nullOutputStream(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyNullReaderValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), new DontCloseByteArrayOutputStream(), -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyReaderNullOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), nullOutputStream(), -1 ); |
| } |
| |
| @Test(expected = NegativeArraySizeException.class) |
| public void copyEmptyReaderValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), new DontCloseByteArrayOutputStream(), -1 ); |
| } |
| |
| @Test(expected = NegativeArraySizeException.class) |
| public void copyReaderValidOutputStreamNegBufSz() |
| throws Exception |
| { |
| ByteArrayOutputStream outputStream = new DontCloseByteArrayOutputStream(); |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new DontCloseStringReader( probe ), outputStream, -1 ); |
| assertThat( outputStream.toByteArray(), is( probe.getBytes()) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullReaderNullOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), nullOutputStream(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullReaderValidOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), new DontCloseByteArrayOutputStream(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyReaderNullOutputStreamZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), nullOutputStream(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullReaderNullOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), nullOutputStream(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullReaderValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullReader(), new DontCloseByteArrayOutputStream(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyReaderNullOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), nullOutputStream(), 1 ); |
| } |
| |
| @Test |
| public void copyEmptyReaderValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyReader(), new DontCloseByteArrayOutputStream(), 1 ); |
| } |
| |
| @Test |
| public void copyReaderValidOutputStreamPosBufSz() |
| throws Exception |
| { |
| ByteArrayOutputStream outputStream = new DontCloseByteArrayOutputStream(); |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( new DontCloseStringReader( probe ), outputStream, 1 ); |
| assertThat( outputStream.toByteArray(), is( probe.getBytes()) ); |
| } |
| |
| /* |
| * copy(byte[],Writer) |
| */ |
| |
| /* |
| * copy(byte[],Writer,int) |
| */ |
| |
| /* |
| * copy(byte[],Writer,String) |
| */ |
| |
| /* |
| * copy(byte[],Writer,String,int) |
| */ |
| /* |
| * copy(byte[],Writer) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullWriter() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter() ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyByteArrayNullWriter() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter() ); |
| } |
| |
| @Test |
| public void copyEmptyByteArrayValidWriter() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyByteArray(), writer ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyByteArrayNullWriter() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe.getBytes(), nullWriter() ); |
| } |
| |
| @Test |
| public void copyByteArrayValidWriter() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes(), writer ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| /* |
| * copy(byte[],Writer,int) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullWriterNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyByteArrayNullWriterNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyByteArrayValidWriterNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), new DontCloseStringWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyByteArrayNullWriterNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe.getBytes(), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyByteArrayValidWriterNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes(), writer, -1 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayNullWriterZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayValidWriterZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyByteArrayNullWriterZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullWriterPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayValidWriterPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), 1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyByteArrayNullWriterPosBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), 1 ); |
| } |
| |
| @Test |
| public void copyEmptyByteArrayValidWriterPosBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyByteArray(), writer, 1 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test |
| public void copyByteArrayValidWriterPosBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes(), writer, 1 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| /* |
| * copy(byte[],Writer,String) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullWriterNullEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayValidWriterNullEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyByteArrayNullWriterNullEncoding() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyByteArrayValidWriterNullEncoding() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), new DontCloseStringWriter(), null ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyByteArrayNullEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes(), writer, null ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullWriterJunkEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), "junk" ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayValidWriterJunkEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), "junk" ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyEmptyByteArrayNullWriterJunkEncoding() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), "junk" ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyEmptyByteArrayValidWriterJunkEncoding() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), new DontCloseStringWriter(), "junk" ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyByteArrayNullWriterJunkEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe.getBytes(), nullWriter(), "junk" ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyByteArrayValidWriterJunkEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes(), writer, "junk" ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullWriterValidEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), "utf-16" ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyByteArrayNullWriterValidEncoding() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), "utf-16" ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayValidWriterValidEncoding() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), "utf-16" ); |
| } |
| |
| @Test |
| public void copyEmptyByteArrayValidWriterValidEncoding() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyByteArray(), writer, "utf-16" ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyByteArrayNullWriterValidEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe.getBytes( "utf-16" ), nullWriter(), "utf-16" ); |
| } |
| |
| @Test |
| public void copyByteArrayValidWriterValidEncoding() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes( "utf-16" ), writer, "utf-16" ); |
| assertThat( writer.toString().getBytes( "utf-8" ), is( probe.getBytes( "utf-8" ) ) ); |
| } |
| |
| /* |
| * copy(byte[],Writer,String,int) |
| */ |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), null, -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayValidWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), null, -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyByteArrayNullWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), null, -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyEmptyByteArrayValidWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyByteArray(), writer, null, -1 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyByteArrayNullWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe.getBytes(), nullWriter(), null, -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyByteArrayValidWriterNullEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes(), writer, null, -1 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullWriterJunkEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), "junk", -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayValidWriterJunkEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), "junk", -1 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyEmptyByteArrayNullWriterJunkEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), "junk", -1 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyEmptyByteArrayJunkEncodingNegBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyByteArray(), writer, "junk", -1 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyByteArrayNullWriterJunkEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe.getBytes(), nullWriter(), "junk", -1 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class ) |
| public void copyByteArrayValidWriterJunkEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes(), writer, "junk", -1 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayNullWriterValidEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), "utf-16", -1 ); |
| } |
| |
| @Test( expected = NullPointerException.class ) |
| public void copyNullByteArrayValidWriterValidEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), "utf-16", -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyByteArrayNullWriterValidEncodingNegBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), "utf-16", -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyEmptyByteArrayValidWriterValidEncodingNegBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyByteArray(), writer, "utf-16", -1 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyByteArrayNullWriterValidEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe.getBytes( "utf-16" ), nullWriter(), -1 ); |
| } |
| |
| @Test( expected = NegativeArraySizeException.class ) |
| public void copyByteArrayValidEncodingNegBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes( "utf-16" ), writer, "utf-16", -1 ); |
| assertThat( writer.toString().getBytes( "utf-8" ), is( probe.getBytes( "utf-8" ) ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayNullWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), null, 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayValidWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), null, 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyByteArrayNullWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), null, 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyByteArrayValidWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyByteArray(), writer, null, 0 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyByteArrayNullWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe.getBytes(), nullWriter(), null, 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyByteArrayValidWriterNullEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes(), writer, null, 0 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayNullWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), "junk", 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayValidWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), "junk", 0 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyByteArrayNullWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( emptyByteArray(), nullWriter(), "junk", 0 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyEmptyByteArrayValidWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( emptyByteArray(), writer, "junk", 0 ); |
| assertThat( writer.toString(), is( emptyString() ) ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyByteArrayNullWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| IOUtil.copy( probe.getBytes(), nullWriter(), "junk", 0 ); |
| } |
| |
| @Test( expected = UnsupportedEncodingException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyByteArrayValidWriterJunkEncodingZeroBufSz() |
| throws Exception |
| { |
| String probe = "A string \u2345\u00ef"; |
| StringWriter writer = new DontCloseStringWriter(); |
| IOUtil.copy( probe.getBytes(), writer, "junk", 0 ); |
| assertThat( writer.toString().getBytes(), is( probe.getBytes() ) ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayNullWriterValidEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), nullWriter(), "utf-16", 0 ); |
| } |
| |
| @Test( expected = NullPointerException.class, timeout = INFINITE_LOOP_TIMEOUT ) |
| public void copyNullByteArrayValidWriterValidEncodingZeroBufSz() |
| throws Exception |
| { |
| IOUtil.copy( nullByteArray(), new DontCloseStringWriter(), "utf-16", 0 ); |
| } |
| |
| /* |
| * Utility methods |
| */ |
| private static byte[] nullByteArray() |
| { |
| return null; |
| } |
| |
| private static String nullString() |
| { |
| return null; |
| } |
| |
| private static OutputStream nullOutputStream() |
| { |
| return null; |
| } |
| |
| private static InputStream nullInputStream() |
| { |
| return null; |
| } |
| |
| private static Writer nullWriter() |
| { |
| return null; |
| } |
| |
| private static Reader nullReader() |
| { |
| return null; |
| } |
| |
| private static ByteArrayInputStream emptyInputStream() |
| { |
| return new ByteArrayInputStream( emptyByteArray() ); |
| } |
| |
| private static Reader emptyReader() |
| { |
| return new StringReader( emptyString() ); |
| } |
| |
| private static String emptyString() |
| { |
| return ""; |
| } |
| |
| private static byte[] emptyByteArray() |
| { |
| return new byte[0]; |
| } |
| |
| private static class DontCloseStringWriter |
| extends StringWriter |
| { |
| @Override |
| public void close() |
| throws IOException |
| { |
| throw new UnsupportedOperationException( "should not be called" ); |
| } |
| } |
| |
| private static class DontCloseStringReader |
| extends StringReader |
| { |
| |
| public DontCloseStringReader( String s ) |
| { |
| super( s ); |
| } |
| |
| @Override |
| public void close() |
| { |
| throw new UnsupportedOperationException( "should not be called" ); |
| } |
| } |
| |
| private static class DontCloseByteArrayInputStream |
| extends ByteArrayInputStream |
| { |
| public DontCloseByteArrayInputStream( byte[] input ) |
| { |
| super( input ); |
| } |
| |
| @Override |
| public void close() |
| throws IOException |
| { |
| throw new UnsupportedOperationException( "should not be called" ); |
| } |
| } |
| |
| private static class DontCloseByteArrayOutputStream |
| extends ByteArrayOutputStream |
| { |
| @Override |
| public void close() |
| throws IOException |
| { |
| throw new UnsupportedOperationException( "should not be called" ); |
| } |
| } |
| } |