1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.commons.compress.compressors.lz4;
20
21 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
22 import static org.junit.jupiter.api.Assertions.assertEquals;
23
24 import java.io.File;
25 import java.io.IOException;
26 import java.io.InputStream;
27 import java.nio.file.Files;
28
29 import org.apache.commons.compress.AbstractTest;
30 import org.apache.commons.io.IOUtils;
31 import org.junit.jupiter.api.Test;
32
33 public class BlockLZ4CompressorInputStreamTest extends AbstractTest {
34
35 @Test
36 public void testMultiByteReadConsistentlyReturnsMinusOneAtEof() throws IOException {
37 final File input = getFile("bla.tar.block_lz4");
38 final byte[] buf = new byte[2];
39 try (InputStream is = Files.newInputStream(input.toPath());
40 BlockLZ4CompressorInputStream in = new BlockLZ4CompressorInputStream(is)) {
41 IOUtils.toByteArray(in);
42 assertEquals(-1, in.read(buf));
43 assertEquals(-1, in.read(buf));
44 }
45 }
46
47 @Test
48 public void testReadBlaLz4() throws IOException {
49 try (InputStream a = new BlockLZ4CompressorInputStream(newInputStream("bla.tar.block_lz4"));
50 InputStream e = newInputStream("bla.tar")) {
51 final byte[] expected = IOUtils.toByteArray(e);
52 final byte[] actual = IOUtils.toByteArray(a);
53 assertArrayEquals(expected, actual);
54 }
55 }
56
57 @Test
58 public void testSingleByteReadConsistentlyReturnsMinusOneAtEof() throws IOException {
59 final File input = getFile("bla.tar.block_lz4");
60 try (InputStream is = Files.newInputStream(input.toPath());
61 BlockLZ4CompressorInputStream in = new BlockLZ4CompressorInputStream(is)) {
62 IOUtils.toByteArray(in);
63 assertEquals(-1, in.read());
64 assertEquals(-1, in.read());
65 }
66 }
67 }