Parse time errors should propagate to calling site

This commit is contained in:
Tobias Lütke
2008-05-08 12:35:17 -04:00
parent 4c0cfae0b7
commit 8f45647aa3
2 changed files with 7 additions and 9 deletions

View File

@@ -42,10 +42,12 @@ module Liquid
def handle_error(e)
errors.push(e)
raise if @rethrow_errors
case e
when SyntaxError then "Liquid syntax error: #{e.message}"
else "Liquid error: #{e.message}"
when SyntaxError
"Liquid syntax error: #{e.message}"
else
"Liquid error: #{e.message}"
end
end

View File

@@ -59,15 +59,11 @@ class ErrorHandlingTest < Test::Unit::TestCase
end
def test_missing_endtag
def test_missing_endtag_parse_time_error
assert_nothing_raised do
assert_raise(Liquid::SyntaxError) do
template = Liquid::Template.parse(' {% for a in b %} ... ')
assert_equal ' Liquid error: Unknown operator =! ', template.render
assert_equal 1, template.errors.size
assert_equal Liquid::SyntaxError, template.errors.first.class
end