diff --git a/src/BufferStream.jl b/src/BufferStream.jl index 28f1458..ca655be 100644 --- a/src/BufferStream.jl +++ b/src/BufferStream.jl @@ -1,5 +1,5 @@ export BufferStream, mem_usage, append_chunk -import Base: write, read, readbytes!, readavailable, unsafe_write, wait, close, eof, isopen, skip, length +import Base: write, read, readbytes!, readavailable, unsafe_write, wait, close, eof, isopen, isreadable, iswritable, skip, length """ BufferStream @@ -28,6 +28,8 @@ function close(bs::BufferStream) end isopen(bs::BufferStream) = bs.is_open +isreadable(bs::BufferStream) = true +iswritable(bs::BufferStream) = true eof(bs::BufferStream) = !isopen(bs) && isempty(bs.chunks) function length(bs::BufferStream) lock(bs.write_cond) do diff --git a/test/runtests.jl b/test/runtests.jl index 22efccc..d1c8237 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -77,6 +77,16 @@ using SimpleBufferStream, Test @test write(bs, UInt8(1)) == 1 close(bs) @test read(bs) == UInt8[1] + + # isreadable, iswritable, isopen + bs = BufferStream() + @test isopen(bs) + @test isreadable(bs) + @test iswritable(bs) + close(bs) + @test !isopen(bs) + @test isreadable(bs) + @test iswritable(bs) end @testset "max_len" begin