From 7fce529b2abbf19327b2be38f87daf338203d760 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Wed, 24 Jan 2007 12:04:08 +0000 Subject: Mocha 0.4 mixes in more public instance methods, confusing controller identification of action methods. Closes #7347. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6030 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/test/controller/base_test.rb | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'actionpack') diff --git a/actionpack/test/controller/base_test.rb b/actionpack/test/controller/base_test.rb index bcc473263f..bf1f6227fd 100644 --- a/actionpack/test/controller/base_test.rb +++ b/actionpack/test/controller/base_test.rb @@ -82,16 +82,14 @@ class ControllerInstanceTests < Test::Unit::TestCase assert_equal Set.new('public_action'), c.send(:action_methods), "#{c.controller_path} should not be empty!" end end - + protected - - # Mocha adds methods to Object which are then included in the public_instance_methods - # This method hides those from the controller so the above tests won't know the difference - def hide_mocha_methods_from_controller(controller) - mocha_methods = [:expects, :metaclass, :mocha, :mocha_inspect, :reset_mocha, :stubba_object, :stubba_method, :stubs, :verify] - controller.class.send(:hide_action, *mocha_methods) - end - + # Mocha adds some public instance methods to Object that would be + # considered actions, so explicitly hide_action them. + def hide_mocha_methods_from_controller(controller) + mocha_methods = [:expects, :metaclass, :mocha, :mocha_inspect, :reset_mocha, :stubba_object, :stubba_method, :stubs, :verify, :__metaclass__, :__is_a__] + controller.class.send(:hide_action, *mocha_methods) + end end @@ -133,4 +131,4 @@ class PerformActionTest < Test::Unit::TestCase get :another_hidden_action assert_response 404 end -end \ No newline at end of file +end -- cgit v1.2.3