diff options
author | Sam Stephenson <sam@37signals.com> | 2005-11-22 08:37:04 +0000 |
---|---|---|
committer | Sam Stephenson <sam@37signals.com> | 2005-11-22 08:37:04 +0000 |
commit | bea737eb5a5f51ee7fbc2e60d870cee5936bdfb0 (patch) | |
tree | 4c7f1d9df0b5db914648cf5742a7f953c60433e5 /actionpack/test | |
parent | 130c493a4ff295723fa08935c71b89badef06cdc (diff) | |
download | rails-bea737eb5a5f51ee7fbc2e60d870cee5936bdfb0.tar.gz rails-bea737eb5a5f51ee7fbc2e60d870cee5936bdfb0.tar.bz2 rails-bea737eb5a5f51ee7fbc2e60d870cee5936bdfb0.zip |
Make ActionController's render honor the :locals option when rendering a :file. Closes #1665.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3157 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/test')
-rw-r--r-- | actionpack/test/controller/new_render_test.rb | 31 | ||||
-rw-r--r-- | actionpack/test/fixtures/test/render_file_with_ivar.rhtml | 1 | ||||
-rw-r--r-- | actionpack/test/fixtures/test/render_file_with_locals.rhtml | 1 |
3 files changed, 33 insertions, 0 deletions
diff --git a/actionpack/test/controller/new_render_test.rb b/actionpack/test/controller/new_render_test.rb index 00458b698a..a1ed9f71d0 100644 --- a/actionpack/test/controller/new_render_test.rb +++ b/actionpack/test/controller/new_render_test.rb @@ -43,6 +43,22 @@ class NewRenderTestController < ActionController::Base def render_custom_code render :text => "hello world", :status => "404 Moved" end + + def render_file_with_instance_variables + @secret = 'in the sauce' + path = File.join(File.dirname(__FILE__), '../fixtures/test/render_file_with_ivar.rhtml') + render :file => path + end + + def render_file_with_locals + path = File.join(File.dirname(__FILE__), '../fixtures/test/render_file_with_locals.rhtml') + render :file => path, :locals => {:secret => 'in the sauce'} + end + + def render_file_not_using_full_path + @secret = 'in the sauce' + render :file => 'test/render_file_with_ivar', :use_full_path => true + end def render_xml_hello @name = "David" @@ -257,6 +273,21 @@ class NewRenderTest < Test::Unit::TestCase assert_response :missing end + def test_render_file_with_instance_variables + get :render_file_with_instance_variables + assert_equal "The secret is in the sauce\n", @response.body + end + + def test_render_file_not_using_full_path + get :render_file_not_using_full_path + assert_equal "The secret is in the sauce\n", @response.body + end + + def test_render_file_with_locals + get :render_file_with_locals + assert_equal "The secret is in the sauce\n", @response.body + end + def test_attempt_to_access_object_method assert_raises(ActionController::UnknownAction, "No action responded to [clone]") { get :clone } end diff --git a/actionpack/test/fixtures/test/render_file_with_ivar.rhtml b/actionpack/test/fixtures/test/render_file_with_ivar.rhtml new file mode 100644 index 0000000000..8b8a449236 --- /dev/null +++ b/actionpack/test/fixtures/test/render_file_with_ivar.rhtml @@ -0,0 +1 @@ +The secret is <%= @secret %> diff --git a/actionpack/test/fixtures/test/render_file_with_locals.rhtml b/actionpack/test/fixtures/test/render_file_with_locals.rhtml new file mode 100644 index 0000000000..ebe09faee6 --- /dev/null +++ b/actionpack/test/fixtures/test/render_file_with_locals.rhtml @@ -0,0 +1 @@ +The secret is <%= secret %> |