gin 1.1.2 → 1.2.0

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.
@@ -23,9 +23,9 @@ class GinTest < Test::Unit::TestCase
23
23
 
24
24
 
25
25
  def test_build_query
26
- hash = {a: "bob", b: [1,2.2,-3,{ba:"test"}], c:true, d:false}
27
- expected = "a=bob&b[]=1&b[]=2.2&b[]=-3&b[][ba]=test&c=true&d=false"
28
- assert_equal expected, Gin.build_query(hash)
26
+ hash = {:a => "bob", :b => [1,2.2,-3,{:ba =>"test"}], :c =>true, :d =>false}
27
+ expected = %w{a=bob b[]=1 b[]=2.2 b[]=-3 b[][ba]=test c=true d=false}
28
+ assert_equal expected.sort, Gin.build_query(hash).split("&").sort
29
29
  end
30
30
 
31
31
 
@@ -39,9 +39,10 @@ class GinTest < Test::Unit::TestCase
39
39
 
40
40
 
41
41
  def test_find_loadpath
42
- assert_equal __FILE__, Gin.find_loadpath("test/test_gin")
43
- assert_equal __FILE__, Gin.find_loadpath("test/test_gin.rb")
44
- assert_equal __FILE__, Gin.find_loadpath(__FILE__)
42
+ curr_file = File.expand_path(__FILE__)
43
+ assert_equal curr_file, Gin.find_loadpath("test/test_gin")
44
+ assert_equal curr_file, Gin.find_loadpath("test/test_gin.rb")
45
+ assert_equal curr_file, Gin.find_loadpath(__FILE__)
45
46
  assert_nil Gin.find_loadpath("FUUUUU")
46
47
  end
47
48
 
@@ -6,7 +6,8 @@ class RequestTest < Test::Unit::TestCase
6
6
  @env = {
7
7
  'HTTP_HOST' => 'example.com',
8
8
  'rack.input' => '',
9
- 'QUERY_STRING' => 'id=456&foo=bar&bar=5&bool=true',
9
+ 'QUERY_STRING' =>
10
+ 'id=456&foo=bar&bar=5&bool=true&zip=01234&nflt=01.123&neg=-12&negf=-2.1',
10
11
  'gin.path_query_hash' => {'id' => 123},
11
12
  }
12
13
  @req = Gin::Request.new @env
@@ -17,6 +18,10 @@ class RequestTest < Test::Unit::TestCase
17
18
  assert_equal 123, @req.params['id']
18
19
  assert_equal 'bar', @req.params['foo']
19
20
  assert_equal 5, @req.params['bar']
21
+ assert_equal '01234', @req.params['zip']
22
+ assert_equal '01.123', @req.params['nflt']
23
+ assert_equal -12, @req.params['neg']
24
+ assert_equal -2.1, @req.params['negf']
20
25
  end
21
26
 
22
27
 
@@ -37,7 +37,7 @@ class ResponseTest < Test::Unit::TestCase
37
37
  @res.body = file
38
38
  resp = @res.finish
39
39
 
40
- assert_equal file.size.to_s, resp[1]['Content-Length']
40
+ assert_equal File.size(file.path).to_s, resp[1]['Content-Length']
41
41
  end
42
42
 
43
43
 
@@ -23,16 +23,16 @@ class RouterTest < Test::Unit::TestCase
23
23
  any :thing
24
24
  end
25
25
 
26
- assert_equal [MyCtrl, :bar, {}],
26
+ assert_equal [[MyCtrl, :bar], {}],
27
27
  @router.resources_for("GET", "/my_ctrl/bar")
28
28
 
29
- assert_equal [MyCtrl, :foo, {}],
29
+ assert_equal [[MyCtrl, :foo], {}],
30
30
  @router.resources_for("post", "/my_ctrl/foo")
31
31
 
32
32
  assert_nil @router.resources_for("post", "/my_ctrl")
33
33
 
34
34
  %w{get post put delete head options trace}.each do |verb|
35
- assert_equal [MyCtrl, :thing, {}],
35
+ assert_equal [[MyCtrl, :thing], {}],
36
36
  @router.resources_for(verb, "/my_ctrl/thing")
37
37
  end
38
38
  end
@@ -43,7 +43,7 @@ class RouterTest < Test::Unit::TestCase
43
43
  get :bar, "/bar/:id"
44
44
  end
45
45
 
46
- assert_equal [MyCtrl, :bar, {'id' => '123 456'}],
46
+ assert_equal [[MyCtrl, :bar], {'id' => '123 456'}],
47
47
  @router.resources_for("GET", "/my_ctrl/bar/123+456")
48
48
  end
49
49
 
@@ -53,7 +53,7 @@ class RouterTest < Test::Unit::TestCase
53
53
  get :bar, "/bar/:type/:id.:format"
54
54
  end
55
55
 
56
- assert_equal [MyCtrl, :bar, {"type"=>"[I]", "id"=>"123 456", "format"=>"json"}],
56
+ assert_equal [[MyCtrl, :bar], {"type"=>"[I]", "id"=>"123 456", "format"=>"json"}],
57
57
  @router.resources_for("GET", "/my_ctrl/bar/%5BI%5D/123+456.json")
58
58
  end
59
59
 
@@ -65,11 +65,11 @@ class RouterTest < Test::Unit::TestCase
65
65
  post :create
66
66
  end
67
67
 
68
- assert_equal [FooController, :bar, {}],
68
+ assert_equal [[FooController, :bar], {}],
69
69
  @router.resources_for("GET", "/foo/bar")
70
70
 
71
71
  assert_equal "/foo/bar", @router.path_to(:my_bar)
72
- assert_equal "/foo/create", @router.path_to(:create_foo)
72
+ assert_equal "/foo", @router.path_to(:create_foo)
73
73
  assert_equal "/foo", @router.path_to(:all_foo)
74
74
  end
75
75
 
@@ -82,10 +82,10 @@ class RouterTest < Test::Unit::TestCase
82
82
 
83
83
  assert_nil @router.resources_for("post", "/my_ctrl")
84
84
 
85
- assert_equal [MyCtrl, :bar, {'str' => 'item'}],
85
+ assert_equal [[MyCtrl, :bar], {'str' => 'item'}],
86
86
  @router.resources_for("GET", "/my_ctrl/item/bar")
87
87
 
88
- assert_equal [MyCtrl, :foo, {'str' => 'item'}],
88
+ assert_equal [[MyCtrl, :foo], {'str' => 'item'}],
89
89
  @router.resources_for("post", "/my_ctrl/item")
90
90
  end
91
91
 
@@ -96,17 +96,121 @@ class RouterTest < Test::Unit::TestCase
96
96
  end
97
97
 
98
98
  expected_params = {'type' => 'sub', 'id' => '123', 'format' => 'json'}
99
- assert_equal [MyCtrl, :bar, expected_params],
99
+ assert_equal [[MyCtrl, :bar], expected_params],
100
100
  @router.resources_for("GET", "/bar/sub/123.json")
101
101
  end
102
102
 
103
103
 
104
+ def test_add_and_retrieve_lambda
105
+ ctrl = lambda{ "foo" }
106
+ @router.add ctrl, "/foo"
107
+
108
+ assert_equal [[ctrl, :call],{}], @router.resources_for("GET", "/foo")
109
+ end
110
+
111
+
112
+ def test_add_and_retrieve_lambda_block
113
+ ctrl = lambda{ "foo" }
114
+ @router.add ctrl, "/foo" do
115
+ get :thing, "/thing"
116
+ end
117
+
118
+ assert_equal [[ctrl, :thing],{}], @router.resources_for("GET", "/foo/thing")
119
+ end
120
+
121
+
122
+ def test_add_lambda_no_path
123
+ ctrl = lambda{ "foo" }
124
+
125
+ assert_raises ArgumentError do
126
+ @router.add ctrl
127
+ end
128
+ end
129
+
130
+
131
+ def test_add_lambda_defaults
132
+ ctrl = lambda{ "foo" }
133
+
134
+ assert_raises TypeError do
135
+ @router.add ctrl, "/foo" do
136
+ get :thing, "/thing"
137
+ defaults
138
+ end
139
+ end
140
+ end
141
+
142
+
143
+ class MockCustomMount
144
+ def self.call env
145
+ [200, {}, ["OK"]]
146
+ end
147
+ end
148
+
149
+ def test_add_and_retrieve_custom_mount
150
+ @router.add MockCustomMount
151
+
152
+ assert_equal [[MockCustomMount, :call],{}],
153
+ @router.resources_for("GET", "/router_test/mock_custom_mount")
154
+
155
+ assert_equal [MockCustomMount, :call],
156
+ @router.route_to(MockCustomMount, :call).target
157
+
158
+ assert_equal [MockCustomMount, :call],
159
+ @router.route_to(:call_mock_custom_mount).target
160
+ end
161
+
162
+
163
+ def test_add_and_retrieve_custom_mount_block
164
+ @router.add MockCustomMount do
165
+ post :foo
166
+ get [:foo, 1, 2], "/ary"
167
+ end
168
+
169
+ assert_equal [[MockCustomMount, :foo],{}],
170
+ @router.resources_for("POST", "/router_test/mock_custom_mount/foo")
171
+
172
+ assert_equal [[MockCustomMount, [:foo, 1, 2]],{}],
173
+ @router.resources_for("GET", "/router_test/mock_custom_mount/ary")
174
+
175
+ assert_equal [MockCustomMount, :foo],
176
+ @router.route_to(:foo_mock_custom_mount).target
177
+
178
+ assert_nil @router.route_to(MockCustomMount, [:foo, 1, 2]).name
179
+ end
180
+
181
+
182
+ def test_add_custom_mount_action
183
+ assert_raises ArgumentError do
184
+ @router.add MockCustomMount do
185
+ post [:foo, 1, 2]
186
+ end
187
+ end
188
+ end
189
+
190
+
191
+ def test_add_custom_mount_defaults
192
+ assert_raises TypeError do
193
+ @router.add MockCustomMount, "/foo" do
194
+ get :thing, "/thing"
195
+ defaults
196
+ end
197
+ end
198
+ end
199
+
200
+
201
+ def test_add_and_retrieve_custom_mount_invalid
202
+ assert_raises ArgumentError do
203
+ @router.add TypeError
204
+ end
205
+ end
206
+
207
+
104
208
  def test_add_omit_base_path
105
209
  @router.add MyCtrl do
106
210
  get :bar
107
211
  end
108
212
 
109
- assert_equal [MyCtrl, :bar, {}],
213
+ assert_equal [[MyCtrl, :bar], {}],
110
214
  @router.resources_for("GET", "/my_ctrl/bar")
111
215
  end
112
216
 
@@ -116,7 +220,7 @@ class RouterTest < Test::Unit::TestCase
116
220
  get :index, '/'
117
221
  end
118
222
 
119
- assert_equal [FooController, :index, {}],
223
+ assert_equal [[FooController, :index], {}],
120
224
  @router.resources_for("GET", "/foo")
121
225
  end
122
226
 
@@ -126,7 +230,7 @@ class RouterTest < Test::Unit::TestCase
126
230
  get :bar, "/"
127
231
  end
128
232
 
129
- assert_equal [MyCtrl, :bar, {}],
233
+ assert_equal [[MyCtrl, :bar], {}],
130
234
  @router.resources_for("GET", "/")
131
235
 
132
236
  assert !@router.has_route?(MyCtrl, :show)
@@ -155,33 +259,16 @@ class RouterTest < Test::Unit::TestCase
155
259
  end
156
260
 
157
261
 
158
- def test_add_all_with_default_verb
159
- @router.add MyCtrl, "/" do
160
- get :show, "/:id"
161
- defaults :post
162
- end
163
-
164
- assert_equal [MyCtrl, :index, {}],
165
- @router.resources_for("GET", "/")
166
-
167
- assert_equal [MyCtrl, :show, {'id' => '123'}],
168
- @router.resources_for("GET", "/123")
169
-
170
- assert_equal [MyCtrl, :unmounted_action, {}],
171
- @router.resources_for("POST", "/unmounted_action")
172
- end
173
-
174
-
175
262
  def test_add_all
176
263
  @router.add MyCtrl, "/"
177
264
 
178
- assert_equal [MyCtrl, :index, {}],
265
+ assert_equal [[MyCtrl, :index], {}],
179
266
  @router.resources_for("GET", "/")
180
267
 
181
- assert_equal [MyCtrl, :show, {'id' => '123'}],
268
+ assert_equal [[MyCtrl, :show], {'id' => '123'}],
182
269
  @router.resources_for("GET", "/123")
183
270
 
184
- assert_equal [MyCtrl, :unmounted_action, {}],
271
+ assert_equal [[MyCtrl, :unmounted_action], {}],
185
272
  @router.resources_for("GET", "/unmounted_action")
186
273
  end
187
274
 
@@ -212,7 +299,7 @@ class RouterTest < Test::Unit::TestCase
212
299
  get :bar, "/bar"
213
300
  end
214
301
 
215
- assert_raises Gin::Router::PathArgumentError do
302
+ assert_raises Gin::RouterError do
216
303
  @router.path_to(MyCtrl, :foo)
217
304
  end
218
305
  end
@@ -271,4 +358,39 @@ class RouterTest < Test::Unit::TestCase
271
358
  assert_equal "/bar/sub%2Fthing/123%264.json?more=hi+there",
272
359
  @router.path_to(MyCtrl, :bar, params)
273
360
  end
361
+
362
+
363
+ def test_route_to
364
+ @router.add MyCtrl, '/my_ctrl/' do
365
+ get :show, "/:id"
366
+ end
367
+
368
+ route = @router.route_to(MyCtrl, :show)
369
+ assert_equal [MyCtrl, :show], route.target
370
+ assert_equal '/my_ctrl/123', route.to_path(:id => 123)
371
+
372
+ named_route = @router.route_to(:show_my_ctrl)
373
+ assert_equal route, named_route
374
+ end
375
+
376
+
377
+ def test_route_to_env
378
+ @router.add MyCtrl, '/my_ctrl/' do
379
+ post :update, "/:id"
380
+ end
381
+
382
+ route = @router.route_to(MyCtrl, :update)
383
+ expected_env = {'rack.input' => '', 'PATH_INFO' => '/my_ctrl/123',
384
+ 'REQUEST_METHOD' => 'POST', 'QUERY_STRING' => 'blah=456'}
385
+
386
+ assert_equal expected_env, route.to_env(:id => 123, :blah => 456)
387
+
388
+ assert_raises Gin::Router::PathArgumentError do
389
+ route.to_env(:blah => 456)
390
+ end
391
+
392
+ expected_env['rack.input'] = 'foo=bar'
393
+ assert_equal expected_env,
394
+ route.to_env({:id => 123, :blah => 456}, {'rack.input' => 'foo=bar'})
395
+ end
274
396
  end
@@ -53,32 +53,37 @@ class TestTest < Test::Unit::TestCase
53
53
 
54
54
  def test_path_to
55
55
  assert_nil @tests.default_controller
56
- assert_equal "/bar/123", @tests.path_to(:show_bar, id: 123)
57
- assert_equal "/bar/123", @tests.path_to(MockApp::BarController, :show, id: 123)
58
- assert_equal "/bar?id=123", @tests.path_to("/bar", id: 123)
56
+ assert_equal "/bar/123", @tests.path_to(:show_bar, :id => 123)
57
+ assert_equal "/bar/123", @tests.path_to(MockApp::BarController, :show, :id => 123)
58
+ assert_equal "/bar?id=123", @tests.path_to("/bar", :id => 123)
59
59
  end
60
60
 
61
61
 
62
62
  def test_path_to_default_ctrl
63
63
  @tests.default_controller MockApp::BarController
64
- assert_equal "/bar/123", @tests.path_to(:show_bar, id: 123)
65
- assert_equal "/bar/123", @tests.path_to(:show, id: 123)
64
+ assert_equal "/bar/123", @tests.path_to(:show_bar, :id => 123)
65
+ assert_equal "/bar/123", @tests.path_to(:show, :id => 123)
66
66
  end
67
67
 
68
68
 
69
69
  def test_path_to_no_ctrl
70
70
  assert_nil @tests.default_controller
71
- assert_raises(Gin::Router::PathArgumentError) do
72
- @tests.path_to(:show, id: 123)
71
+ assert_raises(Gin::RouterError) do
72
+ @tests.path_to(:show, :id => 123)
73
73
  end
74
74
  end
75
75
 
76
76
 
77
77
  def test_make_request
78
+ @tests.app.options[:host] = {:name => 'example.com:443'}
78
79
  resp = @tests.make_request :get, :show_bar,
79
- {id: 123, foo: "BAR", bar: "BAZ Foo"},'REMOTE_ADDR' => '127.0.0.1'
80
+ {:id => 123, :foo => "BAR", :bar => "BAZ Foo"},'REMOTE_ADDR' => '127.0.0.1'
80
81
 
81
- assert_equal "foo=BAR&bar=BAZ+Foo", @tests.req_env['QUERY_STRING']
82
+ assert_equal "example.com", @tests.req_env['SERVER_NAME']
83
+ assert_equal "443", @tests.req_env['SERVER_PORT']
84
+ assert_equal "example.com:443", resp[1]['Host']
85
+
86
+ assert_equal %w{bar=BAZ+Foo foo=BAR}, @tests.req_env['QUERY_STRING'].split('&').sort
82
87
  assert_equal "/bar/123", @tests.req_env['PATH_INFO']
83
88
  assert_equal "127.0.0.1", @tests.req_env['REMOTE_ADDR']
84
89
  assert_equal "127.0.0.1", @tests.request.ip
@@ -119,12 +124,13 @@ class TestTest < Test::Unit::TestCase
119
124
  resp[1]["Set-Cookie"]
120
125
 
121
126
  time = Time.parse "2100-01-01 00:00:00 UTC"
122
- cookie = {name: "foo_session", value: "12345", expires_at: time}
127
+ cookie = {:name => "foo_session", :value => "12345", :expires_at => time}
123
128
  assert_equal cookie, @tests.cookies["foo_session"]
124
129
 
125
130
  @tests.set_cookie "bar", 5678
126
- resp = @tests.make_request :get, :show_bar, id: 123
127
- assert_equal "foo_session=12345; bar=5678", @tests.req_env['HTTP_COOKIE']
131
+ resp = @tests.make_request :get, :show_bar, :id => 123
132
+ assert_equal %w{bar=5678 foo_session=12345},
133
+ @tests.req_env['HTTP_COOKIE'].split('; ').sort
128
134
  end
129
135
 
130
136
 
@@ -136,18 +142,18 @@ class TestTest < Test::Unit::TestCase
136
142
 
137
143
  time = Time.parse "2100-01-01 00:00:00 UTC"
138
144
 
139
- expected = {name: "foo_session", value: "12345", expires_at: time}
145
+ expected = {:name => "foo_session", :value => "12345", :expires_at => time}
140
146
  assert_equal expected, @tests.cookies['foo_session']
141
147
 
142
- expected = {name: "supercookie", value: "SUPER!", domain: "mockapp.com",
143
- path: "/", expires_at: time, secure: true, http_only: true}
148
+ expected = {:name => "supercookie", :value => "SUPER!", :domain => "mockapp.com",
149
+ :path => "/", :expires_at => time, :secure => true, :http_only => true}
144
150
  assert_equal expected, @tests.cookies['supercookie']
145
151
  end
146
152
 
147
153
 
148
154
  def test_make_request_verb_methods
149
155
  %w{get post put patch delete head options}.each do |verb|
150
- resp = @tests.send verb, :show_bar, id: 123
156
+ resp = @tests.send verb, :show_bar, :id => 123
151
157
  assert_equal verb.upcase, @tests.req_env['REQUEST_METHOD']
152
158
  if verb == 'get'
153
159
  assert_equal MockApp::BarController,
@@ -326,50 +332,50 @@ class TestTest < Test::Unit::TestCase
326
332
  def test_assert_data_json
327
333
  @tests.rack_response[1]['Content-Type'] = 'application/json'
328
334
  @tests.rack_response[2] =
329
- [{name:"bob",addresses:[{street:"123 bob st"},{street:"321 foo st"}]}.to_json]
335
+ [{:name =>"bob",:addresses =>[{:street =>"123 bob st"},{:street =>"321 foo st"}]}.to_json]
330
336
 
331
337
  assert @tests.assert_data("name=bob")
332
- assert @tests.assert_data("name", value: "bob", count: 1)
333
- assert @tests.assert_data("addresses/*/street", count: 2)
338
+ assert @tests.assert_data("name", :value => "bob", :count => 1)
339
+ assert @tests.assert_data("addresses/*/street", :count => 2)
334
340
  end
335
341
 
336
342
 
337
343
  def test_assert_data_bson
338
344
  @tests.rack_response[1]['Content-Type'] = 'application/bson'
339
345
  @tests.rack_response[2] =
340
- [BSON.serialize({name:"bob",addresses:[{street:"123 bob st"},{street:"321 foo st"}]}).to_s]
346
+ [BSON.serialize({:name =>"bob",:addresses =>[{:street =>"123 bob st"},{:street =>"321 foo st"}]}).to_s]
341
347
 
342
348
  assert @tests.assert_data("name=bob")
343
- assert @tests.assert_data("name", value: "bob", count: 1)
344
- assert @tests.assert_data("addresses/*/street", count: 2)
349
+ assert @tests.assert_data("name", :value => "bob", :count => 1)
350
+ assert @tests.assert_data("addresses/*/street", :count => 2)
345
351
  end
346
352
 
347
353
 
348
354
  def test_assert_data_plist
349
355
  @tests.rack_response[1]['Content-Type'] = 'application/plist'
350
356
  @tests.rack_response[2] =
351
- [{name:"bob",addresses:[{street:"123 bob st"},{street:"321 foo st"}]}.to_plist]
357
+ [{:name =>"bob",:addresses =>[{:street =>"123 bob st"},{:street =>"321 foo st"}]}.to_plist]
352
358
 
353
359
  assert @tests.assert_data("name=bob")
354
- assert @tests.assert_data("name", value: "bob", count: 1)
355
- assert @tests.assert_data("addresses/*/street", count: 2)
360
+ assert @tests.assert_data("name", :value => "bob", :count => 1)
361
+ assert @tests.assert_data("addresses/*/street", :count => 2)
356
362
  end
357
363
 
358
364
 
359
365
  def test_assert_xpath
360
- data = Nokogiri::XML::Builder.new do
361
- root{
362
- name "bob"
363
- address{ street "123 bob st" }
364
- address{ street "321 foo st" }
366
+ data = Nokogiri::XML::Builder.new do |xml|
367
+ xml.root{
368
+ xml.name "bob"
369
+ xml.address{ xml.street "123 bob st" }
370
+ xml.address{ xml.street "321 foo st" }
365
371
  }
366
372
  end.to_xml
367
373
 
368
374
  @tests.rack_response[1]['Content-Type'] = 'application/xml'
369
375
  @tests.rack_response[2] = [data]
370
376
 
371
- assert @tests.assert_xpath("/root/name", value: "bob", count: 1)
372
- assert @tests.assert_xpath(".//street", count: 2)
377
+ assert @tests.assert_xpath("/root/name", :value => "bob", :count => 1)
378
+ assert @tests.assert_xpath(".//street", :count => 2)
373
379
  end
374
380
 
375
381
 
@@ -388,8 +394,8 @@ class TestTest < Test::Unit::TestCase
388
394
  @tests.rack_response[1]['Content-Type'] = 'application/html'
389
395
  @tests.rack_response[2] = [html]
390
396
 
391
- assert @tests.assert_css(".name", value: "bob", count: 1)
392
- assert @tests.assert_css(".address>.street", count: 2)
397
+ assert @tests.assert_css(".name", :value => "bob", :count => 1)
398
+ assert @tests.assert_css(".address>.street", :count => 2)
393
399
  end
394
400
 
395
401
 
@@ -397,7 +403,7 @@ class TestTest < Test::Unit::TestCase
397
403
  @tests.rack_response[1]['Content-Type'] = 'application/json'
398
404
  @tests.rack_response[2] = ['{"foo":123}']
399
405
  assert_raises(RuntimeError) do
400
- @tests.assert_select(".name", selector: :foo)
406
+ @tests.assert_select(".name", :selector => :foo)
401
407
  end
402
408
  end
403
409
 
@@ -413,13 +419,13 @@ class TestTest < Test::Unit::TestCase
413
419
  @tests.last_message
414
420
 
415
421
  assert_raises(MockAssertionError) do
416
- @tests.assert_select "/foo", count: 2
422
+ @tests.assert_select "/foo", :count => 2
417
423
  end
418
424
  assert_equal "Expected 2 items matching '/foo' but found 1",
419
425
  @tests.last_message
420
426
 
421
427
  assert_raises(MockAssertionError) do
422
- @tests.assert_select "/foo", value: 321
428
+ @tests.assert_select "/foo", :value => 321
423
429
  end
424
430
 
425
431
  assert_equal "Expected at least one item matching '/foo' with value 321 but found none",
@@ -431,11 +437,11 @@ class TestTest < Test::Unit::TestCase
431
437
  @tests.get :supercookie_foo
432
438
 
433
439
  assert @tests.assert_cookie("supercookie")
434
- assert @tests.assert_cookie("supercookie", value: "SUPER!")
435
- assert @tests.assert_cookie("supercookie", domain: "mockapp.com")
440
+ assert @tests.assert_cookie("supercookie", :value => "SUPER!")
441
+ assert @tests.assert_cookie("supercookie", :domain => "mockapp.com")
436
442
 
437
- attribs = {domain: "mockapp.com", value: "SUPER!", path: "/", secure: true,
438
- http_only: true, expires_at: Time.parse("Fri, 01 Jan 2100 00:00:00 -0000")}
443
+ attribs = {:domain => "mockapp.com", :value => "SUPER!", :path => "/", :secure => true,
444
+ :http_only => true, :expires_at => Time.parse("Fri, 01 Jan 2100 00:00:00 -0000")}
439
445
  assert @tests.assert_cookie("supercookie", attribs)
440
446
  end
441
447
 
@@ -469,7 +475,7 @@ class TestTest < Test::Unit::TestCase
469
475
  @tests.get :supercookie_foo
470
476
 
471
477
  assert_raises(MockAssertionError) do
472
- @tests.assert_cookie "supercookie", value: "BLAH"
478
+ @tests.assert_cookie "supercookie", :value => "BLAH"
473
479
  end
474
480
  assert_equal "Expected cookie value to be \"BLAH\" but was \"SUPER!\"",
475
481
  @tests.last_message
@@ -586,9 +592,9 @@ got MockApp::FooController#index", @tests.last_message
586
592
  Assertion = MockAssertionError unless const_defined?(:Assertion)
587
593
  end
588
594
 
589
- def raise err, msg=nil
590
- err, msg = RuntimeError, err if String === err && msg.nil?
591
- @last_message = err.respond_to?(:message) ? err.message : msg
595
+ def raise *args
596
+ @last_message = String === args.last && args.last ||
597
+ args.last.respond_to?(:message) && args.last.message
592
598
  super
593
599
  end
594
600
  end