spec/async/io/generic_examples.rb in async-io-1.22.0 vs spec/async/io/generic_examples.rb in async-io-1.23.0

- old
+ new

@@ -20,5 +20,33 @@ # singleton_methods.each do |method| # expect(wrapped_singleton_methods).to include(method) # end # end end + +RSpec.shared_examples Async::IO do + let(:data) {"Hello World!"} + + it "should read data" do + io.write(data) + expect(subject.read(data.bytesize)).to be == data + end + + it "should read less than available data" do + io.write(data) + expect(subject.read(1)).to be == data[0] + end + + it "should read all available data" do + io.write(data) + io.close_write + + expect(subject.read(data.bytesize * 2)).to be == data + end + + it "should read all available data" do + io.write(data) + io.close_write + + expect(subject.read).to be == data + end +end \ No newline at end of file