test/mapped_error_test.rb in sinatra-0.9.6 vs test/mapped_error_test.rb in sinatra-1.0.a

- old
+ new

@@ -99,9 +99,40 @@ get '/test' assert_equal 404, status assert_equal "Lost, are we?", body end + + it 'inherits error mappings from base class' do + base = Class.new(Sinatra::Base) + base.error(FooError) { 'base class' } + + mock_app(base) { + set :raise_errors, false + get '/' do + raise FooError + end + } + + get '/' + assert_equal 'base class', body + end + + it 'overrides error mappings in base class' do + base = Class.new(Sinatra::Base) + base.error(FooError) { 'base class' } + + mock_app(base) { + set :raise_errors, false + error(FooError) { 'subclass' } + get '/' do + raise FooError + end + } + + get '/' + assert_equal 'subclass', body + end end describe 'Custom Error Pages' do it 'allows numeric status code mappings to be registered with ::error' do mock_app {