liquid 3.0.0.rc1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/History.md +4 -0
  3. data/README.md +2 -2
  4. data/lib/liquid.rb +8 -0
  5. data/lib/liquid/block.rb +50 -46
  6. data/lib/liquid/block_body.rb +123 -0
  7. data/lib/liquid/condition.rb +12 -5
  8. data/lib/liquid/context.rb +75 -148
  9. data/lib/liquid/errors.rb +50 -2
  10. data/lib/liquid/expression.rb +33 -0
  11. data/lib/liquid/parser_switching.rb +31 -0
  12. data/lib/liquid/profiler.rb +159 -0
  13. data/lib/liquid/profiler/hooks.rb +23 -0
  14. data/lib/liquid/range_lookup.rb +22 -0
  15. data/lib/liquid/standardfilters.rb +29 -4
  16. data/lib/liquid/tag.rb +6 -25
  17. data/lib/liquid/tags/assign.rb +2 -1
  18. data/lib/liquid/tags/case.rb +1 -1
  19. data/lib/liquid/tags/if.rb +5 -5
  20. data/lib/liquid/tags/ifchanged.rb +1 -1
  21. data/lib/liquid/tags/include.rb +11 -1
  22. data/lib/liquid/tags/raw.rb +1 -4
  23. data/lib/liquid/tags/table_row.rb +1 -1
  24. data/lib/liquid/template.rb +55 -4
  25. data/lib/liquid/token.rb +18 -0
  26. data/lib/liquid/variable.rb +68 -41
  27. data/lib/liquid/variable_lookup.rb +78 -0
  28. data/lib/liquid/version.rb +1 -1
  29. data/test/integration/assign_test.rb +12 -1
  30. data/test/integration/blank_test.rb +1 -1
  31. data/test/integration/capture_test.rb +1 -1
  32. data/test/integration/context_test.rb +10 -11
  33. data/test/integration/drop_test.rb +29 -3
  34. data/test/integration/error_handling_test.rb +138 -41
  35. data/test/integration/filter_test.rb +7 -7
  36. data/test/integration/hash_ordering_test.rb +6 -8
  37. data/test/integration/output_test.rb +1 -1
  38. data/test/integration/parsing_quirks_test.rb +40 -18
  39. data/test/integration/render_profiling_test.rb +154 -0
  40. data/test/integration/security_test.rb +1 -1
  41. data/test/integration/standard_filter_test.rb +47 -1
  42. data/test/integration/tags/break_tag_test.rb +1 -1
  43. data/test/integration/tags/continue_tag_test.rb +1 -1
  44. data/test/integration/tags/for_tag_test.rb +2 -2
  45. data/test/integration/tags/if_else_tag_test.rb +23 -20
  46. data/test/integration/tags/include_tag_test.rb +24 -2
  47. data/test/integration/tags/increment_tag_test.rb +1 -1
  48. data/test/integration/tags/raw_tag_test.rb +1 -1
  49. data/test/integration/tags/standard_tag_test.rb +4 -4
  50. data/test/integration/tags/statements_test.rb +1 -1
  51. data/test/integration/tags/table_row_test.rb +1 -1
  52. data/test/integration/tags/unless_else_tag_test.rb +1 -1
  53. data/test/integration/template_test.rb +16 -4
  54. data/test/integration/variable_test.rb +11 -1
  55. data/test/test_helper.rb +59 -31
  56. data/test/unit/block_unit_test.rb +2 -5
  57. data/test/unit/condition_unit_test.rb +5 -1
  58. data/test/unit/context_unit_test.rb +13 -7
  59. data/test/unit/file_system_unit_test.rb +5 -5
  60. data/test/unit/i18n_unit_test.rb +3 -3
  61. data/test/unit/lexer_unit_test.rb +1 -1
  62. data/test/unit/module_ex_unit_test.rb +1 -1
  63. data/test/unit/parser_unit_test.rb +1 -1
  64. data/test/unit/regexp_unit_test.rb +1 -1
  65. data/test/unit/strainer_unit_test.rb +3 -2
  66. data/test/unit/tag_unit_test.rb +6 -1
  67. data/test/unit/tags/case_tag_unit_test.rb +1 -1
  68. data/test/unit/tags/for_tag_unit_test.rb +1 -1
  69. data/test/unit/tags/if_tag_unit_test.rb +1 -1
  70. data/test/unit/template_unit_test.rb +1 -1
  71. data/test/unit/tokenizer_unit_test.rb +10 -1
  72. data/test/unit/variable_unit_test.rb +49 -46
  73. metadata +71 -47
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class CaseTagUnitTest < Test::Unit::TestCase
3
+ class CaseTagUnitTest < Minitest::Test
4
4
  include Liquid
5
5
 
6
6
  def test_case_nodelist
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class ForTagUnitTest < Test::Unit::TestCase
3
+ class ForTagUnitTest < Minitest::Test
4
4
  def test_for_nodelist
5
5
  template = Liquid::Template.parse('{% for item in items %}FOR{% endfor %}')
6
6
  assert_equal ['FOR'], template.root.nodelist[0].nodelist
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class IfTagUnitTest < Test::Unit::TestCase
3
+ class IfTagUnitTest < Minitest::Test
4
4
  def test_if_nodelist
5
5
  template = Liquid::Template.parse('{% if true %}IF{% else %}ELSE{% endif %}')
6
6
  assert_equal ['IF', 'ELSE'], template.root.nodelist[0].nodelist
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class TemplateUnitTest < Test::Unit::TestCase
3
+ class TemplateUnitTest < Minitest::Test
4
4
  include Liquid
5
5
 
6
6
  def test_sets_default_localization_in_document
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class TokenizerTest < Test::Unit::TestCase
3
+ class TokenizerTest < Minitest::Test
4
4
  def test_tokenize_strings
5
5
  assert_equal [' '], tokenize(' ')
6
6
  assert_equal ['hello world'], tokenize('hello world')
@@ -21,6 +21,15 @@ class TokenizerTest < Test::Unit::TestCase
21
21
  assert_equal [' ', '{% comment %}', ' ', '{% endcomment %}', ' '], tokenize(" {% comment %} {% endcomment %} ")
22
22
  end
23
23
 
24
+ def test_calculate_line_numbers_per_token_with_profiling
25
+ template = Liquid::Template.parse("", :profile => true)
26
+
27
+ assert_equal [1], template.send(:tokenize, "{{funk}}").map(&:line_number)
28
+ assert_equal [1, 1, 1], template.send(:tokenize, " {{funk}} ").map(&:line_number)
29
+ assert_equal [1, 2, 2], template.send(:tokenize, "\n{{funk}}\n").map(&:line_number)
30
+ assert_equal [1, 1, 3], template.send(:tokenize, " {{\n funk \n}} ").map(&:line_number)
31
+ end
32
+
24
33
  private
25
34
 
26
35
  def tokenize(source)
@@ -1,129 +1,127 @@
1
1
  require 'test_helper'
2
2
 
3
- class VariableUnitTest < Test::Unit::TestCase
3
+ class VariableUnitTest < Minitest::Test
4
4
  include Liquid
5
5
 
6
6
  def test_variable
7
7
  var = Variable.new('hello')
8
- assert_equal 'hello', var.name
8
+ assert_equal VariableLookup.new('hello'), var.name
9
9
  end
10
10
 
11
11
  def test_filters
12
12
  var = Variable.new('hello | textileze')
13
- assert_equal 'hello', var.name
14
- assert_equal [["textileze",[]]], var.filters
13
+ assert_equal VariableLookup.new('hello'), var.name
14
+ assert_equal [['textileze',[]]], var.filters
15
15
 
16
16
  var = Variable.new('hello | textileze | paragraph')
17
- assert_equal 'hello', var.name
18
- assert_equal [["textileze",[]], ["paragraph",[]]], var.filters
17
+ assert_equal VariableLookup.new('hello'), var.name
18
+ assert_equal [['textileze',[]], ['paragraph',[]]], var.filters
19
19
 
20
20
  var = Variable.new(%! hello | strftime: '%Y'!)
21
- assert_equal 'hello', var.name
22
- assert_equal [["strftime",["'%Y'"]]], var.filters
21
+ assert_equal VariableLookup.new('hello'), var.name
22
+ assert_equal [['strftime',['%Y']]], var.filters
23
23
 
24
24
  var = Variable.new(%! 'typo' | link_to: 'Typo', true !)
25
- assert_equal %!'typo'!, var.name
26
- assert_equal [["link_to",["'Typo'", "true"]]], var.filters
25
+ assert_equal 'typo', var.name
26
+ assert_equal [['link_to',['Typo', true]]], var.filters
27
27
 
28
28
  var = Variable.new(%! 'typo' | link_to: 'Typo', false !)
29
- assert_equal %!'typo'!, var.name
30
- assert_equal [["link_to",["'Typo'", "false"]]], var.filters
29
+ assert_equal 'typo', var.name
30
+ assert_equal [['link_to',['Typo', false]]], var.filters
31
31
 
32
32
  var = Variable.new(%! 'foo' | repeat: 3 !)
33
- assert_equal %!'foo'!, var.name
34
- assert_equal [["repeat",["3"]]], var.filters
33
+ assert_equal 'foo', var.name
34
+ assert_equal [['repeat',[3]]], var.filters
35
35
 
36
36
  var = Variable.new(%! 'foo' | repeat: 3, 3 !)
37
- assert_equal %!'foo'!, var.name
38
- assert_equal [["repeat",["3","3"]]], var.filters
37
+ assert_equal 'foo', var.name
38
+ assert_equal [['repeat',[3,3]]], var.filters
39
39
 
40
40
  var = Variable.new(%! 'foo' | repeat: 3, 3, 3 !)
41
- assert_equal %!'foo'!, var.name
42
- assert_equal [["repeat",["3","3","3"]]], var.filters
41
+ assert_equal 'foo', var.name
42
+ assert_equal [['repeat',[3,3,3]]], var.filters
43
43
 
44
44
  var = Variable.new(%! hello | strftime: '%Y, okay?'!)
45
- assert_equal 'hello', var.name
46
- assert_equal [["strftime",["'%Y, okay?'"]]], var.filters
45
+ assert_equal VariableLookup.new('hello'), var.name
46
+ assert_equal [['strftime',['%Y, okay?']]], var.filters
47
47
 
48
48
  var = Variable.new(%! hello | things: "%Y, okay?", 'the other one'!)
49
- assert_equal 'hello', var.name
50
- assert_equal [["things",["\"%Y, okay?\"","'the other one'"]]], var.filters
49
+ assert_equal VariableLookup.new('hello'), var.name
50
+ assert_equal [['things',['%Y, okay?','the other one']]], var.filters
51
51
  end
52
52
 
53
53
  def test_filter_with_date_parameter
54
-
55
54
  var = Variable.new(%! '2006-06-06' | date: "%m/%d/%Y"!)
56
- assert_equal "'2006-06-06'", var.name
57
- assert_equal [["date",["\"%m/%d/%Y\""]]], var.filters
58
-
55
+ assert_equal '2006-06-06', var.name
56
+ assert_equal [['date',['%m/%d/%Y']]], var.filters
59
57
  end
60
58
 
61
59
  def test_filters_without_whitespace
62
60
  var = Variable.new('hello | textileze | paragraph')
63
- assert_equal 'hello', var.name
64
- assert_equal [["textileze",[]], ["paragraph",[]]], var.filters
61
+ assert_equal VariableLookup.new('hello'), var.name
62
+ assert_equal [['textileze',[]], ['paragraph',[]]], var.filters
65
63
 
66
64
  var = Variable.new('hello|textileze|paragraph')
67
- assert_equal 'hello', var.name
68
- assert_equal [["textileze",[]], ["paragraph",[]]], var.filters
65
+ assert_equal VariableLookup.new('hello'), var.name
66
+ assert_equal [['textileze',[]], ['paragraph',[]]], var.filters
69
67
 
70
68
  var = Variable.new("hello|replace:'foo','bar'|textileze")
71
- assert_equal 'hello', var.name
72
- assert_equal [["replace", ["'foo'", "'bar'"]], ["textileze", []]], var.filters
69
+ assert_equal VariableLookup.new('hello'), var.name
70
+ assert_equal [['replace', ['foo', 'bar']], ['textileze', []]], var.filters
73
71
  end
74
72
 
75
73
  def test_symbol
76
74
  var = Variable.new("http://disney.com/logo.gif | image: 'med' ", :error_mode => :lax)
77
- assert_equal "http://disney.com/logo.gif", var.name
78
- assert_equal [["image",["'med'"]]], var.filters
75
+ assert_equal VariableLookup.new('http://disney.com/logo.gif'), var.name
76
+ assert_equal [['image',['med']]], var.filters
79
77
  end
80
78
 
81
79
  def test_string_to_filter
82
80
  var = Variable.new("'http://disney.com/logo.gif' | image: 'med' ")
83
- assert_equal "'http://disney.com/logo.gif'", var.name
84
- assert_equal [["image",["'med'"]]], var.filters
81
+ assert_equal 'http://disney.com/logo.gif', var.name
82
+ assert_equal [['image',['med']]], var.filters
85
83
  end
86
84
 
87
85
  def test_string_single_quoted
88
86
  var = Variable.new(%| "hello" |)
89
- assert_equal '"hello"', var.name
87
+ assert_equal 'hello', var.name
90
88
  end
91
89
 
92
90
  def test_string_double_quoted
93
91
  var = Variable.new(%| 'hello' |)
94
- assert_equal "'hello'", var.name
92
+ assert_equal 'hello', var.name
95
93
  end
96
94
 
97
95
  def test_integer
98
96
  var = Variable.new(%| 1000 |)
99
- assert_equal "1000", var.name
97
+ assert_equal 1000, var.name
100
98
  end
101
99
 
102
100
  def test_float
103
101
  var = Variable.new(%| 1000.01 |)
104
- assert_equal "1000.01", var.name
102
+ assert_equal 1000.01, var.name
105
103
  end
106
104
 
107
105
  def test_string_with_special_chars
108
106
  var = Variable.new(%| 'hello! $!@.;"ddasd" ' |)
109
- assert_equal %|'hello! $!@.;"ddasd" '|, var.name
107
+ assert_equal 'hello! $!@.;"ddasd" ', var.name
110
108
  end
111
109
 
112
110
  def test_string_dot
113
111
  var = Variable.new(%| test.test |)
114
- assert_equal 'test.test', var.name
112
+ assert_equal VariableLookup.new('test.test'), var.name
115
113
  end
116
114
 
117
115
  def test_filter_with_keyword_arguments
118
116
  var = Variable.new(%! hello | things: greeting: "world", farewell: 'goodbye'!)
119
- assert_equal 'hello', var.name
120
- assert_equal [['things',["greeting: \"world\"","farewell: 'goodbye'"]]], var.filters
117
+ assert_equal VariableLookup.new('hello'), var.name
118
+ assert_equal [['things', [], { 'greeting' => 'world', 'farewell' => 'goodbye' }]], var.filters
121
119
  end
122
120
 
123
121
  def test_lax_filter_argument_parsing
124
122
  var = Variable.new(%! number_of_comments | pluralize: 'comment': 'comments' !, :error_mode => :lax)
125
- assert_equal 'number_of_comments', var.name
126
- assert_equal [['pluralize',["'comment'","'comments'"]]], var.filters
123
+ assert_equal VariableLookup.new('number_of_comments'), var.name
124
+ assert_equal [['pluralize',['comment','comments']]], var.filters
127
125
  end
128
126
 
129
127
  def test_strict_filter_argument_parsing
@@ -133,4 +131,9 @@ class VariableUnitTest < Test::Unit::TestCase
133
131
  end
134
132
  end
135
133
  end
134
+
135
+ def test_output_raw_source_of_variable
136
+ var = Variable.new(%! name_of_variable | upcase !)
137
+ assert_equal " name_of_variable | upcase ", var.raw
138
+ end
136
139
  end
metadata CHANGED
@@ -1,27 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liquid
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.rc1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Luetke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-24 00:00:00.000000000 Z
11
+ date: 2014-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
25
39
  - !ruby/object:Gem::Version
26
40
  version: '0'
27
41
  description:
@@ -33,12 +47,18 @@ extra_rdoc_files:
33
47
  - History.md
34
48
  - README.md
35
49
  files:
50
+ - History.md
51
+ - MIT-LICENSE
52
+ - README.md
53
+ - lib/liquid.rb
36
54
  - lib/liquid/block.rb
55
+ - lib/liquid/block_body.rb
37
56
  - lib/liquid/condition.rb
38
57
  - lib/liquid/context.rb
39
58
  - lib/liquid/document.rb
40
59
  - lib/liquid/drop.rb
41
60
  - lib/liquid/errors.rb
61
+ - lib/liquid/expression.rb
42
62
  - lib/liquid/extensions.rb
43
63
  - lib/liquid/file_system.rb
44
64
  - lib/liquid/i18n.rb
@@ -47,6 +67,10 @@ files:
47
67
  - lib/liquid/locales/en.yml
48
68
  - lib/liquid/module_ex.rb
49
69
  - lib/liquid/parser.rb
70
+ - lib/liquid/parser_switching.rb
71
+ - lib/liquid/profiler.rb
72
+ - lib/liquid/profiler/hooks.rb
73
+ - lib/liquid/range_lookup.rb
50
74
  - lib/liquid/standardfilters.rb
51
75
  - lib/liquid/strainer.rb
52
76
  - lib/liquid/tag.rb
@@ -67,13 +91,11 @@ files:
67
91
  - lib/liquid/tags/table_row.rb
68
92
  - lib/liquid/tags/unless.rb
69
93
  - lib/liquid/template.rb
94
+ - lib/liquid/token.rb
70
95
  - lib/liquid/utils.rb
71
96
  - lib/liquid/variable.rb
97
+ - lib/liquid/variable_lookup.rb
72
98
  - lib/liquid/version.rb
73
- - lib/liquid.rb
74
- - MIT-LICENSE
75
- - README.md
76
- - History.md
77
99
  - test/fixtures/en_locale.yml
78
100
  - test/integration/assign_test.rb
79
101
  - test/integration/blank_test.rb
@@ -85,6 +107,7 @@ files:
85
107
  - test/integration/hash_ordering_test.rb
86
108
  - test/integration/output_test.rb
87
109
  - test/integration/parsing_quirks_test.rb
110
+ - test/integration/render_profiling_test.rb
88
111
  - test/integration/security_test.rb
89
112
  - test/integration/standard_filter_test.rb
90
113
  - test/integration/tags/break_tag_test.rb
@@ -128,62 +151,63 @@ require_paths:
128
151
  - lib
129
152
  required_ruby_version: !ruby/object:Gem::Requirement
130
153
  requirements:
131
- - - '>='
154
+ - - ">="
132
155
  - !ruby/object:Gem::Version
133
156
  version: '0'
134
157
  required_rubygems_version: !ruby/object:Gem::Requirement
135
158
  requirements:
136
- - - '>='
159
+ - - ">="
137
160
  - !ruby/object:Gem::Version
138
161
  version: 1.3.7
139
162
  requirements: []
140
163
  rubyforge_project:
141
- rubygems_version: 2.0.3
164
+ rubygems_version: 2.2.2
142
165
  signing_key:
143
166
  specification_version: 4
144
167
  summary: A secure, non-evaling end user template engine with aesthetic markup.
145
168
  test_files:
146
- - test/fixtures/en_locale.yml
147
- - test/integration/assign_test.rb
148
- - test/integration/blank_test.rb
149
- - test/integration/capture_test.rb
150
- - test/integration/context_test.rb
151
- - test/integration/drop_test.rb
152
- - test/integration/error_handling_test.rb
153
- - test/integration/filter_test.rb
154
- - test/integration/hash_ordering_test.rb
155
- - test/integration/output_test.rb
156
- - test/integration/parsing_quirks_test.rb
157
- - test/integration/security_test.rb
158
- - test/integration/standard_filter_test.rb
159
- - test/integration/tags/break_tag_test.rb
160
- - test/integration/tags/continue_tag_test.rb
169
+ - test/unit/tags/for_tag_unit_test.rb
170
+ - test/unit/tags/if_tag_unit_test.rb
171
+ - test/unit/tags/case_tag_unit_test.rb
172
+ - test/unit/parser_unit_test.rb
173
+ - test/unit/condition_unit_test.rb
174
+ - test/unit/file_system_unit_test.rb
175
+ - test/unit/regexp_unit_test.rb
176
+ - test/unit/tag_unit_test.rb
177
+ - test/unit/i18n_unit_test.rb
178
+ - test/unit/tokenizer_unit_test.rb
179
+ - test/unit/strainer_unit_test.rb
180
+ - test/unit/template_unit_test.rb
181
+ - test/unit/module_ex_unit_test.rb
182
+ - test/unit/lexer_unit_test.rb
183
+ - test/unit/block_unit_test.rb
184
+ - test/unit/context_unit_test.rb
185
+ - test/unit/variable_unit_test.rb
186
+ - test/test_helper.rb
161
187
  - test/integration/tags/for_tag_test.rb
162
188
  - test/integration/tags/if_else_tag_test.rb
163
189
  - test/integration/tags/include_tag_test.rb
164
- - test/integration/tags/increment_tag_test.rb
190
+ - test/integration/tags/continue_tag_test.rb
165
191
  - test/integration/tags/raw_tag_test.rb
166
- - test/integration/tags/standard_tag_test.rb
167
- - test/integration/tags/statements_test.rb
168
192
  - test/integration/tags/table_row_test.rb
193
+ - test/integration/tags/standard_tag_test.rb
194
+ - test/integration/tags/increment_tag_test.rb
169
195
  - test/integration/tags/unless_else_tag_test.rb
196
+ - test/integration/tags/statements_test.rb
197
+ - test/integration/tags/break_tag_test.rb
198
+ - test/integration/filter_test.rb
199
+ - test/integration/render_profiling_test.rb
200
+ - test/integration/parsing_quirks_test.rb
201
+ - test/integration/drop_test.rb
202
+ - test/integration/hash_ordering_test.rb
203
+ - test/integration/capture_test.rb
204
+ - test/integration/assign_test.rb
205
+ - test/integration/output_test.rb
206
+ - test/integration/error_handling_test.rb
207
+ - test/integration/blank_test.rb
170
208
  - test/integration/template_test.rb
209
+ - test/integration/security_test.rb
171
210
  - test/integration/variable_test.rb
172
- - test/test_helper.rb
173
- - test/unit/block_unit_test.rb
174
- - test/unit/condition_unit_test.rb
175
- - test/unit/context_unit_test.rb
176
- - test/unit/file_system_unit_test.rb
177
- - test/unit/i18n_unit_test.rb
178
- - test/unit/lexer_unit_test.rb
179
- - test/unit/module_ex_unit_test.rb
180
- - test/unit/parser_unit_test.rb
181
- - test/unit/regexp_unit_test.rb
182
- - test/unit/strainer_unit_test.rb
183
- - test/unit/tag_unit_test.rb
184
- - test/unit/tags/case_tag_unit_test.rb
185
- - test/unit/tags/for_tag_unit_test.rb
186
- - test/unit/tags/if_tag_unit_test.rb
187
- - test/unit/template_unit_test.rb
188
- - test/unit/tokenizer_unit_test.rb
189
- - test/unit/variable_unit_test.rb
211
+ - test/integration/standard_filter_test.rb
212
+ - test/integration/context_test.rb
213
+ - test/fixtures/en_locale.yml