mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Memoize the object returned by _view in ActionView::TestCase::Behavior
[#4799 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
parent
ab2877cbe8
commit
bdcf70cca8
2 changed files with 12 additions and 6 deletions
|
@ -131,12 +131,14 @@ module ActionView
|
|||
end
|
||||
|
||||
def _view
|
||||
view = ActionView::Base.new(ActionController::Base.view_paths, _assigns, @controller)
|
||||
view.singleton_class.send :include, _helpers
|
||||
view.singleton_class.send :include, @controller._router.url_helpers
|
||||
view.singleton_class.send :delegate, :alert, :notice, :to => "request.flash"
|
||||
view.output_buffer = self.output_buffer
|
||||
view
|
||||
@_view ||= begin
|
||||
view = ActionView::Base.new(ActionController::Base.view_paths, _assigns, @controller)
|
||||
view.singleton_class.send :include, _helpers
|
||||
view.singleton_class.send :include, @controller._router.url_helpers
|
||||
view.singleton_class.send :delegate, :alert, :notice, :to => "request.flash"
|
||||
view.output_buffer = self.output_buffer
|
||||
view
|
||||
end
|
||||
end
|
||||
|
||||
EXCLUDE_IVARS = %w{
|
||||
|
|
|
@ -37,6 +37,10 @@ module ActionView
|
|||
include SharedTests
|
||||
test_case = self
|
||||
|
||||
test "memoizes the _view" do
|
||||
assert_same _view, _view
|
||||
end
|
||||
|
||||
test "works without testing a helper module" do
|
||||
assert_equal 'Eloy', render('developers/developer', :developer => stub(:name => 'Eloy'))
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue