diff options
Diffstat (limited to 'actionpack/test/controller/view_paths_test.rb')
-rw-r--r-- | actionpack/test/controller/view_paths_test.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/actionpack/test/controller/view_paths_test.rb b/actionpack/test/controller/view_paths_test.rb index edfcb5cc4d..9280a1c2d3 100644 --- a/actionpack/test/controller/view_paths_test.rb +++ b/actionpack/test/controller/view_paths_test.rb @@ -131,6 +131,35 @@ class ViewLoadPathsTest < ActionController::TestCase assert_equal "Hello overridden world!", @response.body end + def test_override_view_paths_with_custom_resolver + resolver_class = Class.new(ActionView::PathResolver) do + def initialize(path_set) + @path_set = path_set + end + + def find_all(*args) + @path_set.find_all(*args).collect do |template| + ::ActionView::Template.new( + "Customized body", + template.identifier, + template.handler, + { + :virtual_path => template.virtual_path, + :format => template.formats + } + ) + end + end + end + + resolver = resolver_class.new(TestController.view_paths) + TestController.view_paths = ActionView::PathSet.new.push(resolver) + + get :hello_world + assert_response :success + assert_equal "Customized body", @response.body + end + def test_inheritance original_load_paths = ActionController::Base.view_paths |