diff --git a/lib/liquid/variable.rb b/lib/liquid/variable.rb index 5e18710..d74d756 100644 --- a/lib/liquid/variable.rb +++ b/lib/liquid/variable.rb @@ -63,7 +63,7 @@ module Liquid @filters = [] p = Parser.new(markup) # Could be just filters with no input - @name = p.look(:pipe) ? nil : Expression.parse(p.expression) + @name = Expression.parse(p.expression) while p.consume?(:pipe) filtername = p.consume(:id) filterargs = p.consume?(:colon) ? parse_filterargs(p) : [] diff --git a/test/integration/parsing_quirks_test.rb b/test/integration/parsing_quirks_test.rb index a484a96..f2167af 100644 --- a/test/integration/parsing_quirks_test.rb +++ b/test/integration/parsing_quirks_test.rb @@ -28,11 +28,14 @@ class ParsingQuirksTest < Minitest::Test def test_error_on_empty_filter assert Template.parse("{{test}}") - assert Template.parse("{{|test}}") + + with_error_mode(:lax) do + assert Template.parse("{{|test}}") + end + with_error_mode(:strict) do - assert_raises(SyntaxError) do - Template.parse("{{test |a|b|}}") - end + assert_raises(SyntaxError) { Template.parse("{{|test}}") } + assert_raises(SyntaxError) { Template.parse("{{test |a|b|}}") } end end