2011-02-10 10:45:39 -05:00
|
|
|
require 'abstract_unit'
|
|
|
|
|
|
|
|
class OutputSafetyHelperTest < ActionView::TestCase
|
|
|
|
tests ActionView::Helpers::OutputSafetyHelper
|
|
|
|
|
|
|
|
def setup
|
|
|
|
@string = "hello"
|
|
|
|
end
|
|
|
|
|
|
|
|
test "raw returns the safe string" do
|
|
|
|
result = raw(@string)
|
|
|
|
assert_equal @string, result
|
|
|
|
assert result.html_safe?
|
|
|
|
end
|
|
|
|
|
|
|
|
test "raw handles nil values correctly" do
|
|
|
|
assert_equal "", raw(nil)
|
|
|
|
end
|
|
|
|
|
|
|
|
test "safe_join should html_escape any items, including the separator, if they are not html_safe" do
|
|
|
|
joined = safe_join(["<p>foo</p>".html_safe, "<p>bar</p>"], "<br />")
|
|
|
|
assert_equal "<p>foo</p><br /><p>bar</p>", joined
|
|
|
|
|
|
|
|
joined = safe_join(["<p>foo</p>".html_safe, "<p>bar</p>".html_safe], "<br />".html_safe)
|
|
|
|
assert_equal "<p>foo</p><br /><p>bar</p>", joined
|
|
|
|
end
|
|
|
|
|
2014-06-10 20:33:34 -04:00
|
|
|
test "safe_join should work recursively similarly to Array.join" do
|
|
|
|
joined = safe_join(['a',['b','c']], ':')
|
|
|
|
assert_equal 'a:b:c', joined
|
|
|
|
|
|
|
|
joined = safe_join(['"a"',['<b>','<c>']], ' <br/> ')
|
|
|
|
assert_equal '"a" <br/> <b> <br/> <c>', joined
|
|
|
|
end
|
|
|
|
end
|