Merge pull request #1776 from Shopify/refactor/invalid-encoding-error

add new TemplateEncodingError
This commit is contained in:
Michael Go
2024-01-12 12:38:34 -04:00
committed by GitHub
3 changed files with 19 additions and 18 deletions
+1
View File
@@ -55,4 +55,5 @@ module Liquid
MethodOverrideError = Class.new(Error) MethodOverrideError = Class.new(Error)
DisabledError = Class.new(Error) DisabledError = Class.new(Error)
InternalError = Class.new(Error) InternalError = Class.new(Error)
TemplateEncodingError = Class.new(Error)
end end
+1 -1
View File
@@ -110,7 +110,7 @@ module Liquid
source = source.to_s.to_str source = source.to_s.to_str
unless source.valid_encoding? unless source.valid_encoding?
raise SyntaxError, parse_context.locale.t("errors.syntax.invalid_template_encoding") raise TemplateEncodingError, parse_context.locale.t("errors.syntax.invalid_template_encoding")
end end
tokenizer = parse_context.new_tokenizer(source, start_line_number: @line_numbers && 1) tokenizer = parse_context.new_tokenizer(source, start_line_number: @line_numbers && 1)
+2 -2
View File
@@ -339,7 +339,7 @@ class TemplateTest < Minitest::Test
end end
def test_raises_error_with_invalid_utf8 def test_raises_error_with_invalid_utf8
e = assert_raises(SyntaxError) do e = assert_raises(TemplateEncodingError) do
Template.parse(<<~LIQUID) Template.parse(<<~LIQUID)
{% comment %} {% comment %}
\xC0 \xC0
@@ -347,7 +347,7 @@ class TemplateTest < Minitest::Test
LIQUID LIQUID
end end
assert_equal('Liquid syntax error: Invalid template encoding', e.message) assert_equal('Liquid error: Invalid template encoding', e.message)
end end
def test_allows_non_string_values_as_source def test_allows_non_string_values_as_source