webmock 1.16.1 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.17.0
4
+
5
+ * HTTP gem support!
6
+
7
+ Thanks to [Aleksey V. Zapparov](https://github.com/ixti)
8
+
9
+ * Limited Excon gem requirement to version < 0.30 until the compatibility with version > 0.30.0 is fixed.
10
+
11
+ Thanks to [Aleksey V. Zapparov](https://github.com/ixti)
12
+
13
+ * Fixed issue where empty query key caused a `TypeError`
14
+
15
+ Thanks to [Jon Rowe](https://github.com/JonRowe)
16
+
17
+ * Handling Typhoeus `on_headers` and `on_body` params.
18
+
19
+ Thanks to [Matt Burke](https://github.com/spraints)
20
+
3
21
  ## 1.16.1
4
22
 
5
23
  * Fixed "NameError: uninitialized constant WebMock::Response::Pathname" issue.
data/README.md CHANGED
@@ -25,6 +25,7 @@ Supported HTTP libraries
25
25
  * Curb (currently only Curb::Easy)
26
26
  * Typhoeus (currently only Typhoeus::Hydra)
27
27
  * Excon
28
+ * HTTP Gem
28
29
 
29
30
  Supported Ruby Interpreters
30
31
  ---------------------------
@@ -874,6 +875,9 @@ People who submitted patches and new features or suggested improvements. Many th
874
875
  * Stefano Uliari
875
876
  * Alex Stupakov
876
877
  * Karen Wang
878
+ * Matt Burke
879
+ * Jon Rowe
880
+ * Aleksey V. Zapparov
877
881
 
878
882
  For a full list of contributors you can visit the
879
883
  [contributors](https://github.com/bblimke/webmock/contributors) page.
@@ -38,6 +38,7 @@ require 'webmock/api'
38
38
  require 'webmock/http_lib_adapters/http_lib_adapter_registry'
39
39
  require 'webmock/http_lib_adapters/http_lib_adapter'
40
40
  require 'webmock/http_lib_adapters/net_http'
41
+ require 'webmock/http_lib_adapters/http_gem_adapter'
41
42
  require 'webmock/http_lib_adapters/httpclient_adapter'
42
43
  require 'webmock/http_lib_adapters/patron_adapter'
43
44
  require 'webmock/http_lib_adapters/curb_adapter'
@@ -0,0 +1,170 @@
1
+ begin
2
+ require "http"
3
+ rescue LoadError
4
+ # HTTP gem not found
5
+ end
6
+
7
+
8
+ if defined?(HTTP::Client)
9
+ module WebMock
10
+ module HttpLibAdapters
11
+ class HttpGemAdapter < HttpLibAdapter
12
+
13
+ adapter_for :http_gem
14
+
15
+
16
+ def self.enable!
17
+ ::HTTP.enable_webmock!
18
+ end
19
+
20
+
21
+ def self.disable!
22
+ ::HTTP.disable_webmock!
23
+ end
24
+
25
+ end
26
+ end
27
+ end
28
+
29
+
30
+ module HTTP
31
+ class Request
32
+
33
+ def webmock_signature
34
+ ::WebMock::RequestSignature.new(method, uri.to_s, {
35
+ :headers => headers,
36
+ :body => body
37
+ })
38
+ end
39
+
40
+ end
41
+
42
+
43
+ class Response
44
+
45
+ def to_webmock
46
+ webmock_response = ::WebMock::Response.new
47
+
48
+ webmock_response.status = [status, reason]
49
+ webmock_response.body = body
50
+ webmock_response.headers = headers
51
+
52
+ webmock_response
53
+ end
54
+
55
+
56
+ def self.from_webmock(webmock_response)
57
+ status = webmock_response.status.first
58
+ headers = webmock_response.headers || {}
59
+ body = webmock_response.body
60
+
61
+ new(status, "1.1", headers, body)
62
+ end
63
+
64
+ end
65
+
66
+
67
+ class WebMockPerform
68
+
69
+ def initialize request, &perform
70
+ @request = request
71
+ @perform = perform
72
+ end
73
+
74
+
75
+ def exec
76
+ replay || perform || halt
77
+ end
78
+
79
+
80
+ def request_signature
81
+ unless @request_signature
82
+ @request_signature = @request.webmock_signature
83
+ register_request(@request_signature)
84
+ end
85
+
86
+ @request_signature
87
+ end
88
+
89
+
90
+ protected
91
+
92
+
93
+ def response_for_request(signature)
94
+ ::WebMock::StubRegistry.instance.response_for_request(signature)
95
+ end
96
+
97
+
98
+ def register_request(signature)
99
+ ::WebMock::RequestRegistry.instance.requested_signatures.put(signature)
100
+ end
101
+
102
+
103
+ def replay
104
+ webmock_response = response_for_request(request_signature)
105
+
106
+ return unless webmock_response
107
+
108
+ raise Errno::ETIMEDOUT if webmock_response.should_timeout
109
+ webmock_response.raise_error_if_any
110
+
111
+ invoke_callbacks(webmock_response, :real_request => false)
112
+ ::HTTP::Response.from_webmock webmock_response
113
+ end
114
+
115
+
116
+ def perform
117
+ return unless ::WebMock.net_connect_allowed?(request_signature.uri)
118
+ response = @perform.call
119
+ invoke_callbacks(response.to_webmock, :real_request => true)
120
+ response
121
+ end
122
+
123
+
124
+ def halt
125
+ raise ::WebMock::NetConnectNotAllowedError.new request_signature
126
+ end
127
+
128
+
129
+ def invoke_callbacks webmock_response, options = {}
130
+ ::WebMock::CallbackRegistry.invoke_callbacks(
131
+ options.merge({ :lib => :http_gem }),
132
+ request_signature,
133
+ webmock_response
134
+ )
135
+ end
136
+
137
+ end
138
+
139
+
140
+ class Client
141
+
142
+ alias :__perform__ :perform
143
+
144
+ def perform request, options
145
+ return __perform__(request, options) unless ::HTTP.webmock_enabled?
146
+ WebMockPerform.new(request) { __perform__(request, options) }.exec
147
+ end
148
+
149
+ end
150
+
151
+
152
+ class << self
153
+
154
+ def enable_webmock!
155
+ @webmock_enabled = true
156
+ end
157
+
158
+
159
+ def disable_webmock!
160
+ @webmock_enabled = false
161
+ end
162
+
163
+
164
+ def webmock_enabled?
165
+ @webmock_enabled
166
+ end
167
+
168
+ end
169
+ end
170
+ end
@@ -143,6 +143,13 @@ if defined?(Typhoeus)
143
143
  if webmock_response = ::WebMock::StubRegistry.instance.response_for_request(request_signature)
144
144
  # ::WebMock::HttpLibAdapters::TyphoeusAdapter.stub_typhoeus(request_signature, webmock_response, self)
145
145
  response = ::WebMock::HttpLibAdapters::TyphoeusAdapter.generate_typhoeus_response(request_signature, webmock_response)
146
+ if request.respond_to?(:on_headers)
147
+ request.execute_headers_callbacks(response)
148
+ end
149
+ if request.respond_to?(:streaming?) && request.streaming?
150
+ response.options[:response_body] = ""
151
+ request.on_body.each { |callback| callback.call(webmock_response.body, response) }
152
+ end
146
153
  request.finish(response)
147
154
  webmock_response.raise_error_if_any
148
155
  res = false
@@ -131,8 +131,8 @@ module WebMock::Util
131
131
  end
132
132
  new_query_values = new_query_values.to_hash
133
133
  new_query_values = new_query_values.map do |key, value|
134
- key = key.to_s if key.kind_of?(Symbol)
135
- [key, value]
134
+ key = key.to_s if key.kind_of?(Symbol) || key.nil?
135
+ [key.to_s, value]
136
136
  end
137
137
  # Useful default for OAuth and caching.
138
138
  # Only to be used for non-Array inputs. Arrays should preserve order.
@@ -1,3 +1,3 @@
1
1
  module WebMock
2
- VERSION = '1.16.1' unless defined?(::WebMock::VERSION)
2
+ VERSION = '1.17.0' unless defined?(::WebMock::VERSION)
3
3
  end
@@ -7,8 +7,13 @@ module ExconSpecHelper
7
7
  uri = Addressable::URI.heuristic_parse(uri)
8
8
  uri = uri.omit(:userinfo).to_s.gsub(' ', '%20')
9
9
 
10
- options = options.merge(:method => method, :nonblock => false) # Dup and merge
11
- response = Excon.new(uri).request(options, &block)
10
+ if Gem::Version.new(Excon::VERSION) < Gem::Version.new("0.29.0")
11
+ options = options.merge(:method => method, :nonblock => false) # Dup and merge
12
+ response = Excon.new(uri).request(options, &block)
13
+ else
14
+ options = options.merge(:method => method) # Dup and merge
15
+ response = Excon.new(uri, :nonblock => false).request(options, &block)
16
+ end
12
17
 
13
18
  headers = WebMock::Util::Headers.normalize_headers(response.headers)
14
19
  headers = headers.inject({}) do |res, (name, value)|
@@ -0,0 +1,54 @@
1
+ # encoding: utf-8
2
+
3
+ require "spec_helper"
4
+ require "acceptance/webmock_shared"
5
+ require "acceptance/http_gem/http_gem_spec_helper"
6
+
7
+ describe "HTTP Gem" do
8
+
9
+ include HttpGemSpecHelper
10
+
11
+
12
+ include_examples "with WebMock", :no_status_message
13
+
14
+
15
+ context "when not following redirects" do
16
+
17
+ let(:response) { http_request(:get, "http://example.com") }
18
+ let(:headers) { response.headers }
19
+
20
+ it "stops on first request" do
21
+ stub_simple_request("example.com", 302, "Location" => "www.example.com")
22
+ stub_simple_request("www.example.com")
23
+
24
+ expect(headers).to include "Host" => "example.com"
25
+ end
26
+
27
+ end
28
+
29
+
30
+ context "when following redirects" do
31
+
32
+ let(:response) { http_request(:get, "http://example.com", :follow => true) }
33
+ let(:headers) { response.headers }
34
+
35
+
36
+ it "returns response of destination" do
37
+ stub_simple_request("example.com", 302, "Location" => "www.example.com")
38
+ stub_simple_request("www.example.com")
39
+
40
+ expect(headers).to include "Host" => "www.example.com"
41
+ end
42
+
43
+
44
+ it "works with more than one redirect" do
45
+ stub_simple_request("example.com", 302, "Location" => "www.example.com")
46
+ stub_simple_request("www.example.com", 302, "Location" => "blog.example.com")
47
+ stub_simple_request("blog.example.com")
48
+
49
+ expect(headers).to include "Host" => "blog.example.com"
50
+ end
51
+
52
+ end
53
+
54
+ end
@@ -0,0 +1,52 @@
1
+ require "ostruct"
2
+
3
+
4
+ module HttpGemSpecHelper
5
+
6
+ def http_request(method, uri, options = {}, &block)
7
+ response = HTTP.request(method, normalize_uri(uri), options).response
8
+
9
+ OpenStruct.new({
10
+ :body => response.body,
11
+ :headers => normalize_headers(response.headers),
12
+ :status => response.status.to_s,
13
+ :message => response.reason
14
+ })
15
+ end
16
+
17
+
18
+ def normalize_uri(uri)
19
+ Addressable::URI.heuristic_parse(uri).normalize.to_s
20
+ end
21
+
22
+
23
+ def normalize_headers headers
24
+ WebMock::Util::Headers.normalize_headers(Hash[headers.map { |k, v|
25
+ [k, v.is_a?(Array) ? v.join(", ") : v]
26
+ }])
27
+ end
28
+
29
+
30
+ def stub_simple_request host, status = 200, headers = {}
31
+ stub_request(:any, host).to_return({
32
+ :status => status,
33
+ :headers => headers.merge({ "Host" => host })
34
+ })
35
+ end
36
+
37
+
38
+ def client_timeout_exception_class
39
+ Errno::ETIMEDOUT
40
+ end
41
+
42
+
43
+ def connection_refused_exception_class
44
+ Errno::ECONNREFUSED
45
+ end
46
+
47
+
48
+ def http_library
49
+ :http_gem
50
+ end
51
+
52
+ end
@@ -78,6 +78,39 @@ unless RUBY_PLATFORM =~ /java/
78
78
  hydra.run
79
79
  test.should == response_code
80
80
  end
81
+
82
+ it "should call on_body with 2xx response" do
83
+ body = "on_body fired"
84
+ stub_request(:any, "example.com").to_return(:body => body)
85
+
86
+ test_body = nil
87
+ test_complete = nil
88
+ pending("This test requires a newer version of Typhoeus") unless @request.respond_to?(:on_body)
89
+ @request.on_body do |body, response|
90
+ test_body = body
91
+ end
92
+ @request.on_complete do |response|
93
+ test_complete = response.body
94
+ end
95
+ hydra.queue @request
96
+ hydra.run
97
+ test_body.should == body
98
+ test_complete.should == ""
99
+ end
100
+
101
+ it "should call on_headers with 2xx response" do
102
+ body = "on_headers fired"
103
+ stub_request(:any, "example.com").to_return(:body => body, :headers => {'X-Test' => '1'})
104
+
105
+ test_headers = nil
106
+ pending("This test requires a newer version of Typhoeus") unless @request.respond_to?(:on_headers)
107
+ @request.on_headers do |response|
108
+ test_headers = response.headers
109
+ end
110
+ hydra.queue @request
111
+ hydra.run
112
+ test_headers.should include('X-Test' => '1')
113
+ end
81
114
  end
82
115
  end
83
116
  end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ describe WebMock::Util::QueryMapper do
4
+ let(:query_mapper) { described_class }
5
+
6
+ it "converts query to values" do
7
+ query = "key=value&other_key=other_value"
8
+ values = { 'key' => 'value', 'other_key' => 'other_value' }
9
+ expect(query_mapper.query_to_values query).to eq values
10
+ end
11
+
12
+ it 'converts values to a query string' do
13
+ query = "key=value&other_key=other_value"
14
+ values = [['key','value'],['other_key','other_value']]
15
+ expect(query_mapper.values_to_query values).to eq query
16
+ end
17
+
18
+ it 'converts values with missing keys to a query string' do
19
+ query = "=value"
20
+ values = { '' => 'value' }
21
+ expect(query_mapper.values_to_query values).to eq query
22
+ end
23
+
24
+ it 'converts values with nil keys to a query string' do
25
+ query = "=value"
26
+ values = { nil => 'value' }
27
+ expect(query_mapper.values_to_query values).to eq query
28
+ end
29
+
30
+ end
@@ -19,13 +19,14 @@ Gem::Specification.new do |s|
19
19
  s.add_dependency 'crack', '>=0.3.2'
20
20
 
21
21
  s.add_development_dependency 'rspec', '~> 2.10'
22
+ s.add_development_dependency 'http', '>= 0.5.0'
22
23
  s.add_development_dependency 'httpclient', '>= 2.2.4'
23
24
  s.add_development_dependency 'patron', '>= 0.4.18' unless RUBY_PLATFORM =~ /java/
24
25
  s.add_development_dependency 'em-http-request', '>= 1.0.2'
25
26
  s.add_development_dependency 'em-synchrony', '>= 1.0.0' if RUBY_VERSION >= "1.9"
26
27
  s.add_development_dependency 'curb', '>= 0.8.0' unless RUBY_PLATFORM =~ /java/
27
28
  s.add_development_dependency 'typhoeus', '>= 0.5.0' unless RUBY_PLATFORM =~ /java/
28
- s.add_development_dependency 'excon', '>= 0.22.0'
29
+ s.add_development_dependency 'excon', '>= 0.27.5', '< 0.30.0'
29
30
  s.add_development_dependency 'minitest', '~> 5.0.0'
30
31
  s.add_development_dependency 'rdoc', ((RUBY_VERSION == '1.8.6') ? '<= 3.5.0' : '>3.5.0')
31
32
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webmock
3
3
  version: !ruby/object:Gem::Version
4
- hash: 85
4
+ hash: 83
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 16
9
- - 1
10
- version: 1.16.1
8
+ - 17
9
+ - 0
10
+ version: 1.17.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Bartosz Blimke
@@ -15,10 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-12-15 00:00:00 Z
18
+ date: 2014-01-16 00:00:00 +01:00
19
+ default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- name: addressable
22
+ type: :runtime
22
23
  version_requirements: &id001 !ruby/object:Gem::Requirement
23
24
  none: false
24
25
  requirements:
@@ -30,11 +31,11 @@ dependencies:
30
31
  - 2
31
32
  - 7
32
33
  version: 2.2.7
33
- type: :runtime
34
34
  prerelease: false
35
35
  requirement: *id001
36
+ name: addressable
36
37
  - !ruby/object:Gem::Dependency
37
- name: crack
38
+ type: :runtime
38
39
  version_requirements: &id002 !ruby/object:Gem::Requirement
39
40
  none: false
40
41
  requirements:
@@ -46,11 +47,11 @@ dependencies:
46
47
  - 3
47
48
  - 2
48
49
  version: 0.3.2
49
- type: :runtime
50
50
  prerelease: false
51
51
  requirement: *id002
52
+ name: crack
52
53
  - !ruby/object:Gem::Dependency
53
- name: rspec
54
+ type: :development
54
55
  version_requirements: &id003 !ruby/object:Gem::Requirement
55
56
  none: false
56
57
  requirements:
@@ -61,12 +62,28 @@ dependencies:
61
62
  - 2
62
63
  - 10
63
64
  version: "2.10"
64
- type: :development
65
65
  prerelease: false
66
66
  requirement: *id003
67
+ name: rspec
67
68
  - !ruby/object:Gem::Dependency
68
- name: httpclient
69
+ type: :development
69
70
  version_requirements: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ hash: 11
76
+ segments:
77
+ - 0
78
+ - 5
79
+ - 0
80
+ version: 0.5.0
81
+ prerelease: false
82
+ requirement: *id004
83
+ name: http
84
+ - !ruby/object:Gem::Dependency
85
+ type: :development
86
+ version_requirements: &id005 !ruby/object:Gem::Requirement
70
87
  none: false
71
88
  requirements:
72
89
  - - ">="
@@ -77,12 +94,12 @@ dependencies:
77
94
  - 2
78
95
  - 4
79
96
  version: 2.2.4
80
- type: :development
81
97
  prerelease: false
82
- requirement: *id004
98
+ requirement: *id005
99
+ name: httpclient
83
100
  - !ruby/object:Gem::Dependency
84
- name: patron
85
- version_requirements: &id005 !ruby/object:Gem::Requirement
101
+ type: :development
102
+ version_requirements: &id006 !ruby/object:Gem::Requirement
86
103
  none: false
87
104
  requirements:
88
105
  - - ">="
@@ -93,12 +110,12 @@ dependencies:
93
110
  - 4
94
111
  - 18
95
112
  version: 0.4.18
96
- type: :development
97
113
  prerelease: false
98
- requirement: *id005
114
+ requirement: *id006
115
+ name: patron
99
116
  - !ruby/object:Gem::Dependency
100
- name: em-http-request
101
- version_requirements: &id006 !ruby/object:Gem::Requirement
117
+ type: :development
118
+ version_requirements: &id007 !ruby/object:Gem::Requirement
102
119
  none: false
103
120
  requirements:
104
121
  - - ">="
@@ -109,12 +126,12 @@ dependencies:
109
126
  - 0
110
127
  - 2
111
128
  version: 1.0.2
112
- type: :development
113
129
  prerelease: false
114
- requirement: *id006
130
+ requirement: *id007
131
+ name: em-http-request
115
132
  - !ruby/object:Gem::Dependency
116
- name: curb
117
- version_requirements: &id007 !ruby/object:Gem::Requirement
133
+ type: :development
134
+ version_requirements: &id008 !ruby/object:Gem::Requirement
118
135
  none: false
119
136
  requirements:
120
137
  - - ">="
@@ -125,12 +142,12 @@ dependencies:
125
142
  - 8
126
143
  - 0
127
144
  version: 0.8.0
128
- type: :development
129
145
  prerelease: false
130
- requirement: *id007
146
+ requirement: *id008
147
+ name: curb
131
148
  - !ruby/object:Gem::Dependency
132
- name: typhoeus
133
- version_requirements: &id008 !ruby/object:Gem::Requirement
149
+ type: :development
150
+ version_requirements: &id009 !ruby/object:Gem::Requirement
134
151
  none: false
135
152
  requirements:
136
153
  - - ">="
@@ -141,28 +158,36 @@ dependencies:
141
158
  - 5
142
159
  - 0
143
160
  version: 0.5.0
144
- type: :development
145
161
  prerelease: false
146
- requirement: *id008
162
+ requirement: *id009
163
+ name: typhoeus
147
164
  - !ruby/object:Gem::Dependency
148
- name: excon
149
- version_requirements: &id009 !ruby/object:Gem::Requirement
165
+ type: :development
166
+ version_requirements: &id010 !ruby/object:Gem::Requirement
150
167
  none: false
151
168
  requirements:
152
169
  - - ">="
153
170
  - !ruby/object:Gem::Version
154
- hash: 71
171
+ hash: 121
172
+ segments:
173
+ - 0
174
+ - 27
175
+ - 5
176
+ version: 0.27.5
177
+ - - <
178
+ - !ruby/object:Gem::Version
179
+ hash: 103
155
180
  segments:
156
181
  - 0
157
- - 22
182
+ - 30
158
183
  - 0
159
- version: 0.22.0
160
- type: :development
184
+ version: 0.30.0
161
185
  prerelease: false
162
- requirement: *id009
186
+ requirement: *id010
187
+ name: excon
163
188
  - !ruby/object:Gem::Dependency
164
- name: minitest
165
- version_requirements: &id010 !ruby/object:Gem::Requirement
189
+ type: :development
190
+ version_requirements: &id011 !ruby/object:Gem::Requirement
166
191
  none: false
167
192
  requirements:
168
193
  - - ~>
@@ -173,12 +198,12 @@ dependencies:
173
198
  - 0
174
199
  - 0
175
200
  version: 5.0.0
176
- type: :development
177
201
  prerelease: false
178
- requirement: *id010
202
+ requirement: *id011
203
+ name: minitest
179
204
  - !ruby/object:Gem::Dependency
180
- name: rdoc
181
- version_requirements: &id011 !ruby/object:Gem::Requirement
205
+ type: :development
206
+ version_requirements: &id012 !ruby/object:Gem::Requirement
182
207
  none: false
183
208
  requirements:
184
209
  - - ">"
@@ -189,9 +214,9 @@ dependencies:
189
214
  - 5
190
215
  - 0
191
216
  version: 3.5.0
192
- type: :development
193
217
  prerelease: false
194
- requirement: *id011
218
+ requirement: *id012
219
+ name: rdoc
195
220
  description: WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.
196
221
  email:
197
222
  - bartosz.blimke@gmail.com
@@ -224,6 +249,7 @@ files:
224
249
  - lib/webmock/http_lib_adapters/em_http_request/em_http_request_1_x.rb
225
250
  - lib/webmock/http_lib_adapters/em_http_request_adapter.rb
226
251
  - lib/webmock/http_lib_adapters/excon_adapter.rb
252
+ - lib/webmock/http_lib_adapters/http_gem_adapter.rb
227
253
  - lib/webmock/http_lib_adapters/http_lib_adapter.rb
228
254
  - lib/webmock/http_lib_adapters/http_lib_adapter_registry.rb
229
255
  - lib/webmock/http_lib_adapters/httpclient_adapter.rb
@@ -266,6 +292,8 @@ files:
266
292
  - spec/acceptance/em_http_request/em_http_request_spec_helper.rb
267
293
  - spec/acceptance/excon/excon_spec.rb
268
294
  - spec/acceptance/excon/excon_spec_helper.rb
295
+ - spec/acceptance/http_gem/http_gem_spec.rb
296
+ - spec/acceptance/http_gem/http_gem_spec_helper.rb
269
297
  - spec/acceptance/httpclient/httpclient_spec.rb
270
298
  - spec/acceptance/httpclient/httpclient_spec_helper.rb
271
299
  - spec/acceptance/net_http/net_http_shared.rb
@@ -309,6 +337,7 @@ files:
309
337
  - spec/unit/util/hash_keys_stringifier_spec.rb
310
338
  - spec/unit/util/headers_spec.rb
311
339
  - spec/unit/util/json_spec.rb
340
+ - spec/unit/util/query_mapper_spec.rb
312
341
  - spec/unit/util/uri_spec.rb
313
342
  - spec/unit/util/version_checker_spec.rb
314
343
  - spec/unit/webmock_spec.rb
@@ -317,6 +346,7 @@ files:
317
346
  - test/test_helper.rb
318
347
  - test/test_webmock.rb
319
348
  - webmock.gemspec
349
+ has_rdoc: true
320
350
  homepage: http://github.com/bblimke/webmock
321
351
  licenses:
322
352
  - MIT
@@ -346,7 +376,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
346
376
  requirements: []
347
377
 
348
378
  rubyforge_project: webmock
349
- rubygems_version: 1.8.19
379
+ rubygems_version: 1.6.2
350
380
  signing_key:
351
381
  specification_version: 3
352
382
  summary: Library for stubbing HTTP requests in Ruby.
@@ -357,6 +387,8 @@ test_files:
357
387
  - spec/acceptance/em_http_request/em_http_request_spec_helper.rb
358
388
  - spec/acceptance/excon/excon_spec.rb
359
389
  - spec/acceptance/excon/excon_spec_helper.rb
390
+ - spec/acceptance/http_gem/http_gem_spec.rb
391
+ - spec/acceptance/http_gem/http_gem_spec_helper.rb
360
392
  - spec/acceptance/httpclient/httpclient_spec.rb
361
393
  - spec/acceptance/httpclient/httpclient_spec_helper.rb
362
394
  - spec/acceptance/net_http/net_http_shared.rb
@@ -400,6 +432,7 @@ test_files:
400
432
  - spec/unit/util/hash_keys_stringifier_spec.rb
401
433
  - spec/unit/util/headers_spec.rb
402
434
  - spec/unit/util/json_spec.rb
435
+ - spec/unit/util/query_mapper_spec.rb
403
436
  - spec/unit/util/uri_spec.rb
404
437
  - spec/unit/util/version_checker_spec.rb
405
438
  - spec/unit/webmock_spec.rb