diff options
author | Joshua Peek <josh@joshpeek.com> | 2008-05-14 13:00:09 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2008-05-14 13:00:09 -0500 |
commit | 8d37bd08eeac6d0e94f76ac6640e288bf64595b2 (patch) | |
tree | 5752954abef8a289c4b628969544f0fd0cf2b398 /actionpack/test/controller | |
parent | 49846f85864f4b59d5593c30ee3c59b584d2975d (diff) | |
download | rails-8d37bd08eeac6d0e94f76ac6640e288bf64595b2.tar.gz rails-8d37bd08eeac6d0e94f76ac6640e288bf64595b2.tar.bz2 rails-8d37bd08eeac6d0e94f76ac6640e288bf64595b2.zip |
Protect #filter_parameters created by filter_parameter_logging [José Valim] [#196 state:resolved]
Diffstat (limited to 'actionpack/test/controller')
-rw-r--r-- | actionpack/test/controller/filter_params_test.rb | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/actionpack/test/controller/filter_params_test.rb b/actionpack/test/controller/filter_params_test.rb index 11adacb5e3..c9688b2063 100644 --- a/actionpack/test/controller/filter_params_test.rb +++ b/actionpack/test/controller/filter_params_test.rb @@ -7,14 +7,14 @@ class FilterParamTest < Test::Unit::TestCase def setup @controller = FilterParamController.new end - + def test_filter_parameters assert FilterParamController.respond_to?(:filter_parameter_logging) assert !@controller.respond_to?(:filter_parameters) - + FilterParamController.filter_parameter_logging assert @controller.respond_to?(:filter_parameters) - + test_hashes = [[{},{},[]], [{'foo'=>nil},{'foo'=>nil},[]], [{'foo'=>'bar'},{'foo'=>'bar'},[]], @@ -24,11 +24,11 @@ class FilterParamTest < Test::Unit::TestCase [{'foo'=>'bar', 'baz'=>'foo'},{'foo'=>'[FILTERED]', 'baz'=>'[FILTERED]'},%w'foo baz'], [{'bar'=>{'foo'=>'bar','bar'=>'foo'}},{'bar'=>{'foo'=>'[FILTERED]','bar'=>'foo'}},%w'fo'], [{'foo'=>{'foo'=>'bar','bar'=>'foo'}},{'foo'=>'[FILTERED]'},%w'f banana']] - + test_hashes.each do |before_filter, after_filter, filter_words| FilterParamController.filter_parameter_logging(*filter_words) - assert_equal after_filter, @controller.filter_parameters(before_filter) - + assert_equal after_filter, @controller.send!(:filter_parameters, before_filter) + filter_words.push('blah') FilterParamController.filter_parameter_logging(*filter_words) do |key, value| value.reverse! if key =~ /bargain/ @@ -37,7 +37,13 @@ class FilterParamTest < Test::Unit::TestCase before_filter['barg'] = {'bargain'=>'gain', 'blah'=>'bar', 'bar'=>{'bargain'=>{'blah'=>'foo'}}} after_filter['barg'] = {'bargain'=>'niag', 'blah'=>'[FILTERED]', 'bar'=>{'bargain'=>{'blah'=>'[FILTERED]'}}} - assert_equal after_filter, @controller.filter_parameters(before_filter) + assert_equal after_filter, @controller.send!(:filter_parameters, before_filter) end end + + def test_filter_parameters_is_protected + FilterParamController.filter_parameter_logging + assert !@controller.send!(:action_methods).include?(:filter_parameters) + assert (begin @controller.filter_parameters rescue true end) + end end |