From 9aaf2f39e03fa1cc3f5cac212e66b210a0b595a0 Mon Sep 17 00:00:00 2001 From: Nathan Weizenbaum Date: Fri, 17 Apr 2009 02:14:38 -0700 Subject: [PATCH] [Haml] Interpret #{} at the beginning of a line as interpolation. Closes gh-1 --- lib/haml/precompiler.rb | 5 ++++- test/haml/engine_test.rb | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/haml/precompiler.rb b/lib/haml/precompiler.rb index 9c5b7a79..10243657 100644 --- a/lib/haml/precompiler.rb +++ b/lib/haml/precompiler.rb @@ -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 diff --git a/test/haml/engine_test.rb b/test/haml/engine_test.rb index 8669b2be..10e84b66 100644 --- a/test/haml/engine_test.rb +++ b/test/haml/engine_test.rb @@ -139,6 +139,11 @@ class EngineTest < Test::Unit::TestCase render("\"title '\#{\"Title\"}'. \"")) end + def test_interpolation_at_the_beginning_of_a_line + assert_equal("

2

\n", render('%p #{1 + 1}')) + assert_equal("

\n 2\n

\n", render("%p\n \#{1 + 1}")) + end + def test_nil_tag_value_should_render_as_empty assert_equal("

\n", render("%p= nil")) end