capybara-typhoeus 0.2.3 → 0.2.4

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.
@@ -13,7 +13,7 @@ class Capybara::Driver::Typhoeus < Capybara::Driver::Base
13
13
  def client
14
14
  @client ||= Typhoeus::Hydra.new
15
15
  end
16
-
16
+
17
17
  def initialize(app, options={})
18
18
  @app = app
19
19
  @options = options
@@ -25,7 +25,7 @@ class Capybara::Driver::Typhoeus < Capybara::Driver::Base
25
25
  reset_cache
26
26
  process :get, url, params
27
27
  end
28
-
28
+
29
29
  def get(url, params = {}, headers = {})
30
30
  reset_cache
31
31
  process :get, url, params, headers
@@ -60,7 +60,7 @@ class Capybara::Driver::Typhoeus < Capybara::Driver::Base
60
60
  reset_cache
61
61
  process :request, url, params, headers
62
62
  end
63
-
63
+
64
64
  def submit(method, path, attributes)
65
65
  path = request.path if not path or path.empty?
66
66
  process method.to_sym, path, attributes
@@ -69,24 +69,24 @@ class Capybara::Driver::Typhoeus < Capybara::Driver::Base
69
69
  def find(selector)
70
70
  dom.xpath(selector).map { |node| Node.new(self, node) }
71
71
  end
72
-
72
+
73
73
  def html
74
74
  @html ||= Nokogiri::HTML body
75
75
  end
76
-
76
+
77
77
  def xml
78
78
  @xml ||= Nokogiri::XML body
79
79
  end
80
-
80
+
81
81
  def json
82
82
  @json ||= Yajl::Parser.parse body
83
83
  end
84
-
84
+
85
85
  def body
86
86
  response.body
87
87
  end
88
88
  alias_method :source, :body
89
-
89
+
90
90
  def response_headers
91
91
  response.headers_hash
92
92
  end
@@ -94,28 +94,28 @@ class Capybara::Driver::Typhoeus < Capybara::Driver::Base
94
94
  def status_code
95
95
  response.code
96
96
  end
97
-
97
+
98
98
  def current_url
99
99
  @current_uri.to_s
100
100
  end
101
-
101
+
102
102
  def reset!
103
103
  @client = nil
104
104
  @response = nil
105
105
  @current_uri = nil
106
106
  reset_cache
107
107
  end
108
-
108
+
109
109
  def reset_with!
110
110
  @with_headers = {}
111
111
  @with_params = {}
112
112
  @with_options = {}
113
113
  end
114
-
114
+
115
115
  def as
116
116
  @as ||= "application/json"
117
117
  end
118
-
118
+
119
119
  def with_headers
120
120
  @with_headers ||= {}
121
121
  end
@@ -144,8 +144,11 @@ class Capybara::Driver::Typhoeus < Capybara::Driver::Base
144
144
  request = Typhoeus::Request.new @current_uri, with_options.merge(opts)
145
145
  client.queue request
146
146
  client.run
147
+ # $stdout.puts request.inspect
147
148
  @response = request.response
149
+ # $stdout.puts response.inspect
148
150
  if @response.timed_out?
151
+ `open #{@current_uri}`
149
152
  $stderr.puts "#{method.to_s.upcase} #{@current_uri}: time out"
150
153
  elsif @response.code==0
151
154
  $stderr.puts "#{method.to_s.upcase} #{@current_uri}: #{@response.curl_error_message}"
@@ -177,4 +180,4 @@ private
177
180
  @json = nil
178
181
  end
179
182
 
180
- end
183
+ end
@@ -1,3 +1,5 @@
1
+ require "capybara"
2
+
1
3
  module Capybara
2
4
  module Driver
3
5
  autoload :Typhoeus, 'capybara/driver/typhoeus_driver'
@@ -6,4 +8,4 @@ end
6
8
 
7
9
  Capybara.register_driver :typhoeus do |app|
8
10
  Capybara::Driver::Typhoeus.new(app)
9
- end
11
+ end
@@ -10,6 +10,14 @@ describe Capybara::Session do
10
10
  @session = TestSessions::Typhoeus
11
11
  end
12
12
 
13
+ after do
14
+ @session.reset_session!
15
+ end
16
+
17
+ def extract_results(session)
18
+ YAML.load Nokogiri::HTML(session.body).xpath("//pre[@id='results']").first.text
19
+ end
20
+
13
21
  describe '#driver' do
14
22
  it "should be a typhoeus driver" do
15
23
  @session.driver.should be_an_instance_of Capybara::Driver::Typhoeus
@@ -22,14 +30,6 @@ describe Capybara::Session do
22
30
  end
23
31
  end
24
32
 
25
- def extract_results(session)
26
- YAML.load Nokogiri::HTML(session.body).xpath("//pre[@id='results']").first.text
27
- end
28
-
29
- after do
30
- @session.reset!
31
- end
32
-
33
33
  describe '#app' do
34
34
  it "should remember the application" do
35
35
  @session.app.should == TestApp
@@ -67,7 +67,6 @@ describe Capybara::Session do
67
67
  it_should_behave_like "find_by_id"
68
68
  it_should_behave_like "has_content"
69
69
  it_should_behave_like "has_css"
70
- it_should_behave_like "has_css"
71
70
  it_should_behave_like "has_selector"
72
71
  it_should_behave_like "has_xpath"
73
72
  it_should_behave_like "has_link"
@@ -1,7 +1,7 @@
1
1
  require 'bundler/setup'
2
2
  require 'capybara'
3
3
  require 'capybara/typhoeus'
4
- require 'capybara/spec/extended_test_app'
4
+ require 'capybara/spec/test_app'
5
5
  require 'capybara/spec/driver'
6
6
  require 'capybara/spec/session'
7
7
 
@@ -13,4 +13,4 @@ RSpec.configure do |config|
13
13
  config.after do
14
14
  Capybara.default_selector = :xpath
15
15
  end
16
- end
16
+ 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.3
4
+ version: 0.2.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,41 +10,120 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-04-22 00:00:00.000000000Z
13
+ date: 2011-04-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: capybara
17
- requirement: &70241745236780 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 1.1.1
22
+ version: 1.1.2
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70241745236780
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: 1.1.2
26
31
  - !ruby/object:Gem::Dependency
27
32
  name: typhoeus
28
- requirement: &70241745235680 !ruby/object:Gem::Requirement
33
+ requirement: !ruby/object:Gem::Requirement
29
34
  none: false
30
35
  requirements:
31
36
  - - ~>
32
37
  - !ruby/object:Gem::Version
33
- version: 0.3.2
38
+ version: 0.3.3
34
39
  type: :runtime
35
40
  prerelease: false
36
- version_requirements: *70241745235680
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: 0.3.3
37
47
  - !ruby/object:Gem::Dependency
38
48
  name: yajl-ruby
39
- requirement: &70241745234580 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
40
50
  none: false
41
51
  requirements:
42
52
  - - ~>
43
53
  - !ruby/object:Gem::Version
44
- version: 1.0.0
54
+ version: '1.0'
45
55
  type: :runtime
46
56
  prerelease: false
47
- version_requirements: *70241745234580
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: '1.0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ - !ruby/object:Gem::Dependency
80
+ name: rspec
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: rack
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: sinatra
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ! '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
48
127
  description: Typhoeus driver for Capybara, allowing testing of REST APIs
49
128
  email: joseph.halter@thetalentbox.com
50
129
  executables: []
@@ -52,7 +131,6 @@ extensions: []
52
131
  extra_rdoc_files: []
53
132
  files:
54
133
  - lib/capybara/driver/typhoeus_driver.rb
55
- - lib/capybara/spec/extended_test_app.rb
56
134
  - lib/capybara/typhoeus/cucumber.rb
57
135
  - lib/capybara/typhoeus.rb
58
136
  - spec/driver/typhoeus_driver_spec.rb
@@ -72,6 +150,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
72
150
  - - ! '>='
73
151
  - !ruby/object:Gem::Version
74
152
  version: '0'
153
+ segments:
154
+ - 0
155
+ hash: -3419795448248900470
75
156
  required_rubygems_version: !ruby/object:Gem::Requirement
76
157
  none: false
77
158
  requirements:
@@ -80,9 +161,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
161
  version: '0'
81
162
  requirements: []
82
163
  rubyforge_project:
83
- rubygems_version: 1.8.10
164
+ rubygems_version: 1.8.24
84
165
  signing_key:
85
166
  specification_version: 3
86
167
  summary: Typhoeus driver for Capybara
87
168
  test_files: []
88
- has_rdoc:
@@ -1,17 +0,0 @@
1
- require 'capybara/spec/test_app'
2
-
3
- class ExtendedTestApp < TestApp
4
- set :environment, :production
5
-
6
- get %r{/redirect_to/(.*)} do
7
- redirect params[:captures]
8
- end
9
-
10
- get '/host' do
11
- "current host is #{request.host}"
12
- end
13
- end
14
-
15
- if __FILE__ == $0
16
- Rack::Handler::Mongrel.run ExtendedTestApp, :Port => 8070
17
- end