mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
35 lines
1.1 KiB
Ruby
35 lines
1.1 KiB
Ruby
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
|
|
|
|
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
|