aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
diff options
context:
space:
mode:
authorSam Stephenson <sam@37signals.com>2005-11-22 08:37:04 +0000
committerSam Stephenson <sam@37signals.com>2005-11-22 08:37:04 +0000
commitbea737eb5a5f51ee7fbc2e60d870cee5936bdfb0 (patch)
tree4c7f1d9df0b5db914648cf5742a7f953c60433e5 /actionpack/test
parent130c493a4ff295723fa08935c71b89badef06cdc (diff)
downloadrails-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.rb31
-rw-r--r--actionpack/test/fixtures/test/render_file_with_ivar.rhtml1
-rw-r--r--actionpack/test/fixtures/test/render_file_with_locals.rhtml1
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 %>