Skip to content

Commit c0bc3b3

Browse files
authored
Improve the test coverage (#29)
1 parent df4019f commit c0bc3b3

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

src/testtools.jl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,20 @@ function test_roundtrip_lines(encoder, decoder)
5555
Base.Test.@test hash(lines) == hash(readlines(decoder(buf)))
5656
end
5757

58+
function test_roundtrip_fileio(Encoder, Decoder)
59+
data = b"""
60+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sit amet tempus felis. Etiam molestie urna placerat iaculis pellentesque. Maecenas porttitor et dolor vitae posuere. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eget nibh quam. Nullam aliquet interdum fringilla. Duis facilisis, lectus in consectetur varius, lorem sem tempor diam, nec auctor tellus nibh sit amet sapien. In ex nunc, elementum eget facilisis ut, luctus eu orci. Sed sapien urna, accumsan et elit non, auctor pretium massa. Phasellus consectetur nisi suscipit blandit aliquam. Nulla facilisi. Mauris pellentesque sem sit amet mi vestibulum eleifend. Nulla faucibus orci ac lorem efficitur, et blandit orci interdum. Aenean posuere ultrices ex sed rhoncus. Donec malesuada mollis sem, sed varius nunc sodales sed. Curabitur lobortis non justo non tristique.
61+
"""
62+
mktemp() do filename, file
63+
stream = TranscodingStream(Encoder(), file)
64+
write(stream, data)
65+
close(stream)
66+
stream = TranscodingStream(Decoder(), open(filename))
67+
Base.Test.@test hash(read(stream)) == hash(data)
68+
close(stream)
69+
end
70+
end
71+
5872
function test_chunked_read(Encoder, Decoder)
5973
srand(TEST_RANDOM_SEED)
6074
alpha = b"色即是空"

test/runtests.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,10 @@ TranscodingStreams.minoutsize(::QuadrupleCodec, ::Memory) = 4
373373
@test stream1.state.buffer1 !== stream2.state.buffer2
374374
close(stream1)
375375
close(stream2)
376+
377+
stream = TranscodingStream(QuadrupleCodec(), IOBuffer("foo"))
378+
@test_throws EOFError unsafe_read(stream, pointer(Vector{UInt8}(13)), 13)
379+
close(stream)
376380
end
377381

378382
# TODO: Remove this in the future.
@@ -392,6 +396,7 @@ end
392396
import CodecZlib: GzipCompression, GzipDecompression
393397
TranscodingStreams.test_chunked_read(GzipCompression, GzipDecompression)
394398
TranscodingStreams.test_chunked_write(GzipCompression, GzipDecompression)
399+
TranscodingStreams.test_roundtrip_fileio(GzipCompression, GzipDecompression)
395400

396401
@testset "seek" begin
397402
data = transcode(GzipCompression, b"abracadabra")
@@ -409,3 +414,9 @@ end
409414
@test_throws ErrorException read(stream)
410415
@test_throws ArgumentError eof(stream)
411416
end
417+
418+
@testset "open" begin
419+
open(CodecZlib.GzipDecompressionStream, joinpath(dirname(@__FILE__), "abra.gzip")) do stream
420+
@test read(stream) == b"abracadabra"
421+
end
422+
end

0 commit comments

Comments
 (0)