Extract tokenize logic from Template to a RubyTokenizer

This commit is contained in:
Gaurav Chande
2015-06-04 04:39:30 +00:00
parent 3dd6433e2f
commit 8b98f92c7f
4 changed files with 46 additions and 26 deletions
+6 -5
View File
@@ -24,15 +24,16 @@ class TokenizerTest < Minitest::Test
def test_calculate_line_numbers_per_token_with_profiling
template = Liquid::Template.parse("", :profile => true)
assert_equal [1], template.send(:tokenize, "{{funk}}").map(&:line_number)
assert_equal [1, 1, 1], template.send(:tokenize, " {{funk}} ").map(&:line_number)
assert_equal [1, 2, 2], template.send(:tokenize, "\n{{funk}}\n").map(&:line_number)
assert_equal [1, 1, 3], template.send(:tokenize, " {{\n funk \n}} ").map(&:line_number)
assert_equal [1], template.send(:tokenize, "{{funk}}").tokens.map(&:line_number)
assert_equal [1, 1, 1], template.send(:tokenize, " {{funk}} ").tokens.map(&:line_number)
assert_equal [1, 2, 2], template.send(:tokenize, "\n{{funk}}\n").tokens.map(&:line_number)
assert_equal [1, 1, 3], template.send(:tokenize, " {{\n funk \n}} ").tokens.map(&:line_number)
end
private
def tokenize(source)
Liquid::Template.new.send(:tokenize, source)
tokenizer = Liquid::Tokenizer.new(source)
tokenizer.tokens
end
end