Permalink
Browse files

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
  • Loading branch information...
1 parent f08bd27 commit 7fce529b2abbf19327b2be38f87daf338203d760 @jeremy jeremy committed Jan 24, 2007
Showing with 8 additions and 10 deletions.
  1. +8 −10 actionpack/test/controller/base_test.rb
View
18 actionpack/test/controller/base_test.rb
@@ -82,16 +82,14 @@ def test_action_methods
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 @@ def test_get_on_hidden_should_fail
get :another_hidden_action
assert_response 404
end
-end
+end

0 comments on commit 7fce529

Please sign in to comment.