Stack scope by variable and not by level

This commit is contained in:
Mike Angell
2019-08-28 04:25:26 +10:00
parent 250048717c
commit 3ef7eead27
6 changed files with 33 additions and 46 deletions
+2 -2
View File
@@ -369,7 +369,7 @@ HERE
end
def test_overwriting_internal_variable
template = <<-END_TEMPLATE
template = <<-HEREDOC
{% assign forloop = 'first' %}
{% for item in items %}
@@ -379,7 +379,7 @@ HERE
{% endfor %}
{{ forloop }}
END_TEMPLATE
HEREDOC
result = Liquid::Template.parse(template).render('items' => '1')
assert_equal 'Liquid::ForloopDrop Liquid::ForloopDrop second', result.split.map(&:strip).join(' ')
-29
View File
@@ -163,35 +163,6 @@ class ContextUnitTest < Minitest::Test
assert_equal 'test', @context['test']
end
def test_add_item_in_inner_scope
@context.stack('test') do
@context['test'] = 'test'
assert_equal 'test', @context['test']
end
assert_nil @context['test']
end
def test_nested_scopes
@context['test'] = 1
@context.stack('test') do
assert_equal 1, @context['test']
@context['test'] = 2
assert_equal 2, @context['test']
@context.stack('test') do
assert_equal 2, @context['test']
@context['test'] = 3
assert_equal 3, @context['test']
end
assert_equal 2, @context['test']
end
assert_equal 1, @context['test']
end
def test_hierachical_data
@context['hash'] = { "name" => 'tobi' }
assert_equal 'tobi', @context['hash.name']