From 82b5c01caa317f8c141dc195711581261ab2616f Mon Sep 17 00:00:00 2001 From: Tim Haines Date: Fri, 29 Aug 2008 22:09:51 +1200 Subject: [PATCH] fix assert_select_rjs failure messages for show, hide, toggle, and remove --- .../assertions/selector_assertions.rb | 8 +++- actionpack/test/controller/assert_select_test.rb | 44 ++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletions(-) diff --git a/actionpack/lib/action_controller/assertions/selector_assertions.rb b/actionpack/lib/action_controller/assertions/selector_assertions.rb index 9114894..a1c5893 100644 --- a/actionpack/lib/action_controller/assertions/selector_assertions.rb +++ b/actionpack/lib/action_controller/assertions/selector_assertions.rb @@ -472,7 +472,13 @@ module ActionController matches else # RJS statement not found. - flunk args.shift || "No RJS statement that replaces or inserts HTML content." + case rjs_type + when :remove, :show, :hide, :toggle + flunk_message = "No RJS statement that #{rjs_type.to_s}s '#{id}' was rendered." + else + flunk_message = "No RJS statement that replaces or inserts HTML content." + end + flunk args.shift || flunk_message end end diff --git a/actionpack/test/controller/assert_select_test.rb b/actionpack/test/controller/assert_select_test.rb index 1531e7c..a5bd8f5 100644 --- a/actionpack/test/controller/assert_select_test.rb +++ b/actionpack/test/controller/assert_select_test.rb @@ -432,6 +432,17 @@ class AssertSelectTest < Test::Unit::TestCase assert_select_rjs :remove, "test1" end + + def test_assert_select_rjs_for_remove_offers_useful_error_when_assertion_fails + render_rjs do |page| + page.remove "test_with_typo" + end + + assert_select_rjs :remove, "test1" + + rescue Test::Unit::AssertionFailedError + assert_equal "No RJS statement that removes 'test1' was rendered.", $!.message + end def test_assert_select_rjs_for_remove_ignores_block render_rjs do |page| @@ -453,6 +464,17 @@ class AssertSelectTest < Test::Unit::TestCase assert_select_rjs :show, "test1" end + + def test_assert_select_rjs_for_show_offers_useful_error_when_assertion_fails + render_rjs do |page| + page.show "test_with_typo" + end + + assert_select_rjs :show, "test1" + + rescue Test::Unit::AssertionFailedError + assert_equal "No RJS statement that shows 'test1' was rendered.", $!.message + end def test_assert_select_rjs_for_show_ignores_block render_rjs do |page| @@ -474,6 +496,17 @@ class AssertSelectTest < Test::Unit::TestCase assert_select_rjs :hide, "test1" end + + def test_assert_select_rjs_for_hide_offers_useful_error_when_assertion_fails + render_rjs do |page| + page.hide "test_with_typo" + end + + assert_select_rjs :hide, "test1" + + rescue Test::Unit::AssertionFailedError + assert_equal "No RJS statement that hides 'test1' was rendered.", $!.message + end def test_assert_select_rjs_for_hide_ignores_block render_rjs do |page| @@ -496,6 +529,17 @@ class AssertSelectTest < Test::Unit::TestCase assert_select_rjs :toggle, "test1" end + def test_assert_select_rjs_for_toggle_offers_useful_error_when_assertion_fails + render_rjs do |page| + page.toggle "test_with_typo" + end + + assert_select_rjs :toggle, "test1" + + rescue Test::Unit::AssertionFailedError + assert_equal "No RJS statement that toggles 'test1' was rendered.", $!.message + end + def test_assert_select_rjs_for_toggle_ignores_block render_rjs do |page| page.toggle "test1" -- 1.5.6.1 From 2e09ae0573a21bc74adf5b7a84457f4a0fd4d8ca Mon Sep 17 00:00:00 2001 From: Tim Haines Date: Fri, 29 Aug 2008 22:15:07 +1200 Subject: [PATCH] fixed indentation for assert_select_rjs flunk_message case statement --- .../assertions/selector_assertions.rb | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/actionpack/lib/action_controller/assertions/selector_assertions.rb b/actionpack/lib/action_controller/assertions/selector_assertions.rb index a1c5893..f2ac4dc 100644 --- a/actionpack/lib/action_controller/assertions/selector_assertions.rb +++ b/actionpack/lib/action_controller/assertions/selector_assertions.rb @@ -473,10 +473,10 @@ module ActionController else # RJS statement not found. case rjs_type - when :remove, :show, :hide, :toggle - flunk_message = "No RJS statement that #{rjs_type.to_s}s '#{id}' was rendered." - else - flunk_message = "No RJS statement that replaces or inserts HTML content." + when :remove, :show, :hide, :toggle + flunk_message = "No RJS statement that #{rjs_type.to_s}s '#{id}' was rendered." + else + flunk_message = "No RJS statement that replaces or inserts HTML content." end flunk args.shift || flunk_message end -- 1.5.6.1