[Haml] Interpret #{} at the beginning of a line as interpolation.

Closes gh-1
This commit is contained in:
Nathan Weizenbaum 2009-04-17 02:14:38 -07:00
parent cf470dd911
commit 9aaf2f39e0
2 changed files with 9 additions and 1 deletions

View File

@ -195,7 +195,10 @@ END
@index = index + 1
case text[0]
when DIV_CLASS, DIV_ID; render_div(text)
when DIV_CLASS; render_div(text)
when DIV_ID
return push_plain(text) if text[1] == ?{
render_div(text)
when ELEMENT; render_tag(text)
when COMMENT; render_comment(text[1..-1].strip)
when SANITIZE

View File

@ -139,6 +139,11 @@ class EngineTest < Test::Unit::TestCase
render("\"title '\#{\"Title\"}'. \""))
end
def test_interpolation_at_the_beginning_of_a_line
assert_equal("<p>2</p>\n", render('%p #{1 + 1}'))
assert_equal("<p>\n 2\n</p>\n", render("%p\n \#{1 + 1}"))
end
def test_nil_tag_value_should_render_as_empty
assert_equal("<p></p>\n", render("%p= nil"))
end