gem.gems.haml-3.1.1.test.haml.html2haml.erb_tests.rb Maven / Gradle / Ivy
module ErbTests
def test_erb
assert_equal '- foo = bar', render_erb('<% foo = bar %>')
assert_equal '- foo = bar', render_erb('<% foo = bar -%>')
assert_equal '= h @item.title', render_erb('<%=h @item.title %>')
assert_equal '= h @item.title', render_erb('<%=h @item.title -%>')
end
def test_inline_erb
assert_equal("%p= foo", render_erb("<%= foo %>
"))
end
def test_non_inline_erb
assert_equal(<
<%= foo %>
HTML
assert_equal(<
<%= foo %>
HTML
assert_equal(<<%= foo %>
HTML
end
def test_erb_in_cdata
assert_equal(< baz]]>
HTML
end
def test_erb_in_script
assert_equal(<
function foo() {
return <%= foo.to_json %>;
}
HTML
end
def test_erb_in_style
assert_equal(<
foo {
bar: <%= "baz" %>;
}
HTML
end
def test_erb_in_line
assert_equal 'foo bar #{baz}', render_erb('foo bar <%= baz %>')
assert_equal 'foo bar #{baz}! Bang.', render_erb('foo bar <%= baz %>! Bang.')
end
def test_erb_multi_in_line
assert_equal('foo bar #{baz}! Bang #{bop}.',
render_erb('foo bar <%= baz %>! Bang <%= bop %>.'))
assert_equal('foo bar #{baz}#{bop}!',
render_erb('foo bar <%= baz %><%= bop %>!'))
end
def test_erb_with_html_special_chars
assert_equal '= 3 < 5 ? "OK" : "Your computer is b0rken"',
render_erb('<%= 3 < 5 ? "OK" : "Your computer is b0rken" %>')
end
def test_erb_in_class_attribute
assert_equal "%div{:class => dyna_class} I have a dynamic attribute",
render_erb('I have a dynamic attribute')
end
def test_erb_in_id_attribute
assert_equal "%div{:id => dyna_id} I have a dynamic attribute",
render_erb('I have a dynamic attribute')
end
def test_erb_in_attribute_results_in_string_interpolation
assert_equal('%div{:id => "item_#{i}"} Ruby string interpolation FTW',
render_erb('Ruby string interpolation FTW'))
end
def test_erb_in_attribute_with_trailing_content
assert_equal('%div{:class => "#{12}!"} Bang!',
render_erb('Bang!'))
end
def test_erb_in_html_escaped_attribute
assert_equal '%div{:class => "foo"} Bang!',
render_erb('">Bang!')
end
def test_erb_in_attribute_to_multiple_interpolations
assert_equal('%div{:class => "#{12} + #{13}"} Math is super',
render_erb('Math is super'))
end
def test_whitespace_eating_erb_tags
assert_equal '- form_for', render_erb('<%- form_for -%>')
end
def test_interpolation_in_erb
assert_equal('= "Foo #{bar} baz"', render_erb('<%= "Foo #{bar} baz" %>'))
end
def test_interpolation_in_erb_attrs
assert_equal('%p{:foo => "#{bar} baz"}',
render_erb('">
'))
end
def test_multiline_erb_silent_script
assert_equal(<
<%
foo
bar
baz
%>
foo
foo