From d6fec21d1affe069686d681964d208a4b0df7182 Mon Sep 17 00:00:00 2001 From: David Chelimsky Date: Tue, 25 May 2010 23:46:00 -0500 Subject: In AV::TC, move protect_against_forgery? from the test_case to the _helper module included in the view. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ensures that protect_against_forgery? is present when a helper included in a partial that is rendered by the template under test calls it (which happens in FormTagHelper#extra_tags_for_form, for example). [#4700 state:resolved] Signed-off-by: José Valim --- actionpack/lib/action_view/test_case.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'actionpack/lib') diff --git a/actionpack/lib/action_view/test_case.rb b/actionpack/lib/action_view/test_case.rb index e71761db6d..4dbbd2eb6a 100644 --- a/actionpack/lib/action_view/test_case.rb +++ b/actionpack/lib/action_view/test_case.rb @@ -89,16 +89,13 @@ module ActionView self.class.send(:include_helper_modules!) make_test_case_available_to_view! + say_no_to_protect_against_forgery! end def config @controller.config if @controller.respond_to?(:config) end - def protect_against_forgery? - false - end - def render(options = {}, local_assigns = {}, &block) @rendered << output = _view.render(options, local_assigns, &block) output @@ -117,6 +114,14 @@ module ActionView HTML::Document.new(@rendered.blank? ? @output_buffer : @rendered).root end + def say_no_to_protect_against_forgery! + _helpers.module_eval do + def protect_against_forgery? + false + end + end + end + def make_test_case_available_to_view! test_case_instance = self _helpers.module_eval do -- cgit v1.2.3