* If given format on path, extract and set in params; default to html if none specified.
[sinatra.git] / test / sinatra / event_test.rb
blobed8a9561a8114e8788f83d642dfdb9e4d983ba8c
1 require File.dirname(__FILE__) + '/../helper'
3 describe "Event" do
4   
5   before(:each) do
6     Sinatra::EventManager.reset!
7   end
8   
9   it "should return 500 if exception thrown" do
10     Sinatra::Environment.set_loggers stub_everything
12     event = Sinatra::Event.new(:get, '/') do
13       raise 'whaaaa!'
14     end
15     
16     result = event.attend(stub_everything(:params => {}, :path_info => '/'))
17     
18     result.status.should.equal 500
19   end
20   
21   it "custom error if present" do
22     Sinatra::Environment.set_loggers stub_everything
23     
24     event = Sinatra::Event.new(:get, '404') do
25       body 'custom 404'
26     end
28     Sinatra::EventManager.expects(:not_found).never
29     Sinatra::EventManager.determine_event(:get, '/sdf')
30   end
31   
32   it "should show default 404 if custom not present" do
33     Sinatra::EventManager.expects(:not_found)
34     Sinatra::EventManager.determine_event(:get, '/asdfsasd')
35   end
36   
37 end