Skip to content

Commit 1628c7d

Browse files
committed
make stream types a subtype of TranscodingStream (fix d7a7a80)
1 parent 7fc1bca commit 1628c7d

3 files changed

Lines changed: 15 additions & 6 deletions

File tree

src/compression.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function GzipCompression(;level::Integer=Z_DEFAULT_COMPRESSION,
3333
return GzipCompression(ZStream(), level, windowbits+16)
3434
end
3535

36-
const GzipCompressionStream{S} = TranscodingStream{GzipCompression,S}
36+
const GzipCompressionStream{S} = TranscodingStream{GzipCompression,S} where S<:IO
3737

3838
"""
3939
GzipCompressionStream(stream::IO; kwargs...)
@@ -74,7 +74,7 @@ function ZlibCompression(;level::Integer=Z_DEFAULT_COMPRESSION,
7474
return ZlibCompression(ZStream(), level, windowbits)
7575
end
7676

77-
const ZlibCompressionStream{S} = TranscodingStream{ZlibCompression,S}
77+
const ZlibCompressionStream{S} = TranscodingStream{ZlibCompression,S} where S<:IO
7878

7979
"""
8080
ZlibCompressionStream(stream::IO)
@@ -115,7 +115,7 @@ function DeflateCompression(;level::Integer=Z_DEFAULT_COMPRESSION,
115115
return DeflateCompression(ZStream(), level, -Int(windowbits))
116116
end
117117

118-
const DeflateCompressionStream{S} = TranscodingStream{DeflateCompression,S}
118+
const DeflateCompressionStream{S} = TranscodingStream{DeflateCompression,S} where S<:IO
119119

120120
"""
121121
DeflateCompressionStream(stream::IO; kwargs...)

src/decompression.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ function GzipDecompression(;windowbits::Integer=Z_DEFAULT_WINDOWBITS, gziponly::
3131
return GzipDecompression(ZStream(), windowbits+(gziponly?16:32))
3232
end
3333

34-
const GzipDecompressionStream{S} = TranscodingStream{GzipDecompression,S}
34+
const GzipDecompressionStream{S} = TranscodingStream{GzipDecompression,S} where S<:IO
3535

3636
"""
3737
GzipDecompressionStream(stream::IO; kwargs...)
@@ -67,7 +67,7 @@ function ZlibDecompression(;windowbits::Integer=Z_DEFAULT_WINDOWBITS)
6767
return ZlibDecompression(ZStream(), windowbits)
6868
end
6969

70-
const ZlibDecompressionStream{S} = TranscodingStream{ZlibDecompression,S}
70+
const ZlibDecompressionStream{S} = TranscodingStream{ZlibDecompression,S} where S<:IO
7171

7272
"""
7373
ZlibDecompressionStream(stream::IO; kwargs...)
@@ -103,7 +103,7 @@ function DeflateDecompression(;windowbits::Integer=Z_DEFAULT_WINDOWBITS)
103103
return DeflateDecompression(ZStream(), -Int(windowbits))
104104
end
105105

106-
const DeflateDecompressionStream{S} = TranscodingStream{DeflateDecompression,S}
106+
const DeflateDecompressionStream{S} = TranscodingStream{DeflateDecompression,S} where S<:IO
107107

108108
"""
109109
DeflateDecompressionStream(stream::IO; kwargs...)

test/runtests.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ const testdir = dirname(@__FILE__)
6666
@test length(read(path)) > 0
6767
end
6868

69+
@test GzipCompressionStream <: TranscodingStream
70+
@test GzipDecompressionStream <: TranscodingStream
71+
6972
test_roundtrip_read(GzipCompressionStream, GzipDecompressionStream)
7073
test_roundtrip_write(GzipCompressionStream, GzipDecompressionStream)
7174
test_roundtrip_lines(GzipCompressionStream, GzipDecompressionStream)
@@ -124,6 +127,9 @@ end
124127
@test read(path) == zlib_data
125128
end
126129

130+
@test ZlibCompressionStream <: TranscodingStream
131+
@test ZlibDecompressionStream <: TranscodingStream
132+
127133
test_roundtrip_read(ZlibCompressionStream, ZlibDecompressionStream)
128134
test_roundtrip_write(ZlibCompressionStream, ZlibDecompressionStream)
129135
test_roundtrip_lines(ZlibCompressionStream, ZlibDecompressionStream)
@@ -140,6 +146,9 @@ end
140146
test_roundtrip_lines(DeflateCompressionStream, DeflateDecompressionStream)
141147
test_roundtrip_transcode(DeflateCompression, DeflateDecompression)
142148

149+
@test DeflateCompressionStream <: TranscodingStream
150+
@test DeflateDecompressionStream <: TranscodingStream
151+
143152
@test_throws ArgumentError DeflateCompression(level=10)
144153
@test_throws ArgumentError DeflateCompression(windowbits=16)
145154
@test_throws ArgumentError DeflateDecompression(windowbits=16)

0 commit comments

Comments
 (0)