Skip to content

Commit 4bf80b2

Browse files
authored
add show methods (#5)
1 parent d5780ed commit 4bf80b2

4 files changed

Lines changed: 48 additions & 1 deletion

File tree

src/CodecZlib.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ import TranscodingStreams:
2525
TranscodingStreams,
2626
TranscodingStream,
2727
Memory,
28-
Error
28+
Error,
29+
initialize,
30+
finalize
2931

3032
include("libz.jl")
3133
include("compression.jl")

src/compression.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33

44
abstract type CompressionCodec <: TranscodingStreams.Codec end
55

6+
function Base.show(io::IO, codec::CompressionCodec)
7+
print(io, summary(codec), "(level=$(codec.level), windowbits=$(codec.windowbits))")
8+
end
9+
610

711
# Gzip
812
# ----

src/decompression.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33

44
abstract type DecompressionCodec <: TranscodingStreams.Codec end
55

6+
function Base.show(io::IO, codec::DecompressionCodec)
7+
print(io, summary(codec), "(windowbits=$(codec.windowbits))")
8+
end
9+
610

711
# Gzip
812
# ----

test/runtests.jl

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ import TranscodingStreams:
1010
const testdir = @__DIR__
1111

1212
@testset "Gzip Codec" begin
13+
codec = GzipCompression()
14+
@test codec isa GzipCompression
15+
@test ismatch(r"^CodecZlib.GzipCompression\(level=-1, windowbits=\d+\)$", sprint(show, codec))
16+
@test CodecZlib.initialize(codec) === nothing
17+
@test CodecZlib.finalize(codec) === nothing
18+
19+
codec = GzipDecompression()
20+
@test codec isa GzipDecompression
21+
@test ismatch(r"^CodecZlib.GzipDecompression\(windowbits=\d+\)$", sprint(show, codec))
22+
@test CodecZlib.initialize(codec) === nothing
23+
@test CodecZlib.finalize(codec) === nothing
24+
1325
# `gzip.compress(b"foo")` in Python 3.6.2 (zlib 1.2.8).
1426
gzip_data = b"\x1f\x8b\x08\x00R\xcc\x10Y\x02\xffK\xcb\xcf\x07\x00!es\x8c\x03\x00\x00\x00"
1527

@@ -93,6 +105,18 @@ const testdir = @__DIR__
93105
end
94106

95107
@testset "Zlib Codec" begin
108+
codec = ZlibCompression()
109+
@test codec isa ZlibCompression
110+
@test ismatch(r"^CodecZlib\.ZlibCompression\(level=-1, windowbits=\d+\)$", sprint(show, codec))
111+
@test CodecZlib.initialize(codec) === nothing
112+
@test CodecZlib.finalize(codec) === nothing
113+
114+
codec = ZlibDecompression()
115+
@test codec isa ZlibDecompression
116+
@test ismatch(r"^CodecZlib\.ZlibDecompression\(windowbits=\d+\)$", sprint(show, codec))
117+
@test CodecZlib.initialize(codec) === nothing
118+
@test CodecZlib.finalize(codec) === nothing
119+
96120
# `zlib.compress(b"foo")` in Python 3.6.2 (zlib 1.2.8).
97121
zlib_data = b"x\x9cK\xcb\xcf\x07\x00\x02\x82\x01E"
98122

@@ -154,6 +178,19 @@ end
154178
end
155179

156180
@testset "Deflate Codec" begin
181+
codec = DeflateCompression()
182+
@test codec isa DeflateCompression
183+
@test ismatch(r"^CodecZlib\.DeflateCompression\(level=-1, windowbits=-\d+\)$", sprint(show, codec))
184+
@test CodecZlib.initialize(codec) === nothing
185+
# FIXME: This test fails.
186+
#@test CodecZlib.finalize(codec) === nothing
187+
188+
codec = DeflateDecompression()
189+
@test codec isa DeflateDecompression
190+
@test ismatch(r"^CodecZlib\.DeflateDecompression\(windowbits=-\d+\)$", sprint(show, codec))
191+
@test CodecZlib.initialize(codec) === nothing
192+
@test CodecZlib.finalize(codec) === nothing
193+
157194
test_roundtrip_read(DeflateCompressionStream, DeflateDecompressionStream)
158195
test_roundtrip_write(DeflateCompressionStream, DeflateDecompressionStream)
159196
test_roundtrip_lines(DeflateCompressionStream, DeflateDecompressionStream)

0 commit comments

Comments
 (0)