Fix post-trim for the raw tag

The added test did not pass before this commit.
This commit is contained in:
Alan Wu
2019-11-05 17:43:14 -05:00
parent 57c9cf64eb
commit 36c0fba4e0
2 changed files with 8 additions and 1 deletions

View File

@@ -16,7 +16,10 @@ module Liquid
while (token = tokens.shift)
if token =~ FullTokenPossiblyInvalid
@body << Regexp.last_match(1) if Regexp.last_match(1) != ""
return if block_delimiter == Regexp.last_match(2)
if block_delimiter == Regexp.last_match(2)
@parse_context.trim_whitespace = (token[-3] == WhitespaceControl)
return
end
end
@body << token unless token.empty?
end

View File

@@ -14,6 +14,10 @@ class RawTagTest < Minitest::Test
assert_template_result('{{ test }}', '{% raw %}{{ test }}{% endraw %}')
end
def test_post_trim
assert_template_result('hi', "{% raw %}hi{% endraw -%}\n")
end
def test_open_tag_in_raw
assert_template_result(' Foobar {% invalid ', '{% raw %} Foobar {% invalid {% endraw %}')
assert_template_result(' Foobar invalid %} ', '{% raw %} Foobar invalid %} {% endraw %}')