From ae6bd9f6b02cd946f172ba322bf661c197f65370 Mon Sep 17 00:00:00 2001 From: Dylan Thacker-Smith Date: Tue, 20 Oct 2020 14:11:48 -0400 Subject: [PATCH] Allow an empty variable tag during strict parsing for liquid-c compat (#1320) --- lib/liquid/variable.rb | 2 ++ test/integration/parsing_quirks_test.rb | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/lib/liquid/variable.rb b/lib/liquid/variable.rb index addb495..77d6b0c 100644 --- a/lib/liquid/variable.rb +++ b/lib/liquid/variable.rb @@ -63,6 +63,8 @@ module Liquid @filters = [] p = Parser.new(markup) + return if p.look(:end_of_string) + @name = Expression.parse(p.expression) while p.consume?(:pipe) filtername = p.consume(:id) diff --git a/test/integration/parsing_quirks_test.rb b/test/integration/parsing_quirks_test.rb index d005b75..6b84ec5 100644 --- a/test/integration/parsing_quirks_test.rb +++ b/test/integration/parsing_quirks_test.rb @@ -118,6 +118,10 @@ class ParsingQuirksTest < Minitest::Test end end + def test_blank_variable_markup + assert_template_result('', "{{}}") + end + def test_contains_in_id assert_template_result(' YES ', '{% if containsallshipments == true %} YES {% endif %}', 'containsallshipments' => true) end