Skip to content

Commit

Permalink
Ensure that the tests use the instance-level view-paths correctly. Cl…
Browse files Browse the repository at this point in the history
…oses #10820 [lifofifo]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8645 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information
NZKoz committed Jan 16, 2008
1 parent 76ea495 commit 8a71f87
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 11 deletions.
10 changes: 5 additions & 5 deletions actionpack/lib/action_controller/base.rb
Expand Up @@ -642,11 +642,11 @@ def session_enabled?


# View load paths for controller. # View load paths for controller.
def view_paths def view_paths
(@template || self.class).view_paths @template.view_paths
end end


def view_paths=(value) def view_paths=(value)
(@template || self.class).view_paths = value @template.view_paths = value
end end


# Adds a view_path to the front of the view_paths array. # Adds a view_path to the front of the view_paths array.
Expand All @@ -656,7 +656,7 @@ def view_paths=(value)
# self.prepend_view_path(["views/default", "views/custom"]) # self.prepend_view_path(["views/default", "views/custom"])
# #
def prepend_view_path(path) def prepend_view_path(path)
(@template || self.class).prepend_view_path(path) @template.prepend_view_path(path)
end end


# Adds a view_path to the end of the view_paths array. # Adds a view_path to the end of the view_paths array.
Expand All @@ -666,7 +666,7 @@ def prepend_view_path(path)
# self.append_view_path(["views/default", "views/custom"]) # self.append_view_path(["views/default", "views/custom"])
# #
def append_view_path(path) def append_view_path(path)
(@template || self.class).append_view_path(path) @template.append_view_path(path)
end end


protected protected
Expand Down Expand Up @@ -1119,7 +1119,7 @@ def initialize_template_class(response)
raise "You must assign a template class through ActionController.template_class= before processing a request" raise "You must assign a template class through ActionController.template_class= before processing a request"
end end


response.template = ActionView::Base.new(view_paths, {}, self) response.template = ActionView::Base.new(self.class.view_paths, {}, self)
response.template.extend self.class.master_helper_module response.template.extend self.class.master_helper_module
response.redirected_to = nil response.redirected_to = nil
@performed_render = @performed_redirect = false @performed_render = @performed_redirect = false
Expand Down
17 changes: 11 additions & 6 deletions actionpack/test/controller/view_paths_test.rb
Expand Up @@ -28,10 +28,15 @@ def hello_world; render(:template => 'test/hello_world'); end
def setup def setup
TestController.view_paths = nil TestController.view_paths = nil
ActionView::Base.cache_template_extensions = false ActionView::Base.cache_template_extensions = false
@controller = TestController.new
@request = ActionController::TestRequest.new @request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new @response = ActionController::TestResponse.new


@controller = TestController.new
# Following is needed in order to setup @controller.template object properly
@controller.send :initialize_template_class, @response
@controller.send :assign_shortcuts, @request, @response

# Track the last warning. # Track the last warning.
@old_behavior = ActiveSupport::Deprecation.behavior @old_behavior = ActiveSupport::Deprecation.behavior
@last_message = nil @last_message = nil
Expand All @@ -48,18 +53,18 @@ def test_template_load_path_was_set_correctly
end end


def test_controller_appends_view_path_correctly def test_controller_appends_view_path_correctly
TestController.append_view_path 'foo' @controller.append_view_path 'foo'
assert_equal [LOAD_PATH_ROOT, 'foo'], @controller.view_paths assert_equal [LOAD_PATH_ROOT, 'foo'], @controller.view_paths


TestController.append_view_path(%w(bar baz)) @controller.append_view_path(%w(bar baz))
assert_equal [LOAD_PATH_ROOT, 'foo', 'bar', 'baz'], @controller.view_paths assert_equal [LOAD_PATH_ROOT, 'foo', 'bar', 'baz'], @controller.view_paths
end end


def test_controller_prepends_view_path_correctly def test_controller_prepends_view_path_correctly
TestController.prepend_view_path 'baz' @controller.prepend_view_path 'baz'
assert_equal ['baz', LOAD_PATH_ROOT], @controller.view_paths assert_equal ['baz', LOAD_PATH_ROOT], @controller.view_paths


TestController.prepend_view_path(%w(foo bar)) @controller.prepend_view_path(%w(foo bar))
assert_equal ['foo', 'bar', 'baz', LOAD_PATH_ROOT], @controller.view_paths assert_equal ['foo', 'bar', 'baz', LOAD_PATH_ROOT], @controller.view_paths
end end


Expand Down

0 comments on commit 8a71f87

Please sign in to comment.