diff options
author | David Chelimsky <dchelimsky@gmail.com> | 2010-06-23 10:19:13 -0500 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-06-23 17:45:48 +0200 |
commit | 32b8be95331928990a61a43023a343a0583b53c7 (patch) | |
tree | c91f79873ea73ce7aeb59da7cd86ace089abbfee /actionpack | |
parent | 0e0df4b0c5df7fdd1daa5653c255c4737f5526fc (diff) | |
download | rails-32b8be95331928990a61a43023a343a0583b53c7.tar.gz rails-32b8be95331928990a61a43023a343a0583b53c7.tar.bz2 rails-32b8be95331928990a61a43023a343a0583b53c7.zip |
Expose view via the view() method in AV::TestCase::Behavior
- was exposed as _view, which suggested it was private
- left _view as an alias of view as not to break any extensions that are
relying on _view
[#4932 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_view/test_case.rb | 13 | ||||
-rw-r--r-- | actionpack/test/template/test_case_test.rb | 28 |
2 files changed, 24 insertions, 17 deletions
diff --git a/actionpack/lib/action_view/test_case.rb b/actionpack/lib/action_view/test_case.rb index 5abc59507f..757e4cf77c 100644 --- a/actionpack/lib/action_view/test_case.rb +++ b/actionpack/lib/action_view/test_case.rb @@ -99,8 +99,8 @@ module ActionView end def render(options = {}, local_assigns = {}, &block) - _view.assign(_assigns) - @rendered << output = _view.render(options, local_assigns, &block) + view.assign(_assigns) + @rendered << output = view.render(options, local_assigns, &block) output end @@ -146,8 +146,9 @@ module ActionView end end - def _view - @_view ||= begin + # The instance of ActionView::Base that is used by +render+. + def view + @view ||= begin view = ActionView::Base.new(ActionController::Base.view_paths, {}, @controller) view.singleton_class.send :include, _helpers view.singleton_class.send :include, @controller._router.url_helpers @@ -159,10 +160,11 @@ module ActionView end end + alias_method :_view, :view + EXCLUDE_IVARS = %w{ @_assertion_wrapped @_result - @_view @controller @layouts @locals @@ -174,6 +176,7 @@ module ActionView @routes @templates @test_passed + @view @view_context_class } diff --git a/actionpack/test/template/test_case_test.rb b/actionpack/test/template/test_case_test.rb index 4773eae039..a747f46527 100644 --- a/actionpack/test/template/test_case_test.rb +++ b/actionpack/test/template/test_case_test.rb @@ -37,8 +37,12 @@ module ActionView include SharedTests test_case = self - test "memoizes the _view" do - assert_same _view, _view + test "memoizes the view" do + assert_same view, view + end + + test "exposes view as _view for backwards compatibility" do + assert_same _view, view end test "works without testing a helper module" do @@ -61,13 +65,13 @@ module ActionView end test "delegates notice to request.flash" do - _view.request.flash.expects(:notice).with("this message") - _view.notice("this message") + view.request.flash.expects(:notice).with("this message") + view.notice("this message") end test "delegates alert to request.flash" do - _view.request.flash.expects(:alert).with("this message") - _view.alert("this message") + view.request.flash.expects(:alert).with("this message") + view.alert("this message") end end @@ -136,7 +140,7 @@ module ActionView helper HelperThatInvokesProtectAgainstForgery test "protect_from_forgery? in any helpers returns false" do - assert !_view.help_me + assert !view.help_me end end @@ -200,10 +204,10 @@ module ActionView assert_match /Hello: EloyHello: Manfred/, render(:file => 'test/list') end - test "is able to render partials from templates and also use instance variables after _view has been referenced" do + test "is able to render partials from templates and also use instance variables after view has been referenced" do @controller.controller_path = "test" - _view + view @customers = [stub(:name => 'Eloy'), stub(:name => 'Manfred')] assert_match /Hello: EloyHello: Manfred/, render(:file => 'test/list') @@ -229,19 +233,19 @@ module ActionView end class RenderTemplateTest < ActionView::TestCase - test "render template supports specifying partials" do + test "supports specifying partials" do controller.controller_path = "test" render(:template => "test/calling_partial_with_layout") assert_template :partial => "_partial_for_use_in_layout" end - test "render template supports specifying locals (passing)" do + test "supports specifying locals (passing)" do controller.controller_path = "test" render(:template => "test/calling_partial_with_layout") assert_template :partial => "_partial_for_use_in_layout", :locals => { :name => "David" } end - test "render template supports specifying locals (failing)" do + test "supports specifying locals (failing)" do controller.controller_path = "test" render(:template => "test/calling_partial_with_layout") assert_raise Test::Unit::AssertionFailedError, /Somebody else.*David/m do |