diff --git a/lib/liquid/errors.rb b/lib/liquid/errors.rb index 832341d76..086fabb19 100644 --- a/lib/liquid/errors.rb +++ b/lib/liquid/errors.rb @@ -40,19 +40,20 @@ def message_prefix end end - ArgumentError = Class.new(Error) - ContextError = Class.new(Error) - FileSystemError = Class.new(Error) - StandardError = Class.new(Error) - SyntaxError = Class.new(Error) - StackLevelError = Class.new(Error) - MemoryError = Class.new(Error) - ZeroDivisionError = Class.new(Error) - FloatDomainError = Class.new(Error) - UndefinedVariable = Class.new(Error) - UndefinedDropMethod = Class.new(Error) - UndefinedFilter = Class.new(Error) - MethodOverrideError = Class.new(Error) - DisabledError = Class.new(Error) - InternalError = Class.new(Error) + ArgumentError = Class.new(Error) + ContextError = Class.new(Error) + FileSystemError = Class.new(Error) + StandardError = Class.new(Error) + SyntaxError = Class.new(Error) + StackLevelError = Class.new(Error) + MemoryError = Class.new(Error) + ZeroDivisionError = Class.new(Error) + FloatDomainError = Class.new(Error) + UndefinedVariable = Class.new(Error) + UndefinedDropMethod = Class.new(Error) + UndefinedFilter = Class.new(Error) + MethodOverrideError = Class.new(Error) + DisabledError = Class.new(Error) + InternalError = Class.new(Error) + TemplateEncodingError = Class.new(Error) end diff --git a/lib/liquid/template.rb b/lib/liquid/template.rb index e27ca922a..f6369d1a4 100644 --- a/lib/liquid/template.rb +++ b/lib/liquid/template.rb @@ -110,7 +110,7 @@ def parse(source, options = {}) source = source.to_s.to_str 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 tokenizer = parse_context.new_tokenizer(source, start_line_number: @line_numbers && 1) diff --git a/test/integration/template_test.rb b/test/integration/template_test.rb index c2b63eb51..92ece017c 100644 --- a/test/integration/template_test.rb +++ b/test/integration/template_test.rb @@ -339,7 +339,7 @@ def to_s end def test_raises_error_with_invalid_utf8 - e = assert_raises(SyntaxError) do + e = assert_raises(TemplateEncodingError) do Template.parse(<<~LIQUID) {% comment %} \xC0 @@ -347,7 +347,7 @@ def test_raises_error_with_invalid_utf8 LIQUID end - assert_equal('Liquid syntax error: Invalid template encoding', e.message) + assert_equal('Liquid error: Invalid template encoding', e.message) end def test_allows_non_string_values_as_source