spec/twitter/json_stream_spec.rb in twitter-stream-0.1.15 vs spec/twitter/json_stream_spec.rb in twitter-stream-0.1.16

- old
+ new

@@ -132,10 +132,27 @@ tweets.each_with_index do |tweet,i| items[i].should == tweet end end + it "should swallow StandardError exceptions when delivering items" do + expect do + connect_stream :ssl => false do + stream.each_item { |item| raise StandardError, 'error message' } + end + end.to_not raise_error + end + + + it "propagates out runtime errors when delivering items" do + expect do + connect_stream :ssl => false do + stream.each_item { |item| raise Exception, 'error message' } + end + end.to raise_error(Exception, 'error message') + end + it "should send correct user agent" do connect_stream end end @@ -209,9 +226,25 @@ stream.should_receive(:start_tls).twice end end it_should_behave_like "network failure" + end + + context "on no data received" do + attr_reader :stream + before :each do + $data_to_send = '' + $close_connection = false + end + + it "should call no data callback after no data received for 90 seconds" do + connect_stream :stop_in => 6 do + stream.last_data_received_at = Time.now - 88 + stream.should_receive(:no_data).once + end + end + end context "on server unavailable" do attr_reader :stream