Skip to content

Commit 3113ffa

Browse files
authored
Add compression exit function clause (#4)
1 parent 843afad commit 3113ffa

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

lib/z_stream/lz4.ex

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ defmodule ZStream.LZ4 do
6060
{:erlang.iolist_to_iovec(finish), ref}
6161
end
6262

63+
defp do_compress_exit({:start, ref}) do
64+
:lz4f.compress_end(ref)
65+
end
66+
6367
defp do_compress_exit(ref) do
6468
:lz4f.compress_end(ref)
6569
end

test/z_stream/lz4_test.exs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,21 @@ defmodule ZStream.LZ4Test do
3030

3131
assert Enum.into(stream, "") == ""
3232
end
33+
34+
test "compress empty stream" do
35+
empty_data = []
36+
stream = ZStream.compress(empty_data, LZ4)
37+
result = Enum.into(stream, [])
38+
39+
assert [_ | _] = result
40+
end
41+
42+
test "decompress empty stream" do
43+
empty_data = []
44+
compressed = ZStream.compress(empty_data, LZ4)
45+
compressed_bytes = Enum.into(compressed, [])
46+
decompressed = ZStream.decompress(compressed_bytes, LZ4)
47+
48+
assert Enum.into(decompressed, "") == ""
49+
end
3350
end

0 commit comments

Comments
 (0)