diff --git a/lib/z_stream/lz4.ex b/lib/z_stream/lz4.ex index 392faf6..f0a3855 100644 --- a/lib/z_stream/lz4.ex +++ b/lib/z_stream/lz4.ex @@ -50,6 +50,11 @@ defmodule ZStream.LZ4 do {:erlang.iolist_to_iovec(elem), ref} end + defp do_compress_end({:start, ref}) do + finish = :lz4f.compress_end(ref) + {:erlang.iolist_to_iovec(finish), ref} + end + defp do_compress_end(ref) do finish = :lz4f.compress_end(ref) {:erlang.iolist_to_iovec(finish), ref} diff --git a/test/z_stream/lz4_test.exs b/test/z_stream/lz4_test.exs index e69a5ec..f759947 100644 --- a/test/z_stream/lz4_test.exs +++ b/test/z_stream/lz4_test.exs @@ -9,6 +9,11 @@ defmodule ZStream.LZ4Test do stream = ZStream.compress(data, LZ4) assert :ok = Stream.run(stream) + + data = Enum.take(data, 0) + stream = ZStream.compress(data, LZ4) + + assert :ok = Stream.run(stream) end test "decompress" do @@ -18,5 +23,11 @@ defmodule ZStream.LZ4Test do stream = ZStream.decompress(stream, LZ4) assert Enum.into(stream, "") == Enum.into(data, "") + + data = Enum.take(data, 0) + stream = ZStream.compress(data, LZ4) + stream = ZStream.decompress(stream, LZ4) + + assert Enum.into(stream, "") == "" end end diff --git a/test/z_stream/zstandard_test.exs b/test/z_stream/zstandard_test.exs index eb72650..4a14c1d 100644 --- a/test/z_stream/zstandard_test.exs +++ b/test/z_stream/zstandard_test.exs @@ -9,6 +9,11 @@ defmodule ZStream.ZstandardTest do stream = ZStream.compress(data, Zstandard) assert :ok = Stream.run(stream) + + data = Enum.take(data, 0) + stream = ZStream.compress(data, Zstandard) + + assert :ok = Stream.run(stream) end test "decompress" do @@ -18,5 +23,11 @@ defmodule ZStream.ZstandardTest do stream = ZStream.decompress(stream, Zstandard) assert Enum.into(stream, "") == Enum.into(data, "") + + data = Enum.take(data, 0) + stream = ZStream.compress(data, Zstandard) + stream = ZStream.decompress(stream, Zstandard) + + assert Enum.into(stream, "") == "" end end