From 167017f65558a4461aaf8dc26a6f329a283366c2 Mon Sep 17 00:00:00 2001 From: Rizwan Reza Date: Fri, 26 Mar 2010 17:30:13 +0430 Subject: [PATCH] Tests method_missing to raise NameError. [#2522 state:resolved] Signed-off-by: wycats --- actionpack/test/controller/base_test.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/actionpack/test/controller/base_test.rb b/actionpack/test/controller/base_test.rb index 8b935097dad27..49f79681f6c18 100644 --- a/actionpack/test/controller/base_test.rb +++ b/actionpack/test/controller/base_test.rb @@ -56,6 +56,16 @@ def method_missing(selector) end end +class AnotherMethodMissingController < ActionController::Base + cattr_accessor :_exception + rescue_from Exception, :with => :_exception= + + protected + def method_missing(*attrs, &block) + super + end +end + class DefaultUrlOptionsController < ActionController::Base def from_view render :inline => "<%= #{params[:route]} %>" @@ -173,6 +183,12 @@ def test_method_missing_is_not_an_action_name assert_equal 'method_missing', @response.body end + def test_method_missing_should_recieve_symbol + use_controller AnotherMethodMissingController + get :some_action + assert_kind_of NameError, @controller._exception + end + def test_get_on_hidden_should_fail use_controller NonEmptyController assert_raise(ActionController::UnknownAction) { get :hidden_action }