DeflaterOutputStreamTest.java revision e10c61bb13373b95ba857cc3af60f94b9941ab9e
1d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath/* 2d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * Licensed to the Apache Software Foundation (ASF) under one or more 3d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * contributor license agreements. See the NOTICE file distributed with 4d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * this work for additional information regarding copyright ownership. 5d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * The ASF licenses this file to You under the Apache License, Version 2.0 6d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * (the "License"); you may not use this file except in compliance with 7d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * the License. You may obtain a copy of the License at 8d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * 9d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * http://www.apache.org/licenses/LICENSE-2.0 10d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * 11d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * Unless required by applicable law or agreed to in writing, software 12d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * distributed under the License is distributed on an "AS IS" BASIS, 13d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * See the License for the specific language governing permissions and 15d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * limitations under the License. 16d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath */ 17d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 18d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathpackage org.apache.harmony.tests.java.util.zip; 19d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 20d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathimport java.io.EOFException; 21d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathimport java.io.File; 22d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathimport java.io.FileInputStream; 23d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathimport java.io.FileOutputStream; 24d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathimport java.io.IOException; 25d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathimport java.io.OutputStream; 26d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathimport java.util.zip.Deflater; 27d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathimport java.util.zip.DeflaterOutputStream; 28d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathimport java.util.zip.InflaterInputStream; 29d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 30d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathimport junit.framework.TestCase; 31d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 32d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamathpublic class DeflaterOutputStreamTest extends TestCase { 33d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 34d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath private class MyDeflaterOutputStream extends DeflaterOutputStream { 35d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath boolean deflateFlag = false; 36d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 37d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath MyDeflaterOutputStream(OutputStream out) { 38d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath super(out); 39d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 40d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 41d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath MyDeflaterOutputStream(OutputStream out, Deflater defl) { 42d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath super(out, defl); 43d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 44d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 45d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath MyDeflaterOutputStream(OutputStream out, Deflater defl, int size) { 46d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath super(out, defl, size); 47d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 48d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 49d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath byte[] getProtectedBuf() { 50d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath return buf; 51d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 52d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 53d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath protected void deflate() throws IOException { 54d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath deflateFlag = true; 55d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath super.deflate(); 56d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 57d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 58d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath boolean getDaflateFlag() { 59d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath return deflateFlag; 60d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 61d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 62d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 63e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath private final byte outputBuf[] = new byte[500]; 64d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 65d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath @Override 66d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath protected void setUp() { 67d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // setting up a deflater to be used 68d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath byte byteArray[] = { 1, 3, 4, 7, 8 }; 69d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath int x = 0; 70d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath Deflater deflate = new Deflater(1); 71d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath deflate.setInput(byteArray); 72d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath while (!(deflate.needsInput())) { 73e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath x += deflate.deflate(outputBuf, x, outputBuf.length - x); 74d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 75d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath deflate.finish(); 76d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath while (!(deflate.finished())) { 77e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath x = x + deflate.deflate(outputBuf, x, outputBuf.length - x); 78d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 79d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath deflate.end(); 80d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 81d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 82d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath /** 83d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * java.util.zip.DeflaterOutputStream#DeflaterOutputStream(java.io.OutputStream, 84d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath *java.util.zip.Deflater) 85d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath */ 86d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath public void test_ConstructorLjava_io_OutputStreamLjava_util_zip_Deflater() throws Exception { 87d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath byte byteArray[] = { 1, 3, 4, 7, 8 }; 88e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath File f1 = File.createTempFile("hyts_ConstruOD", ".tst"); 89d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos = new FileOutputStream(f1); 90d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath Deflater defl = null; 91d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath MyDeflaterOutputStream dos; 92d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for a null Deflater. 93d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 94d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos = new MyDeflaterOutputStream(fos, defl); 95d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("NullPointerException Not Thrown"); 96d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (NullPointerException e) { 97d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 98d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath defl = new Deflater(); 99d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos = new MyDeflaterOutputStream(fos, defl); 100d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 101d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test to see if DeflaterOutputStream was created with the correct 102d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // buffer. 103d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Buffer Size", 512, dos.getProtectedBuf().length); 104d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 105d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.write(byteArray); 106d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.close(); 107d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath f1.delete(); 108d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 109d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 110d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath /** 111d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * java.util.zip.DeflaterOutputStream#DeflaterOutputStream(java.io.OutputStream) 112d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath */ 113d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath public void test_ConstructorLjava_io_OutputStream() throws Exception { 114e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath File f1 = File.createTempFile("hyts_ConstruO", ".tst"); 115d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos = new FileOutputStream(f1); 116d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath MyDeflaterOutputStream dos = new MyDeflaterOutputStream(fos); 117d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 118d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test to see if DeflaterOutputStream was created with the correct 119d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // buffer. 120d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Buffer Size", 512, dos.getProtectedBuf().length); 121d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 122e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath dos.write(outputBuf); 123d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.close(); 124d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath f1.delete(); 125d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 126d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 127d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath /** 128d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * java.util.zip.DeflaterOutputStream#DeflaterOutputStream(java.io.OutputStream, 129d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath *java.util.zip.Deflater, int) 130d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath */ 131d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath public void test_ConstructorLjava_io_OutputStreamLjava_util_zip_DeflaterI() 132d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath throws Exception { 133d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath int buf = 5; 134d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath int negBuf = -5; 135d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath int zeroBuf = 0; 136d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath byte byteArray[] = { 1, 3, 4, 7, 8, 3, 6 }; 137e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath File f1 = File.createTempFile("hyts_ConstruODI", ".tst"); 138d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos = new FileOutputStream(f1); 139d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath Deflater defl = null; 140d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath MyDeflaterOutputStream dos; 141d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 142d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for a null Deflater. 143d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 144d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos = new MyDeflaterOutputStream(fos, defl, buf); 145d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("NullPointerException Not Thrown"); 146d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (NullPointerException e) { 147d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 148d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath defl = new Deflater(); 149d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 150d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for a negative buf. 151d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 152d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos = new MyDeflaterOutputStream(fos, defl, negBuf); 153d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IllegalArgumentException Not Thrown"); 154d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IllegalArgumentException e) { 155d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 156d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 157d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for a zero buf. 158d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 159d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos = new MyDeflaterOutputStream(fos, defl, zeroBuf); 160d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IllegalArgumentException Not Thrown"); 161d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IllegalArgumentException e) { 162d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 163d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 164d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test to see if DeflaterOutputStream was created with the correct 165d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // buffer. 166d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos = new MyDeflaterOutputStream(fos, defl, buf); 167d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Buffer Size", 5, dos.getProtectedBuf().length); 168d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 169d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.write(byteArray); 170d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.close(); 171d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath f1.delete(); 172d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 173d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 174d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath /** 175d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * java.util.zip.DeflaterOutputStream#close() 176d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath */ 177d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath public void test_close() throws Exception { 178d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath File f1 = File.createTempFile("close", ".tst"); 179d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 180d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath InflaterInputStream iis = new InflaterInputStream(new FileInputStream(f1)); 181d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 182d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath iis.read(); 183d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("EOFException Not Thrown"); 184d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (EOFException e) { 185d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 186d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 187d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos = new FileOutputStream(f1); 188d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath DeflaterOutputStream dos = new DeflaterOutputStream(fos); 189d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath byte byteArray[] = { 1, 3, 4, 6 }; 190d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.write(byteArray); 191d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.close(); 192d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 193d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath iis = new InflaterInputStream(new FileInputStream(f1)); 194d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 195d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test to see if the finish method wrote the bytes to the file. 196d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned.", 1, iis.read()); 197d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned.", 3, iis.read()); 198d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned.", 4, iis.read()); 199d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned.", 6, iis.read()); 200d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned.", -1, iis.read()); 201d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned.", -1, iis.read()); 202d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath iis.close(); 203d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 204d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Not sure if this test will stay. 205d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos2 = new FileOutputStream(f1); 206d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath DeflaterOutputStream dos2 = new DeflaterOutputStream(fos2); 207d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fos2.close(); 208d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 209d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos2.close(); 210d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IOException not thrown"); 211d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IOException e) { 212d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 213d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 214d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test to write to a closed DeflaterOutputStream 215d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 216d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.write(5); 217d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("DeflaterOutputStream Able To Write After Being Closed."); 218d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IOException e) { 219d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 220d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 221d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test to write to a FileOutputStream that should have been closed 222d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // by 223d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // the DeflaterOutputStream. 224d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 225d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fos.write(("testing").getBytes()); 226d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("FileOutputStream Able To Write After Being Closed."); 227d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IOException e) { 228d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 229d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 230d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath f1.delete(); 231d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 232d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 233d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath /** 234d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * java.util.zip.DeflaterOutputStream#finish() 235d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath */ 236d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath public void test_finish() throws Exception { 237d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Need test to see if method finish() actually finishes 238d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Only testing possible errors, not if it actually works 239d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 240e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath File f1 = File.createTempFile("finish", ".tst"); 241d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos1 = new FileOutputStream(f1); 242d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath DeflaterOutputStream dos = new DeflaterOutputStream(fos1); 243d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath byte byteArray[] = { 1, 3, 4, 6 }; 244d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.write(byteArray); 245d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.finish(); 246d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 247d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test to see if the same FileOutputStream can be used with the 248d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // DeflaterOutputStream after finish is called. 249d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 250d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.write(1); 251d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IOException not thrown"); 252d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IOException e) { 253d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 254d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 255d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for writing with a new FileOutputStream using the same 256d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // DeflaterOutputStream. 257d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos2 = new FileOutputStream(f1); 258d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos = new DeflaterOutputStream(fos2); 259d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.write(1); 260d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 261d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for writing to FileOutputStream fos1, which should be open. 262d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fos1.write(("testing").getBytes()); 263d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 264d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for writing to FileOutputStream fos2, which should be open. 265d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fos2.write(("testing").getBytes()); 266d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 267d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Not sure if this test will stay. 268d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos3 = new FileOutputStream(f1); 269d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath DeflaterOutputStream dos3 = new DeflaterOutputStream(fos3); 270d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fos3.close(); 271d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 272d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos3.finish(); 273d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IOException not thrown"); 274d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IOException e) { 275d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 276d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 277d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // dos.close() won't close fos1 because it has been re-assigned to 278d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // fos2 279d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fos1.close(); 280d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.close(); 281d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath f1.delete(); 282d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 283d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 284d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath /** 285d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * java.util.zip.DeflaterOutputStream#write(int) 286d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath */ 287d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath public void test_writeI() throws Exception { 288e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath File f1 = File.createTempFile("writeIL", ".tst"); 289d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos = new FileOutputStream(f1); 290d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath DeflaterOutputStream dos = new DeflaterOutputStream(fos); 291d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath for (int i = 0; i < 3; i++) { 292d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.write(i); 293d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 294d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.close(); 295d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileInputStream fis = new FileInputStream(f1); 296d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath InflaterInputStream iis = new InflaterInputStream(fis); 297d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath for (int i = 0; i < 3; i++) { 298d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned.", i, iis.read()); 299d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 300d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned (EOF).", -1, iis.read()); 301d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned (EOF).", -1, iis.read()); 302d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath iis.close(); 303d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 304d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Not sure if this test is that important. 305d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Checks to see if you can write using the DeflaterOutputStream 306d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // after 307d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // the FileOutputStream has been closed. 308d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos2 = new FileOutputStream(f1); 309d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath DeflaterOutputStream dos2 = new DeflaterOutputStream(fos2); 310d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fos2.close(); 311d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 312d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos2.write(2); 313d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IOException not thrown"); 314d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IOException e) { 315d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 316d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 317d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath f1.delete(); 318d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 319d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 320d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath /** 321d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath * java.util.zip.DeflaterOutputStream#write(byte[], int, int) 322d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath */ 323d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath public void test_write$BII() throws Exception { 324d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath byte byteArray[] = { 1, 3, 4, 7, 8, 3, 6 }; 325d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 326d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test to see if the correct bytes are saved. 327e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath File f1 = File.createTempFile("writeBII", ".tst"); 328d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos1 = new FileOutputStream(f1); 329d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath DeflaterOutputStream dos1 = new DeflaterOutputStream(fos1); 330d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos1.write(byteArray, 2, 3); 331d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos1.close(); 332d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileInputStream fis = new FileInputStream(f1); 333d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath InflaterInputStream iis = new InflaterInputStream(fis); 334d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned.", 4, iis.read()); 335d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned.", 7, iis.read()); 336d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned.", 8, iis.read()); 337d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned (EOF).", -1, iis.read()); 338d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertEquals("Incorrect Byte Returned (EOF).", -1, iis.read()); 339d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath iis.close(); 340d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath f1.delete(); 341d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 342d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for trying to write more bytes than available from the array 343e10c61bb13373b95ba857cc3af60f94b9941ab9eNarayan Kamath File f2 = File.createTempFile("writeBII2", ".tst"); 344d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos2 = new FileOutputStream(f2); 345d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath DeflaterOutputStream dos2 = new DeflaterOutputStream(fos2); 346d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 347d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos2.write(byteArray, 2, 10); 348d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IndexOutOfBoundsException not thrown"); 349d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IndexOutOfBoundsException e) { 350d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 351d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 352d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for trying to write a negative number of bytes. 353d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 354d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos2.write(byteArray, 2, Integer.MIN_VALUE); 355d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IndexOutOfBoundsException not thrown"); 356d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IndexOutOfBoundsException e) { 357d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 358d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 359d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for trying to start writing from a byte < 0 from the array. 360d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 361d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos2.write(byteArray, Integer.MIN_VALUE, 2); 362d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IndexOutOfBoundsException not thrown"); 363d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IndexOutOfBoundsException e) { 364d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 365d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 366d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Test for trying to start writing from a byte > than the array 367d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // size. 368d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 369d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos2.write(byteArray, 10, 2); 370d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IndexOutOfBoundsException not thrown"); 371d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IndexOutOfBoundsException e) { 372d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 373d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos2.close(); 374d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 375d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Not sure if this test is that important. 376d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // Checks to see if you can write using the DeflaterOutputStream 377d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // after 378d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath // the FileOutputStream has been closed. 379d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos3 = new FileOutputStream(f2); 380d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath DeflaterOutputStream dos3 = new DeflaterOutputStream(fos3); 381d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fos3.close(); 382d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath try { 383d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos3.write(byteArray, 2, 3); 384d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath fail("IOException not thrown"); 385d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } catch (IOException e) { 386d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 387d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 388d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath f2.delete(); 389d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 390d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath 391d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath public void test_deflate() throws Exception { 392d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath File f1 = File.createTempFile("writeI1", ".tst"); 393d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath FileOutputStream fos = new FileOutputStream(f1); 394d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath MyDeflaterOutputStream dos = new MyDeflaterOutputStream(fos); 395d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertFalse(dos.getDaflateFlag()); 396d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath for (int i = 0; i < 3; i++) { 397d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.write(i); 398d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 399d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath assertTrue(dos.getDaflateFlag()); 400d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath dos.close(); 401d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath } 402d567f9025c4b94fc5e9b47f5702c1b48c2a45c96Narayan Kamath} 403