diff options
author | ayaya <ayaya@ayaya.tw> | 2012-01-13 14:17:19 +0800 |
---|---|---|
committer | ayaya <ayaya@ayaya.tw> | 2012-03-29 11:09:42 +0800 |
commit | 2ac67358a3ce6bf528502dd4c141061d261c2ffb (patch) | |
tree | 324e1cac9807f52453e8902276a854280bf7b893 | |
parent | bbd2caeaf916980b4c55ffce2b8fd9097082f27a (diff) | |
download | rails-2ac67358a3ce6bf528502dd4c141061d261c2ffb.tar.gz rails-2ac67358a3ce6bf528502dd4c141061d261c2ffb.tar.bz2 rails-2ac67358a3ce6bf528502dd4c141061d261c2ffb.zip |
prevent the cache sweeper ignores NoMethodError
-rw-r--r-- | actionpack/lib/action_controller/caching/sweeping.rb | 2 | ||||
-rw-r--r-- | actionpack/test/controller/filters_test.rb | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/caching/sweeping.rb b/actionpack/lib/action_controller/caching/sweeping.rb index bb176ca3f9..cc1fa23935 100644 --- a/actionpack/lib/action_controller/caching/sweeping.rb +++ b/actionpack/lib/action_controller/caching/sweeping.rb @@ -93,7 +93,7 @@ module ActionController #:nodoc: end def method_missing(method, *arguments, &block) - super unless @controller + return super unless @controller @controller.__send__(method, *arguments, &block) end end diff --git a/actionpack/test/controller/filters_test.rb b/actionpack/test/controller/filters_test.rb index 65c853f6eb..ef7fbca675 100644 --- a/actionpack/test/controller/filters_test.rb +++ b/actionpack/test/controller/filters_test.rb @@ -510,6 +510,13 @@ class FilterTest < ActionController::TestCase end end + def test_sweeper_should_not_ignore_no_method_error + sweeper = ActionController::Caching::Sweeper.send(:new) + assert_raise NoMethodError do + sweeper.send_not_defined + end + end + def test_sweeper_should_not_block_rendering response = test_process(SweeperTestController) assert_equal 'hello world', response.body |