spec/async/io/stream_spec.rb in async-io-1.27.5 vs spec/async/io/stream_spec.rb in async-io-1.27.6

- old
+ new

@@ -75,9 +75,28 @@ while buffer = subject.read(buffer_size) expect(buffer).to be == (buffer[0] * buffer_size) end end + + it "handles write failures" do + subject.close + + task = reactor.async do + output.write("Hello World") + output.flush(deferred: true) + end + + expect do + task.wait + end.to raise_error(Errno::EPIPE) + + write_buffer = output.instance_variable_get(:@write_buffer) + drain_buffer = output.instance_variable_get(:@drain_buffer) + + expect(write_buffer).to be_empty + expect(drain_buffer).to be_empty + end end describe '#close_read' do subject {described_class.new(sockets.last)}