aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Koziarski <michael@koziarski.com>2008-01-16 01:41:31 +0000
committerMichael Koziarski <michael@koziarski.com>2008-01-16 01:41:31 +0000
commit8a71f870093ccdfa0b04e318cca0f517576be380 (patch)
treee3db0f19e0c70695e147d04e3c0c3a407d1a285b
parent76ea495ec95410dcd98afdc72fefe25f212f68da (diff)
downloadrails-8a71f870093ccdfa0b04e318cca0f517576be380.tar.gz
rails-8a71f870093ccdfa0b04e318cca0f517576be380.tar.bz2
rails-8a71f870093ccdfa0b04e318cca0f517576be380.zip
Ensure that the tests use the instance-level view-paths correctly. Closes #10820 [lifofifo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8645 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rwxr-xr-xactionpack/lib/action_controller/base.rb10
-rw-r--r--actionpack/test/controller/view_paths_test.rb17
2 files changed, 16 insertions, 11 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb
index b0f713b049..5d4afc31fe 100755
--- a/actionpack/lib/action_controller/base.rb
+++ b/actionpack/lib/action_controller/base.rb
@@ -642,11 +642,11 @@ module ActionController #:nodoc:
# View load paths for controller.
def view_paths
- (@template || self.class).view_paths
+ @template.view_paths
end
def view_paths=(value)
- (@template || self.class).view_paths = value
+ @template.view_paths = value
end
# Adds a view_path to the front of the view_paths array.
@@ -656,7 +656,7 @@ module ActionController #:nodoc:
# self.prepend_view_path(["views/default", "views/custom"])
#
def prepend_view_path(path)
- (@template || self.class).prepend_view_path(path)
+ @template.prepend_view_path(path)
end
# Adds a view_path to the end of the view_paths array.
@@ -666,7 +666,7 @@ module ActionController #:nodoc:
# self.append_view_path(["views/default", "views/custom"])
#
def append_view_path(path)
- (@template || self.class).append_view_path(path)
+ @template.append_view_path(path)
end
protected
@@ -1119,7 +1119,7 @@ module ActionController #:nodoc:
raise "You must assign a template class through ActionController.template_class= before processing a request"
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.redirected_to = nil
@performed_render = @performed_redirect = false
diff --git a/actionpack/test/controller/view_paths_test.rb b/actionpack/test/controller/view_paths_test.rb
index 889c5161d4..b1ca400779 100644
--- a/actionpack/test/controller/view_paths_test.rb
+++ b/actionpack/test/controller/view_paths_test.rb
@@ -28,10 +28,15 @@ class ViewLoadPathsTest < Test::Unit::TestCase
def setup
TestController.view_paths = nil
ActionView::Base.cache_template_extensions = false
- @controller = TestController.new
+
@request = ActionController::TestRequest.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.
@old_behavior = ActiveSupport::Deprecation.behavior
@last_message = nil
@@ -48,18 +53,18 @@ class ViewLoadPathsTest < Test::Unit::TestCase
end
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
- 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
end
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
- 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
end