diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2011-01-12 12:14:00 -0200 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2011-01-12 12:14:00 -0200 |
commit | 6062d434f174c84a18a121b025dcf4f11d6689f1 (patch) | |
tree | 782bd5a01299a8167ca10eb93178119ecde6d3d4 /actionpack | |
parent | f8700038afdaea80cad34a4fca005e1ef068b53e (diff) | |
download | rails-6062d434f174c84a18a121b025dcf4f11d6689f1.tar.gz rails-6062d434f174c84a18a121b025dcf4f11d6689f1.tar.bz2 rails-6062d434f174c84a18a121b025dcf4f11d6689f1.zip |
Allow view in AV::TestCase to access it's controller helpers methods
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_view/test_case.rb | 1 | ||||
-rw-r--r-- | actionpack/test/template/test_case_test.rb | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/actionpack/lib/action_view/test_case.rb b/actionpack/lib/action_view/test_case.rb index 4026f7a40e..72d17143f5 100644 --- a/actionpack/lib/action_view/test_case.rb +++ b/actionpack/lib/action_view/test_case.rb @@ -157,6 +157,7 @@ module ActionView def view @view ||= begin view = ActionView::Base.new(ActionController::Base.view_paths, {}, @controller) + view.singleton_class.send :include, @controller._helpers view.singleton_class.send :include, _helpers view.singleton_class.send :include, @controller._routes.url_helpers view.singleton_class.send :delegate, :alert, :notice, :to => "request.flash" diff --git a/actionpack/test/template/test_case_test.rb b/actionpack/test/template/test_case_test.rb index a745999622..203515d508 100644 --- a/actionpack/test/template/test_case_test.rb +++ b/actionpack/test/template/test_case_test.rb @@ -116,6 +116,27 @@ module ActionView end end + class ControllerHelperMethod < ActionView::TestCase + module SomeHelper + def some_method + render :partial => 'test/from_helper' + end + end + + helper SomeHelper + + test "can call a helper method defined on the current controller from a helper" do + @controller.singleton_class.class_eval <<-EOF, __FILE__, __LINE__ + 1 + def render_from_helper + 'controller_helper_method' + end + EOF + @controller.class.helper_method :render_from_helper + + assert_equal 'controller_helper_method', some_method + end + end + class AssignsTest < ActionView::TestCase setup do ActiveSupport::Deprecation.stubs(:warn) |