mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-19 02:40:41 -07:00
Mutate resource_limits hash to flag that the limit was reached (for outside observation)
This commit is contained in:
@@ -76,6 +76,7 @@ class TemplateTest < Test::Unit::TestCase
|
||||
t = Template.parse("0123456789")
|
||||
t.resource_limits = { :render_length_limit => 5 }
|
||||
assert_equal "Liquid error: Memory limits exceeded", t.render()
|
||||
assert t.resource_limits[:reached]
|
||||
t.resource_limits = { :render_length_limit => 10 }
|
||||
assert_equal "0123456789", t.render()
|
||||
assert_not_nil t.resource_limits[:render_length_current]
|
||||
@@ -85,9 +86,11 @@ class TemplateTest < Test::Unit::TestCase
|
||||
t = Template.parse("{% for a in (1..10) %} {% for a in (1..10) %} foo {% endfor %} {% endfor %}")
|
||||
t.resource_limits = { :render_score_limit => 50 }
|
||||
assert_equal "Liquid error: Memory limits exceeded", t.render()
|
||||
assert t.resource_limits[:reached]
|
||||
t = Template.parse("{% for a in (1..100) %} foo {% endfor %}")
|
||||
t.resource_limits = { :render_score_limit => 50 }
|
||||
assert_equal "Liquid error: Memory limits exceeded", t.render()
|
||||
assert t.resource_limits[:reached]
|
||||
t.resource_limits = { :render_score_limit => 200 }
|
||||
assert_equal (" foo " * 100), t.render()
|
||||
assert_not_nil t.resource_limits[:render_score_current]
|
||||
@@ -97,6 +100,7 @@ class TemplateTest < Test::Unit::TestCase
|
||||
t = Template.parse("{% assign foo = 42 %}{% assign bar = 23 %}")
|
||||
t.resource_limits = { :assign_score_limit => 1 }
|
||||
assert_equal "Liquid error: Memory limits exceeded", t.render()
|
||||
assert t.resource_limits[:reached]
|
||||
t.resource_limits = { :assign_score_limit => 2 }
|
||||
assert_equal "", t.render()
|
||||
assert_not_nil t.resource_limits[:assign_score_current]
|
||||
@@ -106,5 +110,6 @@ class TemplateTest < Test::Unit::TestCase
|
||||
t = Template.parse("{% for a in (1..100) %} foo1 {% endfor %} bar {% for a in (1..100) %} foo2 {% endfor %}")
|
||||
t.resource_limits = { :render_score_limit => 50 }
|
||||
assert_equal "Liquid error: Memory limits exceeded", t.render()
|
||||
assert t.resource_limits[:reached]
|
||||
end
|
||||
end # TemplateTest
|
||||
|
||||
Reference in New Issue
Block a user