This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-compress.git
The following commit(s) were added to refs/heads/master by this push: new 70739a419 Use try-with-resources new 52b2f468a Merge branch 'master' of https://gitbox.apache.org/repos/asf/commons-compress.git 70739a419 is described below commit 70739a4191dd8cc1edffadfc94c67b0ad59e8024 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Fri May 17 10:15:20 2024 -0400 Use try-with-resources --- .../compressors/deflate64/HuffmanDecoderTest.java | 117 ++++++++++----------- 1 file changed, 56 insertions(+), 61 deletions(-) diff --git a/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java b/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java index 24ec706b1..f9439028d 100644 --- a/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java +++ b/src/test/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoderTest.java @@ -26,6 +26,7 @@ import java.util.Arrays; import org.junit.jupiter.api.Test; public class HuffmanDecoderTest { + @Test public void testDecodeFixedHuffmanBlockWithMemoryLookup() throws Exception { final byte[] data = { @@ -47,13 +48,12 @@ public class HuffmanDecoderTest { 0b00000000000000000000000000001101, // dist6 + offset <11> + end of block (000000) 0b11111111111111111111111111111000 // end of block (0000) + garbage }; - - final HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data)); - final byte[] result = new byte[100]; - final int len = decoder.decode(result); - - assertEquals(48, len); - assertEquals("Hello World\nHello World\nHello World\nHello World\n", new String(result, 0, len)); + try (HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data))) { + final byte[] result = new byte[100]; + final int len = decoder.decode(result); + assertEquals(48, len); + assertEquals("Hello World\nHello World\nHello World\nHello World\n", new String(result, 0, len)); + } } @Test @@ -77,17 +77,15 @@ public class HuffmanDecoderTest { 0b00000000000000000000000000001101, // dist6 + offset <11> + end of block (000000) 0b11111111111111111111111111111000 // end of block (0000) + garbage }; - - final HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data)); - final byte[] result = new byte[48]; - int len; - - len = decoder.decode(result); - assertEquals(48, len); - assertEquals("Hello World\nHello World\nHello World\nHello World\n", new String(result, 0, len)); - - len = decoder.decode(result); - assertEquals(-1, len); + try (HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data))) { + final byte[] result = new byte[48]; + int len; + len = decoder.decode(result); + assertEquals(48, len); + assertEquals("Hello World\nHello World\nHello World\nHello World\n", new String(result, 0, len)); + len = decoder.decode(result); + assertEquals(-1, len); + } } @Test @@ -112,17 +110,16 @@ public class HuffmanDecoderTest { 0b11111111111111111111111111111000 // end of block (0000) + garbage }; - final HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data)); - final byte[] result = new byte[30]; - int len; - - len = decoder.decode(result); - assertEquals(30, len); - assertEquals("Hello World\nHello World\nHello ", new String(result, 0, len)); - - len = decoder.decode(result); - assertEquals(18, len); - assertEquals("World\nHello World\n", new String(result, 0, len)); + try (HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data))) { + final byte[] result = new byte[30]; + int len; + len = decoder.decode(result); + assertEquals(30, len); + assertEquals("Hello World\nHello World\nHello ", new String(result, 0, len)); + len = decoder.decode(result); + assertEquals(18, len); + assertEquals("World\nHello World\n", new String(result, 0, len)); + } } @Test @@ -143,13 +140,12 @@ public class HuffmanDecoderTest { 0b00000000000000000000000000000001, // d + end of block 0b11111111111111111111111111111100 // end of block (00) + garbage }; - - final HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data)); - final byte[] result = new byte[100]; - final int len = decoder.decode(result); - - assertEquals(11, len); - assertEquals("Hello World", new String(result, 0, len)); + try (HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data))) { + final byte[] result = new byte[100]; + final int len = decoder.decode(result); + assertEquals(11, len); + assertEquals("Hello World", new String(result, 0, len)); + } } @Test @@ -170,16 +166,16 @@ public class HuffmanDecoderTest { 0b00000000000000000000000000000001, // d + end of block 0b11111111111111111111111111111100 // end of block (00) + garbage }; - - final HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data)); - final byte[] result = new byte[10]; - int len; - len = decoder.decode(result); - assertEquals(10, len); - assertEquals("Hello Worl", new String(result, 0, len)); - len = decoder.decode(result); - assertEquals(1, len); - assertEquals("d", new String(result, 0, len)); + try (HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data))) { + final byte[] result = new byte[10]; + int len; + len = decoder.decode(result); + assertEquals(10, len); + assertEquals("Hello Worl", new String(result, 0, len)); + len = decoder.decode(result); + assertEquals(1, len); + assertEquals("d", new String(result, 0, len)); + } } @Test @@ -187,13 +183,12 @@ public class HuffmanDecoderTest { final byte[] data = { 0b1, // end of block + no compression mode 11, 0, -12, -1, // len & ~len 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd' }; - - final HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data)); - final byte[] result = new byte[100]; - final int len = decoder.decode(result); - - assertEquals(11, len); - assertEquals("Hello World", new String(result, 0, len)); + try (HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data))) { + final byte[] result = new byte[100]; + final int len = decoder.decode(result); + assertEquals(11, len); + assertEquals("Hello World", new String(result, 0, len)); + } } @Test @@ -201,13 +196,13 @@ public class HuffmanDecoderTest { final byte[] data = { 0b1, // end of block + no compression mode 11, 0, -12, -2, // len & ~len 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd' }; - - final HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data)); - final byte[] result = new byte[100]; - final IllegalStateException e = assertThrows(IllegalStateException.class, () -> { - final int len = decoder.decode(result); - fail("Should have failed but returned " + len + " entries: " + Arrays.toString(Arrays.copyOf(result, len))); - }); - assertEquals("Illegal LEN / NLEN values", e.getMessage()); + try (HuffmanDecoder decoder = new HuffmanDecoder(new ByteArrayInputStream(data))) { + final byte[] result = new byte[100]; + final IllegalStateException e = assertThrows(IllegalStateException.class, () -> { + final int len = decoder.decode(result); + fail("Should have failed but returned " + len + " entries: " + Arrays.toString(Arrays.copyOf(result, len))); + }); + assertEquals("Illegal LEN / NLEN values", e.getMessage()); + } } }