mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-18 18:30:40 -07:00
Avoid modifying the default resources limits hash.
This commit is contained in:
@@ -21,7 +21,7 @@ module Liquid
|
|||||||
@scopes = [(outer_scope || {})]
|
@scopes = [(outer_scope || {})]
|
||||||
@registers = registers
|
@registers = registers
|
||||||
@errors = []
|
@errors = []
|
||||||
@resource_limits = resource_limits || Template.default_resource_limits
|
@resource_limits = resource_limits || Template.default_resource_limits.dup
|
||||||
@resource_limits[:render_score_current] = 0
|
@resource_limits[:render_score_current] = 0
|
||||||
@resource_limits[:assign_score_current] = 0
|
@resource_limits[:assign_score_current] = 0
|
||||||
@parsed_expression = Hash.new{ |cache, markup| cache[markup] = Expression.parse(markup) }
|
@parsed_expression = Hash.new{ |cache, markup| cache[markup] = Expression.parse(markup) }
|
||||||
|
|||||||
@@ -135,6 +135,18 @@ class TemplateTest < Minitest::Test
|
|||||||
assert t.resource_limits[:render_length_current] > 0
|
assert t.resource_limits[:render_length_current] > 0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_default_resource_limits_unaffected_by_render_with_context
|
||||||
|
context = Context.new
|
||||||
|
t = Template.parse("{% for a in (1..100) %} {% assign foo = 1 %} {% endfor %}")
|
||||||
|
t.render!(context)
|
||||||
|
assert context.resource_limits[:assign_score_current] > 0
|
||||||
|
assert context.resource_limits[:render_score_current] > 0
|
||||||
|
assert context.resource_limits[:render_length_current] > 0
|
||||||
|
refute Template.default_resource_limits.key?(:assign_score_current)
|
||||||
|
refute Template.default_resource_limits.key?(:render_score_current)
|
||||||
|
refute Template.default_resource_limits.key?(:render_length_current)
|
||||||
|
end
|
||||||
|
|
||||||
def test_can_use_drop_as_context
|
def test_can_use_drop_as_context
|
||||||
t = Template.new
|
t = Template.new
|
||||||
t.registers['lulz'] = 'haha'
|
t.registers['lulz'] = 'haha'
|
||||||
|
|||||||
Reference in New Issue
Block a user