@@ -14,10 +14,10 @@ def app; subject end
1414 end
1515
1616 get 'awesome/sauce/hello'
17- last_response . body . should == "Hello there."
17+ last_response . body . should eql "Hello there."
1818
1919 get '/hello'
20- last_response . status . should == 404
20+ last_response . status . should eql 404
2121 end
2222 end
2323
@@ -29,7 +29,7 @@ def app; subject end
2929 end
3030
3131 get '/v1/hello'
32- last_response . body . should == "Version: v1"
32+ last_response . body . should eql "Version: v1"
3333 end
3434
3535 it 'should add the prefix before the API version' do
@@ -40,7 +40,7 @@ def app; subject end
4040 end
4141
4242 get '/api/v1/hello'
43- last_response . body . should == "Version: v1"
43+ last_response . body . should eql "Version: v1"
4444 end
4545
4646 it 'should be able to specify version as a nesting' do
@@ -56,13 +56,13 @@ def app; subject end
5656 end
5757
5858 get '/v1/awesome'
59- last_response . status . should == 404
59+ last_response . status . should eql 404
6060 get '/v2/awesome'
61- last_response . status . should == 200
61+ last_response . status . should eql 200
6262 get '/v1/legacy'
63- last_response . status . should == 200
63+ last_response . status . should eql 200
6464 get '/v2/legacy'
65- last_response . status . should == 404
65+ last_response . status . should eql 404
6666 end
6767
6868 it 'should be able to specify multiple versions' do
@@ -72,11 +72,11 @@ def app; subject end
7272 end
7373
7474 get '/v1/awesome'
75- last_response . status . should == 200
75+ last_response . status . should eql 200
7676 get '/v2/awesome'
77- last_response . status . should == 200
77+ last_response . status . should eql 200
7878 get '/v3/awesome'
79- last_response . status . should == 404
79+ last_response . status . should eql 404
8080 end
8181
8282 it 'should allow the same endpoint to be implemented for different versions' do
@@ -146,7 +146,7 @@ def app; subject end
146146 %w( group resource resources ) . each do |als |
147147 it "`.#{ als } ` should be an alias" do
148148 subject . send ( als , :awesome ) do
149- namespace . should == "/awesome"
149+ namespace . should == "/awesome"
150150 end
151151 end
152152 end
@@ -165,9 +165,9 @@ def app; subject end
165165 end
166166
167167 get '/votes'
168- last_response . body . should == 'Votes'
168+ last_response . body . should eql 'Votes'
169169 post '/votes'
170- last_response . body . should == 'Created a Vote'
170+ last_response . body . should eql 'Created a Vote'
171171 end
172172
173173 it 'should allow for multiple paths' do
@@ -176,9 +176,9 @@ def app; subject end
176176 end
177177
178178 get '/abc'
179- last_response . body . should == 'foo'
179+ last_response . body . should eql 'foo'
180180 get '/def'
181- last_response . body . should == 'foo'
181+ last_response . body . should eql 'foo'
182182 end
183183
184184 it 'should allow for format' do
@@ -187,7 +187,7 @@ def app; subject end
187187 end
188188
189189 get '/abc.json'
190- last_response . body . should == '"json"'
190+ last_response . body . should eql '"json"'
191191 end
192192
193193 it 'should allow for format in namespace with no path' do
@@ -198,7 +198,7 @@ def app; subject end
198198 end
199199
200200 get '/abc.json'
201- last_response . body . should == '"json"'
201+ last_response . body . should eql '"json"'
202202 end
203203
204204 it 'should allow for multiple verbs' do
@@ -207,9 +207,38 @@ def app; subject end
207207 end
208208
209209 get '/abc'
210- last_response . body . should == 'hiya'
210+ last_response . body . should eql 'hiya'
211211 post '/abc'
212- last_response . body . should == 'hiya'
212+ last_response . body . should eql 'hiya'
213+ end
214+
215+ it 'should allow for multipart paths' do
216+
217+
218+ subject . route ( [ :get , :post ] , '/:id/first' ) do
219+ "first"
220+ end
221+
222+
223+ subject . route ( [ :get , :post ] , '/:id' ) do
224+ "ola"
225+ end
226+ subject . route ( [ :get , :post ] , '/:id/first/second' ) do
227+ "second"
228+ end
229+
230+
231+ get '/1'
232+ last_response . body . should eql 'ola'
233+ post '/1'
234+ last_response . body . should eql 'ola'
235+ get '/1/first'
236+ last_response . body . should eql 'first'
237+ post '/1/first'
238+ last_response . body . should eql 'first'
239+ get '/1/first/second'
240+ last_response . body . should eql 'second'
241+
213242 end
214243
215244 it 'should allow for :any as a verb' do
@@ -219,7 +248,7 @@ def app; subject end
219248
220249 %w( get post put delete ) . each do |m |
221250 send ( m , '/abc' )
222- last_response . body . should == 'lol'
251+ last_response . body . should eql 'lol'
223252 end
224253 end
225254
@@ -230,10 +259,10 @@ def app; subject end
230259 verb
231260 end
232261 send ( verb , '/example' )
233- last_response . body . should == verb
262+ last_response . body . should eql verb
234263 # Call it with a method other than the properly constrained one.
235264 send ( verbs [ ( verbs . index ( verb ) + 1 ) % verbs . size ] , '/example' )
236- last_response . status . should == 404
265+ last_response . status . should eql 404
237266 end
238267 end
239268
@@ -243,8 +272,8 @@ def app; subject end
243272 end
244273
245274 post '/example'
246- last_response . status . should == 201
247- last_response . body . should == 'Created'
275+ last_response . status . should eql 201
276+ last_response . body . should eql 'Created'
248277 end
249278 end
250279
@@ -265,7 +294,7 @@ def call(env)
265294 describe '.middleware' do
266295 it 'should include middleware arguments from settings' do
267296 subject . stub! ( :settings_stack ) . and_return [ { :middleware => [ [ PhonyMiddleware , 'abc' , 123 ] ] } ]
268- subject . middleware . should == [ [ PhonyMiddleware , 'abc' , 123 ] ]
297+ subject . middleware . should eql [ [ PhonyMiddleware , 'abc' , 123 ] ]
269298 end
270299
271300 it 'should include all middleware from stacked settings' do
@@ -274,7 +303,7 @@ def call(env)
274303 { :middleware => [ [ PhonyMiddleware , 'foo' ] ] }
275304 ]
276305
277- subject . middleware . should == [
306+ subject . middleware . should eql [
278307 [ PhonyMiddleware , 123 ] ,
279308 [ PhonyMiddleware , 'abc' ] ,
280309 [ PhonyMiddleware , 'foo' ]
@@ -285,7 +314,7 @@ def call(env)
285314 describe '.use' do
286315 it 'should add middleware' do
287316 subject . use PhonyMiddleware , 123
288- subject . middleware . should == [ [ PhonyMiddleware , 123 ] ]
317+ subject . middleware . should eql [ [ PhonyMiddleware , 123 ] ]
289318 end
290319
291320 it 'should not show up outside the namespace' do
@@ -295,7 +324,7 @@ def call(env)
295324 middleware . should == [ [ PhonyMiddleware , 123 ] , [ PhonyMiddleware , 'abc' ] ]
296325 end
297326
298- subject . middleware . should == [ [ PhonyMiddleware , 123 ] ]
327+ subject . middleware . should eql [ [ PhonyMiddleware , 123 ] ]
299328 end
300329
301330 it 'should actually call the middleware' do
@@ -305,7 +334,7 @@ def call(env)
305334 end
306335
307336 get '/'
308- last_response . body . should == 'hello'
337+ last_response . body . should eql 'hello'
309338 end
310339 end
311340 end
@@ -316,9 +345,9 @@ def call(env)
316345 end
317346 subject . get ( :hello ) { "Hello, world." }
318347 get '/hello'
319- last_response . status . should == 401
348+ last_response . status . should eql 401
320349 get '/hello' , { } , 'HTTP_AUTHORIZATION' => encode_basic ( 'allow' , 'whatever' )
321- last_response . status . should == 200
350+ last_response . status . should eql 200
322351 end
323352
324353 it 'should be scopable' do
@@ -332,9 +361,9 @@ def call(env)
332361 end
333362
334363 get '/hello'
335- last_response . status . should == 200
364+ last_response . status . should eql 200
336365 get '/admin/hello'
337- last_response . status . should == 401
366+ last_response . status . should eql 401
338367 end
339368
340369 it 'should be callable via .auth as well' do
@@ -344,9 +373,9 @@ def call(env)
344373
345374 subject . get ( :hello ) { "Hello, world." }
346375 get '/hello'
347- last_response . status . should == 401
376+ last_response . status . should eql 401
348377 get '/hello' , { } , 'HTTP_AUTHORIZATION' => encode_basic ( 'allow' , 'whatever' )
349- last_response . status . should == 200
378+ last_response . status . should eql 200
350379 end
351380 end
352381
@@ -363,7 +392,7 @@ def hello
363392 end
364393
365394 get '/howdy'
366- last_response . body . should == 'Hello, world.'
395+ last_response . body . should eql 'Hello, world.'
367396 end
368397
369398 it 'should be scopable' do
@@ -390,9 +419,9 @@ def secret
390419 end
391420
392421 get '/generic'
393- last_response . body . should == 'always there:false'
422+ last_response . body . should eql 'always there:false'
394423 get '/admin/secret'
395- last_response . body . should == 'always there:only in admin'
424+ last_response . body . should eql 'always there:only in admin'
396425 end
397426
398427 it 'should be reopenable' do
@@ -433,13 +462,13 @@ def two
433462 end
434463
435464 get '/v2/abc'
436- last_response . status . should == 404
465+ last_response . status . should eql 404
437466 get '/v1/abc'
438- last_response . status . should == 200
467+ last_response . status . should eql 200
439468 get '/v1/def'
440- last_response . status . should == 404
469+ last_response . status . should eql 404
441470 get '/v2/def'
442- last_response . status . should == 200
471+ last_response . status . should eql 200
443472 end
444473 end
445474end
0 commit comments