summaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahoo-inc.com>2017-06-12 13:03:49 +0200
committerTor Brede Vekterli <vekterli@yahoo-inc.com>2017-06-12 15:16:33 +0200
commit6b4508315257ca0ac80da1b90abb048cc7305895 (patch)
tree7e829778bf371e6a6dda0bc18d34712e36c0f108 /vespajlib
parent462be9cb41a98c630112fcaa9b997fffc1965a81 (diff)
Add unit test for Compressor which reproduces buffer extent bug
Diffstat (limited to 'vespajlib')
-rw-r--r--vespajlib/src/test/java/com/yahoo/compress/LZ4CompressorTest.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/vespajlib/src/test/java/com/yahoo/compress/LZ4CompressorTest.java b/vespajlib/src/test/java/com/yahoo/compress/LZ4CompressorTest.java
new file mode 100644
index 00000000000..c33dabf04da
--- /dev/null
+++ b/vespajlib/src/test/java/com/yahoo/compress/LZ4CompressorTest.java
@@ -0,0 +1,25 @@
+// Copyright 2017 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.compress;
+
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.Optional;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class LZ4CompressorTest {
+
+ @Test
+ public void can_compress_and_decompress_partial_buffer_range() {
+ byte[] toCompress = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".getBytes();
+ int compressBytes = 30;
+ Compressor compressor = new Compressor();
+ Compressor.Compression compressed = compressor.compress(CompressionType.LZ4, toCompress, Optional.of(compressBytes));
+ assertEquals(compressBytes, compressed.uncompressedSize());
+ byte[] decompressed = compressor.decompress(compressed);
+ assertTrue(Arrays.equals(decompressed, Arrays.copyOf(toCompress, compressBytes)));
+ }
+
+}