diff --git a/lib/ld-eventsource/client.rb b/lib/ld-eventsource/client.rb index 570bc0a..b45259f 100644 --- a/lib/ld-eventsource/client.rb +++ b/lib/ld-eventsource/client.rb @@ -190,6 +190,11 @@ def close end end + # + # Tests whether the client has been shut down by a call to {Client#close}. + # + # @return [Boolean] true if the client has been shut down + # def closed? @stopped.value end diff --git a/spec/client_spec.rb b/spec/client_spec.rb index 37a902e..55e1833 100644 --- a/spec/client_spec.rb +++ b/spec/client_spec.rb @@ -426,4 +426,19 @@ def send_stream_content(res, content, keep_open:) end end end + + it "returns true from closed? when closed" do + with_server do |server| + server.setup_response("/") do |req,res| + send_stream_content(res, "", keep_open: true) + end + + with_client(subject.new(server.base_uri)) do |client| + expect(client.closed?).to be(false) + + client.close + expect(client.closed?).to be(true) + end + end + end end