diff --git a/lib/liquid/tags/assign.rb b/lib/liquid/tags/assign.rb index fa852a02..5d825446 100644 --- a/lib/liquid/tags/assign.rb +++ b/lib/liquid/tags/assign.rb @@ -15,7 +15,7 @@ module Liquid super if markup =~ Syntax @to = $1 - @from = Variable.new($2) + @from = Variable.new($2,options) else raise SyntaxError.new options[:locale].t("errors.syntax.assign".freeze) end diff --git a/test/integration/assign_test.rb b/test/integration/assign_test.rb index e9f5119e..73446f04 100644 --- a/test/integration/assign_test.rb +++ b/test/integration/assign_test.rb @@ -24,4 +24,15 @@ class AssignTest < Minitest::Test '{% assign foo not values %}.', 'values' => "foo,bar,baz") end + + def test_assign_uses_error_mode + with_error_mode(:strict) do + assert_raises(SyntaxError) do + Template.parse("{% assign foo = ('X' | downcase) %}") + end + end + with_error_mode(:lax) do + assert Template.parse("{% assign foo = ('X' | downcase) %}") + end + end end # AssignTest