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