webstub 1.1.1 → 1.1.2
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.
- checksums.yaml +4 -4
- data/lib/webstub/patch/session_configuration.rb +4 -4
- data/lib/webstub/stub.rb +4 -4
- data/lib/webstub/version.rb +1 -1
- data/spec/stub_spec.rb +14 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 417c4590e0317c76435c058817bf99abf978ed1d
|
4
|
+
data.tar.gz: b4bdc1d2000e39c50545b09e08ca84ecc869c047
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c510ac76a7fffb353a52e2c0090bac01b92a5940fdd74c94bf3d66e5647b1fa4449aad9a99b7a5d36d7ab692b9e3ecb08075f99ebe6ce200827ee8841f8d2253
|
7
|
+
data.tar.gz: 844d47d28fdcf93b6700297623da1177b631bdf1fe236c752a1eec4cddaf33b5c44cb6f9e1e739c013f11f7157bf5a248ec04c52629925a6d38051c6a91a1111
|
@@ -6,9 +6,9 @@ if Kernel.const_defined?(:NSURLSessionConfiguration)
|
|
6
6
|
def defaultSessionConfiguration
|
7
7
|
config = originalDefaultSessionConfiguration
|
8
8
|
|
9
|
-
protocols = config.protocolClasses.clone || []
|
9
|
+
protocols = (config.protocolClasses && config.protocolClasses.clone) || []
|
10
10
|
unless protocols.include?(WebStub::Protocol)
|
11
|
-
protocols
|
11
|
+
protocols.unshift WebStub::Protocol
|
12
12
|
config.protocolClasses = protocols
|
13
13
|
end
|
14
14
|
|
@@ -20,9 +20,9 @@ if Kernel.const_defined?(:NSURLSessionConfiguration)
|
|
20
20
|
def ephemeralSessionConfiguration
|
21
21
|
config = originalEphemeralSessionConfiguration
|
22
22
|
|
23
|
-
protocols = config.protocolClasses.clone || []
|
23
|
+
protocols = (config.protocolClasses && config.protocolClasses.clone) || []
|
24
24
|
unless protocols.include?(WebStub::Protocol)
|
25
|
-
protocols
|
25
|
+
protocols.unshift WebStub::Protocol
|
26
26
|
config.protocolClasses = protocols
|
27
27
|
end
|
28
28
|
|
data/lib/webstub/stub.rb
CHANGED
@@ -7,7 +7,7 @@ module WebStub
|
|
7
7
|
raise ArgumentError, "invalid method name" unless METHODS.include? @request_method
|
8
8
|
|
9
9
|
@requests = 0
|
10
|
-
|
10
|
+
|
11
11
|
@request_url = canonicalize_url(url)
|
12
12
|
@request_headers = nil
|
13
13
|
@request_body = nil
|
@@ -75,7 +75,7 @@ module WebStub
|
|
75
75
|
elsif code = options.delete(:code)
|
76
76
|
@response_error = NSError.errorWithDomain(NSURLErrorDomain, code: code, userInfo: nil)
|
77
77
|
else
|
78
|
-
raise ArgumentError, "to_fail requires either the code or error option"
|
78
|
+
raise ArgumentError, "to_fail requires either the code or error option"
|
79
79
|
end
|
80
80
|
|
81
81
|
self
|
@@ -180,11 +180,11 @@ module WebStub
|
|
180
180
|
parts << path
|
181
181
|
end
|
182
182
|
|
183
|
-
if query
|
183
|
+
if query && !query.empty?
|
184
184
|
parts << "?#{query}"
|
185
185
|
end
|
186
186
|
|
187
|
-
if fragment
|
187
|
+
if fragment && !fragment.empty?
|
188
188
|
parts << "##{fragment}"
|
189
189
|
end
|
190
190
|
|
data/lib/webstub/version.rb
CHANGED
data/spec/stub_spec.rb
CHANGED
@@ -47,7 +47,7 @@ describe WebStub::Stub do
|
|
47
47
|
end
|
48
48
|
end
|
49
49
|
it "calls the callback method" do
|
50
|
-
@stub.callback.should.not.be.nil
|
50
|
+
@stub.callback.should.not.be.nil
|
51
51
|
end
|
52
52
|
it "should call the callback" do
|
53
53
|
@stub.do_callback("headers", "body")
|
@@ -90,6 +90,14 @@ describe WebStub::Stub do
|
|
90
90
|
it "ignores a path with \"/\"" do
|
91
91
|
@stub.matches?(:get, "http://www.yahoo.com:80/").should.be.true
|
92
92
|
end
|
93
|
+
|
94
|
+
it 'strips any trailing ?' do
|
95
|
+
@stub.matches?(:get, "http://www.yahoo.com/?").should.be.true
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'strips any trailing #' do
|
99
|
+
@stub.matches?(:get, "http://www.yahoo.com/#").should.be.true
|
100
|
+
end
|
93
101
|
end
|
94
102
|
|
95
103
|
describe "body" do
|
@@ -100,7 +108,7 @@ describe WebStub::Stub do
|
|
100
108
|
end
|
101
109
|
|
102
110
|
it "returns false when the body does not match" do
|
103
|
-
@stub.matches?(:post, "http://www.yahoo.com/search", { :body => {}}).should.be.false
|
111
|
+
@stub.matches?(:post, "http://www.yahoo.com/search", { :body => {}}).should.be.false
|
104
112
|
end
|
105
113
|
|
106
114
|
it "returns true when the body matches (with string keys)" do
|
@@ -135,12 +143,12 @@ describe WebStub::Stub do
|
|
135
143
|
end
|
136
144
|
|
137
145
|
it "returns true when the headers are included" do
|
138
|
-
@stub.matches?(:get, "http://www.yahoo.com/search",
|
146
|
+
@stub.matches?(:get, "http://www.yahoo.com/search",
|
139
147
|
headers: { "X-Extra" => "42", "Authorization" => "secret" }).should.be.true
|
140
148
|
end
|
141
149
|
|
142
150
|
it "returns false when any of the headers are absent" do
|
143
|
-
@stub.matches?(:get, "http://www.yahoo.com/search",
|
151
|
+
@stub.matches?(:get, "http://www.yahoo.com/search",
|
144
152
|
headers: { "X-Extra" => "42" }).should.be.false
|
145
153
|
end
|
146
154
|
end
|
@@ -166,7 +174,7 @@ describe WebStub::Stub do
|
|
166
174
|
|
167
175
|
describe "#response_body" do
|
168
176
|
it "returns the response body" do
|
169
|
-
@stub.response_body.should == ""
|
177
|
+
@stub.response_body.should == ""
|
170
178
|
end
|
171
179
|
end
|
172
180
|
|
@@ -247,7 +255,7 @@ describe WebStub::Stub do
|
|
247
255
|
|
248
256
|
it "sets response headers" do
|
249
257
|
@stub.to_return(body: "{}", headers: { "Content-Type" => "application/json" })
|
250
|
-
@stub.response_headers.should.be == { "Content-Type" => "application/json" }
|
258
|
+
@stub.response_headers.should.be == { "Content-Type" => "application/json" }
|
251
259
|
end
|
252
260
|
|
253
261
|
it "sets the response status code" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webstub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Green
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|