From fc8e6c8d3a2a2a550e7baa16fd25b76689ef697e Mon Sep 17 00:00:00 2001 From: Gaurav Chande Date: Thu, 4 Jun 2015 05:48:39 +0000 Subject: [PATCH] Change Tokenizer test to fetch tokens instead of exposing ivar --- lib/liquid/tokenizer.rb | 2 -- test/unit/tokenizer_unit_test.rb | 20 +++++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/liquid/tokenizer.rb b/lib/liquid/tokenizer.rb index 9196d2a..51347ed 100644 --- a/lib/liquid/tokenizer.rb +++ b/lib/liquid/tokenizer.rb @@ -1,7 +1,5 @@ module Liquid class Tokenizer - attr_reader :tokens - def initialize(source, line_numbers = false) @source, @line_numbers = source, line_numbers @tokens = tokenize diff --git a/test/unit/tokenizer_unit_test.rb b/test/unit/tokenizer_unit_test.rb index 71b6205..e9cabfa 100644 --- a/test/unit/tokenizer_unit_test.rb +++ b/test/unit/tokenizer_unit_test.rb @@ -22,18 +22,20 @@ class TokenizerTest < Minitest::Test end def test_calculate_line_numbers_per_token_with_profiling - template = Liquid::Template.parse("", :profile => true) - - 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) + assert_equal [1], tokenize("{{funk}}", true).map(&:line_number) + assert_equal [1, 1, 1], tokenize(" {{funk}} ", true).map(&:line_number) + assert_equal [1, 2, 2], tokenize("\n{{funk}}\n", true).map(&:line_number) + assert_equal [1, 1, 3], tokenize(" {{\n funk \n}} ", true).map(&:line_number) end private - def tokenize(source) - tokenizer = Liquid::Tokenizer.new(source) - tokenizer.tokens + def tokenize(source, line_numbers = false) + tokenizer = Liquid::Tokenizer.new(source, line_numbers) + tokens = [] + while t = tokenizer.shift + tokens << t + end + tokens end end