Fixed that ActionView#file_exists? would be incorrect if @first_render is set (closes #10569) [dbussink]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8385 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson
2007-12-14 18:07:20 +00:00
parent 7a224356a8
commit 78727dd8e2
3 changed files with 21 additions and 1 deletions

View File

@@ -1,5 +1,7 @@
*SVN*
* Fixed that ActionView#file_exists? would be incorrect if @first_render is set #10569 [dbussink]
* Added that Array#to_param calls to_param on all it's elements #10473 [brandon]
* Ensure asset cache directories are automatically created. #10337 [Josh Peek, Chu Yeow]

View File

@@ -404,7 +404,7 @@ If you are rendering a subtemplate, you must now use controller-like partial syn
if template_file_extension
template_exists?(template_file_name, template_file_extension)
else
pick_template_extension(template_path)
template_exists?(template_file_name, pick_template_extension(template_path))
end
end

View File

@@ -23,4 +23,22 @@ class ActionViewTests < Test::Unit::TestCase
assert_equal expectation, base.send(:find_template_extension_from_first_render)
end
end
def test_should_report_file_exists_correctly
base = ActionView::Base.new
assert_nil base.send(:find_template_extension_from_first_render)
assert_equal false, base.send(:file_exists?, 'test.rhtml')
assert_equal false, base.send(:file_exists?, 'test.rb')
base.instance_variable_set('@first_render', 'foo.rb')
assert_equal 'rb', base.send(:find_template_extension_from_first_render)
assert_equal false, base.send(:file_exists?, 'baz')
assert_equal false, base.send(:file_exists?, 'baz.rb')
end
end