mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-20 11:20:41 -07:00
Raise Liquid::ZeroDivisionError instead of ZeroDivisionError.
This commit is contained in:
@@ -57,4 +57,5 @@ module Liquid
|
|||||||
StackLevelError = Class.new(Error)
|
StackLevelError = Class.new(Error)
|
||||||
TaintedError = Class.new(Error)
|
TaintedError = Class.new(Error)
|
||||||
MemoryError = Class.new(Error)
|
MemoryError = Class.new(Error)
|
||||||
|
ZeroDivisionError = Class.new(Error)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -279,6 +279,8 @@ module Liquid
|
|||||||
# division
|
# division
|
||||||
def divided_by(input, operand)
|
def divided_by(input, operand)
|
||||||
apply_operation(input, operand, :/)
|
apply_operation(input, operand, :/)
|
||||||
|
rescue ::ZeroDivisionError => e
|
||||||
|
raise Liquid::ZeroDivisionError, e.message
|
||||||
end
|
end
|
||||||
|
|
||||||
def modulo(input, operand)
|
def modulo(input, operand)
|
||||||
|
|||||||
@@ -201,14 +201,14 @@ class TemplateTest < Minitest::Test
|
|||||||
def test_exception_handler_doesnt_reraise_if_it_returns_false
|
def test_exception_handler_doesnt_reraise_if_it_returns_false
|
||||||
exception = nil
|
exception = nil
|
||||||
Template.parse("{{ 1 | divided_by: 0 }}").render({}, exception_handler: ->(e) { exception = e; false })
|
Template.parse("{{ 1 | divided_by: 0 }}").render({}, exception_handler: ->(e) { exception = e; false })
|
||||||
assert exception.is_a?(ZeroDivisionError)
|
assert exception.is_a?(Liquid::ZeroDivisionError)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_exception_handler_does_reraise_if_it_returns_true
|
def test_exception_handler_does_reraise_if_it_returns_true
|
||||||
exception = nil
|
exception = nil
|
||||||
assert_raises(ZeroDivisionError) do
|
assert_raises(Liquid::ZeroDivisionError) do
|
||||||
Template.parse("{{ 1 | divided_by: 0 }}").render({}, exception_handler: ->(e) { exception = e; true })
|
Template.parse("{{ 1 | divided_by: 0 }}").render({}, exception_handler: ->(e) { exception = e; true })
|
||||||
end
|
end
|
||||||
assert exception.is_a?(ZeroDivisionError)
|
assert exception.is_a?(Liquid::ZeroDivisionError)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user