Handle multiple errors with one block
[sinatra.git] / lib / sinatra / test / methods.rb
blob02d4ca6610088f7a8054f61d939c30a129a5e8fb
1 module Sinatra
2   
3   module Test
4     
5     module Methods
6   
7       def get_it(path, params = {})
8         @request = Rack::MockRequest.new(Sinatra)
9         @response = @request.get(path, :input => params.to_params)
10       end
12       def post_it(path, params = {})
13         @request = Rack::MockRequest.new(Sinatra)
14         @response = @request.post(path, :input => params.to_params)
15       end
17       def put_it(path, params = {})
18         @request = Rack::MockRequest.new(Sinatra)
19         @response = @request.put(path, :input => params.to_params)
20       end
22       def delete_it(path, params = {})
23         @request = Rack::MockRequest.new(Sinatra)
24         @response = @request.delete(path, :input => params.to_params)
25       end
26       
27       def follow!
28         get_it(@response.location)
29       end
31       def dont_raise_errors
32         Sinatra.config[:raise_errors] = false
33         yield
34         Sinatra.config[:raise_errors] = true
35       end
37       def method_missing(name, *args)
38         @response.send(name, *args)
39       end
40       
41     end
43   end
44   
45 end