liquid without the garbage

This commit is contained in:
Florian Weingarten
2019-04-22 16:34:31 -04:00
parent c2ef247be5
commit 2a1ca3152d
25 changed files with 144 additions and 101 deletions
+3 -2
View File
@@ -1,8 +1,9 @@
require 'test_helper'
class FoobarTag < Liquid::Tag
def render(*args)
" "
def render(context, output = '')
output << ' '
output
end
Liquid::Template.register_tag('foobar', FoobarTag)
+3 -2
View File
@@ -66,8 +66,9 @@ class CustomInclude < Liquid::Tag
def parse(tokens)
end
def render(context)
@template_name[1..-2]
def render(context, output = '')
output << @template_name[1..-2]
output
end
end
+9 -9
View File
@@ -177,31 +177,31 @@ class TemplateTest < Minitest::Test
def test_render_length_persists_between_blocks
t = Template.parse("{% if true %}aaaa{% endif %}")
t.resource_limits.render_length_limit = 7
t.resource_limits.render_length_limit = 3
assert_equal "Liquid error: Memory limits exceeded", t.render
t.resource_limits.render_length_limit = 8
t.resource_limits.render_length_limit = 4
assert_equal "aaaa", t.render
t = Template.parse("{% if true %}aaaa{% endif %}{% if true %}bbb{% endif %}")
t.resource_limits.render_length_limit = 13
t.resource_limits.render_length_limit = 6
assert_equal "Liquid error: Memory limits exceeded", t.render
t.resource_limits.render_length_limit = 14
t.resource_limits.render_length_limit = 7
assert_equal "aaaabbb", t.render
t = Template.parse("{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}")
t.resource_limits.render_length_limit = 4
assert_equal "Liquid error: Memory limits exceeded", t.render
t.resource_limits.render_length_limit = 5
assert_equal "Liquid error: Memory limits exceeded", t.render
t.resource_limits.render_length_limit = 11
assert_equal "Liquid error: Memory limits exceeded", t.render
t.resource_limits.render_length_limit = 12
t.resource_limits.render_length_limit = 6
assert_equal "ababab", t.render
end
def test_render_length_uses_number_of_bytes_not_characters
t = Template.parse("{% if true %}すごい{% endif %}")
t.resource_limits.render_length_limit = 10
t.resource_limits.render_length_limit = 8
assert_equal "Liquid error: Memory limits exceeded", t.render
t.resource_limits.render_length_limit = 18
t.resource_limits.render_length_limit = 9
assert_equal "すごい", t.render
end