diff options
author | Prem Sichanugrist <s@sikachu.com> | 2011-12-02 13:13:36 -0500 |
---|---|---|
committer | Prem Sichanugrist <s@sikachu.com> | 2011-12-06 21:15:27 -0500 |
commit | 0460b3a46920ccf7d70d6699a3da06ca9663c1f6 (patch) | |
tree | 65a69489d05a420428b87806e8a125b66c6749e8 /actionpack/test/controller | |
parent | 885a599303585b796da7a0a1c3ccd0bc5c642134 (diff) | |
download | rails-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')
-rw-r--r-- | actionpack/test/controller/action_pack_assertions_test.rb | 16 | ||||
-rw-r--r-- | actionpack/test/controller/layout_test.rb | 2 |
2 files changed, 17 insertions, 1 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' diff --git a/actionpack/test/controller/layout_test.rb b/actionpack/test/controller/layout_test.rb index 25299eb8b8..bc171e201b 100644 --- a/actionpack/test/controller/layout_test.rb +++ b/actionpack/test/controller/layout_test.rb @@ -167,7 +167,7 @@ class LayoutSetInResponseTest < ActionController::TestCase def test_layout_is_picked_from_the_controller_instances_view_path @controller = PrependsViewPathController.new get :hello - assert_template :layout => /layouts\/alt\.\w+/ + assert_template :layout => /layouts\/alt/ end def test_absolute_pathed_layout |