capybara-typhoeus 0.2.7 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,7 +16,10 @@ class Capybara::Driver::Typhoeus < Capybara::Driver::Base
16
16
 
17
17
  def initialize(app, options={})
18
18
  @app = app
19
- @options = options
19
+ @options = {
20
+ :timeout => 3, # 3 seconds
21
+ :forbid_reuse => true,
22
+ }.merge options
20
23
  @rack_server = Capybara::Server.new(@app)
21
24
  @rack_server.boot if Capybara.run_server
22
25
  end
@@ -143,9 +146,7 @@ class Capybara::Driver::Typhoeus < Capybara::Driver::Base
143
146
  opts = {
144
147
  :method => method,
145
148
  :headers => with_headers.merge(headers.merge("Content-Type" => as, "Accept" => as)),
146
- :timeout => 2, # 2 seconds
147
- :forbid_reuse => true,
148
- }
149
+ }.merge(options)
149
150
  opts.merge!({
150
151
  :userpwd => "#{login}:#{password}",
151
152
  :httpauth => :basic,
@@ -161,9 +162,9 @@ class Capybara::Driver::Typhoeus < Capybara::Driver::Base
161
162
  client.run
162
163
  @response = request.response
163
164
  if @response.timed_out?
164
- $stderr.puts "#{method.to_s.upcase} #{@current_uri}: time out"
165
+ $stderr.puts "#{method.to_s.upcase} #{@current_uri}: time out" if $DEBUG
165
166
  elsif @response.code==0
166
- $stderr.puts "#{method.to_s.upcase} #{@current_uri}: #{@response.curl_error_message}"
167
+ $stderr.puts "#{method.to_s.upcase} #{@current_uri}: #{@response.curl_error_message}" if $DEBUG
167
168
  end
168
169
  @response
169
170
  end
@@ -37,4 +37,36 @@ describe Capybara::Driver::Typhoeus do
37
37
  end
38
38
  end
39
39
 
40
+ context "timeout" do
41
+ context "default" do
42
+ subject do
43
+ driver = described_class.new TestApp
44
+ end
45
+
46
+ it "is 3 seconds" do
47
+ subject.options[:timeout].should == 3
48
+ end
49
+
50
+ it "is used during request" do
51
+ response = subject.get "/slow_response"
52
+ response.should_not be_timed_out
53
+ end
54
+ end
55
+
56
+ context "accepts custom timeout" do
57
+ subject do
58
+ driver = described_class.new TestApp, timeout: 1
59
+ end
60
+
61
+ it "is stored in options" do
62
+ subject.options[:timeout].should == 1
63
+ end
64
+
65
+ it "is used during request" do
66
+ response = subject.get "/slow_response"
67
+ response.should be_timed_out
68
+ end
69
+ end
70
+ end
71
+
40
72
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara-typhoeus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -152,7 +152,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
152
  version: '0'
153
153
  segments:
154
154
  - 0
155
- hash: 1687707288122240571
155
+ hash: 780856206997500836
156
156
  required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  none: false
158
158
  requirements: