mirror of
https://github.com/Shopify/liquid.git
synced 2026-10-03 00:55:11 -07:00
Move tests for VariableLookup
This commit is contained in:
@@ -110,10 +110,11 @@ module Liquid
|
|||||||
def to_s
|
def to_s
|
||||||
str = name.dup
|
str = name.dup
|
||||||
lookups.each do |lookup|
|
lookups.each do |lookup|
|
||||||
|
str +=
|
||||||
if lookup.instance_of?(String)
|
if lookup.instance_of?(String)
|
||||||
str += '.' + lookup
|
'.' + lookup
|
||||||
else
|
else
|
||||||
str += '[' + lookup.to_s + ']'
|
'[' + lookup.to_s + ']'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
str
|
str
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class VariableLookupUnitTest < Minitest::Test
|
||||||
|
include Liquid
|
||||||
|
|
||||||
|
def test_variable_lookup_parsing
|
||||||
|
lookup = parse_variable_lookup('a.b.c')
|
||||||
|
assert_equal('a', lookup.name)
|
||||||
|
assert_equal(['b', 'c'], lookup.lookups)
|
||||||
|
|
||||||
|
lookup = parse_variable_lookup('a[b]')
|
||||||
|
assert_equal('a', lookup.name)
|
||||||
|
assert_equal([parse_variable_lookup('b')], lookup.lookups)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_to_s
|
||||||
|
lookup = parse_variable_lookup('a.b.c')
|
||||||
|
assert_equal('a.b.c', lookup.to_s)
|
||||||
|
|
||||||
|
lookup = parse_variable_lookup('a[b.c].d')
|
||||||
|
assert_equal('a[b.c].d', lookup.to_s)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def parse_variable_lookup(markup)
|
||||||
|
if Liquid::Template.error_mode == :strict
|
||||||
|
p = Liquid::Parser.new(markup)
|
||||||
|
VariableLookup.strict_parse(p)
|
||||||
|
else
|
||||||
|
VariableLookup.lax_parse(markup)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -152,12 +152,6 @@ class VariableUnitTest < Minitest::Test
|
|||||||
assert_equal(" name_of_variable | upcase ", var.raw)
|
assert_equal(" name_of_variable | upcase ", var.raw)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_variable_lookup_interface
|
|
||||||
lookup = parse_variable_lookup('a.b.c')
|
|
||||||
assert_equal('a', lookup.name)
|
|
||||||
assert_equal(['b', 'c'], lookup.lookups)
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def parse_variable_lookup(markup)
|
def parse_variable_lookup(markup)
|
||||||
|
|||||||
Reference in New Issue
Block a user