aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorDavid Chelimsky <dchelimsky@gmail.com>2010-06-23 10:19:13 -0500
committerJosé Valim <jose.valim@gmail.com>2010-06-23 17:45:48 +0200
commit32b8be95331928990a61a43023a343a0583b53c7 (patch)
treec91f79873ea73ce7aeb59da7cd86ace089abbfee /actionpack
parent0e0df4b0c5df7fdd1daa5653c255c4737f5526fc (diff)
downloadrails-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.rb13
-rw-r--r--actionpack/test/template/test_case_test.rb28
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