Permalink
Browse files

Improve assert_select_rjs failure messages for show, hide, toggle, an…

…d remove

Signed-off-by: Michael Koziarski <michael@koziarski.com>
[#931 state:committed]
  • Loading branch information...
timhaines authored and NZKoz committed Aug 29, 2008
1 parent a200c67 commit d0b949d87375ae351757adffd192d8cb1f3dbf8d
@@ -472,7 +472,13 @@ def assert_select_rjs(*args, &block)
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
@@ -433,6 +433,17 @@ def test_assert_select_rjs_for_remove
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|
page.remove "test1"
@@ -454,6 +465,17 @@ def test_assert_select_rjs_for_show
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|
page.show "test1"
@@ -475,6 +497,17 @@ def test_assert_select_rjs_for_hide
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|
page.hide "test1"
@@ -496,6 +529,17 @@ def test_assert_select_rjs_for_toggle
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"

0 comments on commit d0b949d

Please sign in to comment.