mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-20 03:10:39 -07:00
Move some assign score increment tests to the tag that increments
This commit is contained in:
@@ -47,4 +47,32 @@ class AssignTest < Minitest::Test
|
|||||||
assert Template.parse("{% assign foo = ('X' | downcase) %}")
|
assert Template.parse("{% assign foo = ('X' | downcase) %}")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end # AssignTest
|
|
||||||
|
def test_assign_score_exceeding_resource_limit
|
||||||
|
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!)
|
||||||
|
refute_nil(t.resource_limits.assign_score)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_assign_score_exceeding_limit_from_composite_object
|
||||||
|
t = Template.parse("{% assign foo = 'aaaa' | reverse %}")
|
||||||
|
|
||||||
|
t.resource_limits.assign_score_limit = 3
|
||||||
|
assert_equal("Liquid error: Memory limits exceeded", t.render)
|
||||||
|
assert(t.resource_limits.reached?)
|
||||||
|
|
||||||
|
t.resource_limits.assign_score_limit = 5
|
||||||
|
assert_equal("", t.render!)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_assign_score_counts_bytes_not_characters
|
||||||
|
t = Template.parse("{% assign foo = 'すごい' %}")
|
||||||
|
t.render
|
||||||
|
assert_equal(9, t.resource_limits.assign_score)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|||||||
@@ -49,4 +49,10 @@ class CaptureTest < Minitest::Test
|
|||||||
rendered = template.render!
|
rendered = template.render!
|
||||||
assert_equal("3-3", rendered.gsub(/\s/, ''))
|
assert_equal("3-3", rendered.gsub(/\s/, ''))
|
||||||
end
|
end
|
||||||
end # CaptureTest
|
|
||||||
|
def test_increment_assign_score_by_bytes_not_characters
|
||||||
|
t = Template.parse("{% capture foo %}すごい{% endcapture %}")
|
||||||
|
t.render!
|
||||||
|
assert_equal(9, t.resource_limits.assign_score)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|||||||
@@ -135,38 +135,6 @@ class TemplateTest < Minitest::Test
|
|||||||
refute_nil(t.resource_limits.render_score)
|
refute_nil(t.resource_limits.render_score)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_resource_limits_assign_score
|
|
||||||
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!)
|
|
||||||
refute_nil(t.resource_limits.assign_score)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_resource_limits_assign_score_counts_bytes_not_characters
|
|
||||||
t = Template.parse("{% assign foo = 'すごい' %}")
|
|
||||||
t.render
|
|
||||||
assert_equal(9, t.resource_limits.assign_score)
|
|
||||||
|
|
||||||
t = Template.parse("{% capture foo %}すごい{% endcapture %}")
|
|
||||||
t.render
|
|
||||||
assert_equal(9, t.resource_limits.assign_score)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_resource_limits_assign_score_nested
|
|
||||||
t = Template.parse("{% assign foo = 'aaaa' | reverse %}")
|
|
||||||
|
|
||||||
t.resource_limits.assign_score_limit = 3
|
|
||||||
assert_equal("Liquid error: Memory limits exceeded", t.render)
|
|
||||||
assert(t.resource_limits.reached?)
|
|
||||||
|
|
||||||
t.resource_limits.assign_score_limit = 5
|
|
||||||
assert_equal("", t.render!)
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_resource_limits_aborts_rendering_after_first_error
|
def test_resource_limits_aborts_rendering_after_first_error
|
||||||
t = Template.parse("{% for a in (1..100) %} foo1 {% endfor %} bar {% for a in (1..100) %} foo2 {% endfor %}")
|
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
|
t.resource_limits.render_score_limit = 50
|
||||||
|
|||||||
Reference in New Issue
Block a user