aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/action_pack_assertions_test.rb
diff options
context:
space:
mode:
authorPrem Sichanugrist <s@sikachu.com>2011-12-02 13:13:36 -0500
committerPrem Sichanugrist <s@sikachu.com>2011-12-06 21:15:27 -0500
commit0460b3a46920ccf7d70d6699a3da06ca9663c1f6 (patch)
tree65a69489d05a420428b87806e8a125b66c6749e8 /actionpack/test/controller/action_pack_assertions_test.rb
parent885a599303585b796da7a0a1c3ccd0bc5c642134 (diff)
downloadrails-0460b3a46920ccf7d70d6699a3da06ca9663c1f6.tar.gz
rails-0460b3a46920ccf7d70d6699a3da06ca9663c1f6.tar.bz2
rails-0460b3a46920ccf7d70d6699a3da06ca9663c1f6.zip
Fix bug in assert_template when using only `:layout` option
Currently if you're do this: assert_template :layout => "foo" Regardless of what layout you were using, the test will always pass. This was broken since the introduction of :layout option in [d9375f3f]. We have a lot of test cases in actionpack/test/controller/layout_test.rb that use this feature. This will make sure that those test cases are not true negative.
Diffstat (limited to 'actionpack/test/controller/action_pack_assertions_test.rb')
-rw-r--r--actionpack/test/controller/action_pack_assertions_test.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/actionpack/test/controller/action_pack_assertions_test.rb b/actionpack/test/controller/action_pack_assertions_test.rb
index a714e8bbcc..b414327d08 100644
--- a/actionpack/test/controller/action_pack_assertions_test.rb
+++ b/actionpack/test/controller/action_pack_assertions_test.rb
@@ -71,6 +71,10 @@ class ActionPackAssertionsController < ActionController::Base
render :text => "Hello!", :content_type => Mime::RSS
end
+ def render_with_layout
+ render "test/hello_world", :layout => "layouts/standard"
+ end
+
def session_stuffing
session['xmas'] = 'turkey'
render :text => "ho ho ho"
@@ -471,6 +475,18 @@ class AssertTemplateTest < ActionController::TestCase
end
end
+ def test_fails_with_wrong_layout
+ get :render_with_layout
+ assert_raise(ActiveSupport::TestCase::Assertion) do
+ assert_template :layout => "application"
+ end
+ end
+
+ def test_passes_with_correct_layout
+ get :render_with_layout
+ assert_template :layout => "layouts/standard"
+ end
+
def test_assert_template_reset_between_requests
get :hello_world
assert_template 'test/hello_world'