From 2809ec780a40a94e13515f865f0eccd701fa0fc6 Mon Sep 17 00:00:00 2001 From: Tristan Hume Date: Mon, 11 Aug 2014 10:38:36 -0400 Subject: [PATCH 1/2] Pass through options on assign tag --- lib/liquid/tags/assign.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/liquid/tags/assign.rb b/lib/liquid/tags/assign.rb index fa852a0..5d82544 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 From 4db22be8ba52fd57a58c370eef54cb80a255202b Mon Sep 17 00:00:00 2001 From: Tristan Hume Date: Mon, 11 Aug 2014 13:06:01 -0400 Subject: [PATCH 2/2] Add tests for assign tag fix --- test/integration/assign_test.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/integration/assign_test.rb b/test/integration/assign_test.rb index e9f5119..73446f0 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