add test-case for `link_to_if` behavior with a block.

This illustrates the purpose of the block for `link_to_if` and
`link_to_unless` helper methods.

It should help to prevent further mistakes like #19844.
This commit is contained in:
Yves Senn 2015-05-01 11:10:31 +02:00
parent 14d0e07026
commit e38dd7bfa4
1 changed files with 10 additions and 0 deletions

View File

@ -379,6 +379,11 @@ class UrlHelperTest < ActiveSupport::TestCase
assert_dom_equal %{<a href="/">Listing</a>}, link_to_if(true, "Listing", url_hash)
end
def test_link_to_if_with_block
assert_equal "Fallback", link_to_if(false, "Showing", url_hash) { "Fallback" }
assert_dom_equal %{<a href="/">Listing</a>}, link_to_if(true, "Listing", url_hash) { "Fallback" }
end
def request_for_url(url, opts = {})
env = Rack::MockRequest.env_for("http://www.example.com#{url}", opts)
ActionDispatch::Request.new(env)
@ -479,6 +484,11 @@ class UrlHelperTest < ActiveSupport::TestCase
link_to_unless_current("Listing", "http://www.example.com/")
end
def test_link_to_unless_with_block
assert_equal %{<a href="/">Showing</a>}, link_to_unless(false, "Showing", url_hash) { "Fallback" }
assert_dom_equal "Fallback", link_to_unless(true, "Listing", url_hash) { "Fallback" }
end
def test_mail_to
assert_dom_equal %{<a href="mailto:david@loudthinking.com">david@loudthinking.com</a>}, mail_to("david@loudthinking.com")
assert_dom_equal %{<a href="mailto:david@loudthinking.com">David Heinemeier Hansson</a>}, mail_to("david@loudthinking.com", "David Heinemeier Hansson")