spinto-liquid 2.3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.md +56 -0
- data/MIT-LICENSE +20 -0
- data/README.md +44 -0
- data/lib/extras/liquid_view.rb +51 -0
- data/lib/liquid/block.rb +101 -0
- data/lib/liquid/condition.rb +120 -0
- data/lib/liquid/context.rb +245 -0
- data/lib/liquid/document.rb +17 -0
- data/lib/liquid/drop.rb +49 -0
- data/lib/liquid/errors.rb +11 -0
- data/lib/liquid/extensions.rb +62 -0
- data/lib/liquid/file_system.rb +62 -0
- data/lib/liquid/htmltags.rb +75 -0
- data/lib/liquid/module_ex.rb +62 -0
- data/lib/liquid/standardfilters.rb +241 -0
- data/lib/liquid/strainer.rb +54 -0
- data/lib/liquid/tag.rb +26 -0
- data/lib/liquid/tags/assign.rb +33 -0
- data/lib/liquid/tags/capture.rb +35 -0
- data/lib/liquid/tags/case.rb +79 -0
- data/lib/liquid/tags/comment.rb +9 -0
- data/lib/liquid/tags/cycle.rb +59 -0
- data/lib/liquid/tags/decrement.rb +39 -0
- data/lib/liquid/tags/for.rb +190 -0
- data/lib/liquid/tags/if.rb +79 -0
- data/lib/liquid/tags/ifchanged.rb +20 -0
- data/lib/liquid/tags/include.rb +65 -0
- data/lib/liquid/tags/increment.rb +35 -0
- data/lib/liquid/tags/raw.rb +21 -0
- data/lib/liquid/tags/unless.rb +33 -0
- data/lib/liquid/template.rb +150 -0
- data/lib/liquid/variable.rb +50 -0
- data/lib/liquid.rb +66 -0
- data/test/liquid/assign_test.rb +21 -0
- data/test/liquid/block_test.rb +58 -0
- data/test/liquid/capture_test.rb +40 -0
- data/test/liquid/condition_test.rb +127 -0
- data/test/liquid/context_test.rb +478 -0
- data/test/liquid/drop_test.rb +162 -0
- data/test/liquid/error_handling_test.rb +81 -0
- data/test/liquid/file_system_test.rb +29 -0
- data/test/liquid/filter_test.rb +106 -0
- data/test/liquid/module_ex_test.rb +87 -0
- data/test/liquid/output_test.rb +116 -0
- data/test/liquid/parsing_quirks_test.rb +52 -0
- data/test/liquid/regexp_test.rb +44 -0
- data/test/liquid/security_test.rb +41 -0
- data/test/liquid/standard_filter_test.rb +195 -0
- data/test/liquid/strainer_test.rb +25 -0
- data/test/liquid/tags/for_tag_test.rb +215 -0
- data/test/liquid/tags/html_tag_test.rb +39 -0
- data/test/liquid/tags/if_else_tag_test.rb +160 -0
- data/test/liquid/tags/include_tag_test.rb +139 -0
- data/test/liquid/tags/increment_tag_test.rb +24 -0
- data/test/liquid/tags/raw_tag_test.rb +15 -0
- data/test/liquid/tags/standard_tag_test.rb +295 -0
- data/test/liquid/tags/statements_test.rb +134 -0
- data/test/liquid/tags/unless_else_tag_test.rb +26 -0
- data/test/liquid/template_test.rb +74 -0
- data/test/liquid/variable_test.rb +170 -0
- data/test/test_helper.rb +29 -0
- metadata +136 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class UnlessElseTagTest < Test::Unit::TestCase
|
4
|
+
include Liquid
|
5
|
+
|
6
|
+
def test_unless
|
7
|
+
assert_template_result(' ',' {% unless true %} this text should not go into the output {% endunless %} ')
|
8
|
+
assert_template_result(' this text should go into the output ',
|
9
|
+
' {% unless false %} this text should go into the output {% endunless %} ')
|
10
|
+
assert_template_result(' you rock ?','{% unless true %} you suck {% endunless %} {% unless false %} you rock {% endunless %}?')
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_unless_else
|
14
|
+
assert_template_result(' YES ','{% unless true %} NO {% else %} YES {% endunless %}')
|
15
|
+
assert_template_result(' YES ','{% unless false %} YES {% else %} NO {% endunless %}')
|
16
|
+
assert_template_result(' YES ','{% unless "foo" %} NO {% else %} YES {% endunless %}')
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_unless_in_loop
|
20
|
+
assert_template_result '23', '{% for i in choices %}{% unless i %}{{ forloop.index }}{% endunless %}{% endfor %}', 'choices' => [1, nil, false]
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_unless_else_in_loop
|
24
|
+
assert_template_result ' TRUE 2 3 ', '{% for i in choices %}{% unless i %} {{ forloop.index }} {% else %} TRUE {% endunless %}{% endfor %}', 'choices' => [1, nil, false]
|
25
|
+
end
|
26
|
+
end # UnlessElseTest
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TemplateTest < Test::Unit::TestCase
|
4
|
+
include Liquid
|
5
|
+
|
6
|
+
def test_tokenize_strings
|
7
|
+
assert_equal [' '], Template.new.send(:tokenize, ' ')
|
8
|
+
assert_equal ['hello world'], Template.new.send(:tokenize, 'hello world')
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_tokenize_variables
|
12
|
+
assert_equal ['{{funk}}'], Template.new.send(:tokenize, '{{funk}}')
|
13
|
+
assert_equal [' ', '{{funk}}', ' '], Template.new.send(:tokenize, ' {{funk}} ')
|
14
|
+
assert_equal [' ', '{{funk}}', ' ', '{{so}}', ' ', '{{brother}}', ' '], Template.new.send(:tokenize, ' {{funk}} {{so}} {{brother}} ')
|
15
|
+
assert_equal [' ', '{{ funk }}', ' '], Template.new.send(:tokenize, ' {{ funk }} ')
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_tokenize_blocks
|
19
|
+
assert_equal ['{%comment%}'], Template.new.send(:tokenize, '{%comment%}')
|
20
|
+
assert_equal [' ', '{%comment%}', ' '], Template.new.send(:tokenize, ' {%comment%} ')
|
21
|
+
|
22
|
+
assert_equal [' ', '{%comment%}', ' ', '{%endcomment%}', ' '], Template.new.send(:tokenize, ' {%comment%} {%endcomment%} ')
|
23
|
+
assert_equal [' ', '{% comment %}', ' ', '{% endcomment %}', ' '], Template.new.send(:tokenize, " {% comment %} {% endcomment %} ")
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_instance_assigns_persist_on_same_template_object_between_parses
|
27
|
+
t = Template.new
|
28
|
+
assert_equal 'from instance assigns', t.parse("{% assign foo = 'from instance assigns' %}{{ foo }}").render
|
29
|
+
assert_equal 'from instance assigns', t.parse("{{ foo }}").render
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_instance_assigns_persist_on_same_template_parsing_between_renders
|
33
|
+
t = Template.new.parse("{{ foo }}{% assign foo = 'foo' %}{{ foo }}")
|
34
|
+
assert_equal 'foo', t.render
|
35
|
+
assert_equal 'foofoo', t.render
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_custom_assigns_do_not_persist_on_same_template
|
39
|
+
t = Template.new
|
40
|
+
assert_equal 'from custom assigns', t.parse("{{ foo }}").render('foo' => 'from custom assigns')
|
41
|
+
assert_equal '', t.parse("{{ foo }}").render
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_custom_assigns_squash_instance_assigns
|
45
|
+
t = Template.new
|
46
|
+
assert_equal 'from instance assigns', t.parse("{% assign foo = 'from instance assigns' %}{{ foo }}").render
|
47
|
+
assert_equal 'from custom assigns', t.parse("{{ foo }}").render('foo' => 'from custom assigns')
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_persistent_assigns_squash_instance_assigns
|
51
|
+
t = Template.new
|
52
|
+
assert_equal 'from instance assigns', t.parse("{% assign foo = 'from instance assigns' %}{{ foo }}").render
|
53
|
+
t.assigns['foo'] = 'from persistent assigns'
|
54
|
+
assert_equal 'from persistent assigns', t.parse("{{ foo }}").render
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_lambda_is_called_once_from_persistent_assigns_over_multiple_parses_and_renders
|
58
|
+
t = Template.new
|
59
|
+
t.assigns['number'] = lambda { @global ||= 0; @global += 1 }
|
60
|
+
assert_equal '1', t.parse("{{number}}").render
|
61
|
+
assert_equal '1', t.parse("{{number}}").render
|
62
|
+
assert_equal '1', t.render
|
63
|
+
@global = nil
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_lambda_is_called_once_from_custom_assigns_over_multiple_parses_and_renders
|
67
|
+
t = Template.new
|
68
|
+
assigns = {'number' => lambda { @global ||= 0; @global += 1 }}
|
69
|
+
assert_equal '1', t.parse("{{number}}").render(assigns)
|
70
|
+
assert_equal '1', t.parse("{{number}}").render(assigns)
|
71
|
+
assert_equal '1', t.render(assigns)
|
72
|
+
@global = nil
|
73
|
+
end
|
74
|
+
end # TemplateTest
|
@@ -0,0 +1,170 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class VariableTest < Test::Unit::TestCase
|
4
|
+
include Liquid
|
5
|
+
|
6
|
+
def test_variable
|
7
|
+
var = Variable.new('hello')
|
8
|
+
assert_equal 'hello', var.name
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_filters
|
12
|
+
var = Variable.new('hello | textileze')
|
13
|
+
assert_equal 'hello', var.name
|
14
|
+
assert_equal [[:textileze,[]]], var.filters
|
15
|
+
|
16
|
+
var = Variable.new('hello | textileze | paragraph')
|
17
|
+
assert_equal 'hello', var.name
|
18
|
+
assert_equal [[:textileze,[]], [:paragraph,[]]], var.filters
|
19
|
+
|
20
|
+
var = Variable.new(%! hello | strftime: '%Y'!)
|
21
|
+
assert_equal 'hello', var.name
|
22
|
+
assert_equal [[:strftime,["'%Y'"]]], var.filters
|
23
|
+
|
24
|
+
var = Variable.new(%! 'typo' | link_to: 'Typo', true !)
|
25
|
+
assert_equal %!'typo'!, var.name
|
26
|
+
assert_equal [[:link_to,["'Typo'", "true"]]], var.filters
|
27
|
+
|
28
|
+
var = Variable.new(%! 'typo' | link_to: 'Typo', false !)
|
29
|
+
assert_equal %!'typo'!, var.name
|
30
|
+
assert_equal [[:link_to,["'Typo'", "false"]]], var.filters
|
31
|
+
|
32
|
+
var = Variable.new(%! 'foo' | repeat: 3 !)
|
33
|
+
assert_equal %!'foo'!, var.name
|
34
|
+
assert_equal [[:repeat,["3"]]], var.filters
|
35
|
+
|
36
|
+
var = Variable.new(%! 'foo' | repeat: 3, 3 !)
|
37
|
+
assert_equal %!'foo'!, var.name
|
38
|
+
assert_equal [[:repeat,["3","3"]]], var.filters
|
39
|
+
|
40
|
+
var = Variable.new(%! 'foo' | repeat: 3, 3, 3 !)
|
41
|
+
assert_equal %!'foo'!, var.name
|
42
|
+
assert_equal [[:repeat,["3","3","3"]]], var.filters
|
43
|
+
|
44
|
+
var = Variable.new(%! hello | strftime: '%Y, okay?'!)
|
45
|
+
assert_equal 'hello', var.name
|
46
|
+
assert_equal [[:strftime,["'%Y, okay?'"]]], var.filters
|
47
|
+
|
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
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_filter_with_date_parameter
|
54
|
+
|
55
|
+
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
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_filters_without_whitespace
|
62
|
+
var = Variable.new('hello | textileze | paragraph')
|
63
|
+
assert_equal 'hello', var.name
|
64
|
+
assert_equal [[:textileze,[]], [:paragraph,[]]], var.filters
|
65
|
+
|
66
|
+
var = Variable.new('hello|textileze|paragraph')
|
67
|
+
assert_equal 'hello', var.name
|
68
|
+
assert_equal [[:textileze,[]], [:paragraph,[]]], var.filters
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_symbol
|
72
|
+
var = Variable.new("http://disney.com/logo.gif | image: 'med' ")
|
73
|
+
assert_equal 'http://disney.com/logo.gif', var.name
|
74
|
+
assert_equal [[:image,["'med'"]]], var.filters
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_string_single_quoted
|
78
|
+
var = Variable.new(%| "hello" |)
|
79
|
+
assert_equal '"hello"', var.name
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_string_double_quoted
|
83
|
+
var = Variable.new(%| 'hello' |)
|
84
|
+
assert_equal "'hello'", var.name
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_integer
|
88
|
+
var = Variable.new(%| 1000 |)
|
89
|
+
assert_equal "1000", var.name
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_float
|
93
|
+
var = Variable.new(%| 1000.01 |)
|
94
|
+
assert_equal "1000.01", var.name
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_string_with_special_chars
|
98
|
+
var = Variable.new(%| 'hello! $!@.;"ddasd" ' |)
|
99
|
+
assert_equal %|'hello! $!@.;"ddasd" '|, var.name
|
100
|
+
end
|
101
|
+
|
102
|
+
def test_string_dot
|
103
|
+
var = Variable.new(%| test.test |)
|
104
|
+
assert_equal 'test.test', var.name
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
|
109
|
+
class VariableResolutionTest < Test::Unit::TestCase
|
110
|
+
include Liquid
|
111
|
+
|
112
|
+
def test_simple_variable
|
113
|
+
template = Template.parse(%|{{test}}|)
|
114
|
+
assert_equal 'worked', template.render('test' => 'worked')
|
115
|
+
assert_equal 'worked wonderfully', template.render('test' => 'worked wonderfully')
|
116
|
+
end
|
117
|
+
|
118
|
+
def test_simple_with_whitespaces
|
119
|
+
template = Template.parse(%| {{ test }} |)
|
120
|
+
assert_equal ' worked ', template.render('test' => 'worked')
|
121
|
+
assert_equal ' worked wonderfully ', template.render('test' => 'worked wonderfully')
|
122
|
+
end
|
123
|
+
|
124
|
+
def test_ignore_unknown
|
125
|
+
template = Template.parse(%|{{ test }}|)
|
126
|
+
assert_equal '', template.render
|
127
|
+
end
|
128
|
+
|
129
|
+
def test_hash_scoping
|
130
|
+
template = Template.parse(%|{{ test.test }}|)
|
131
|
+
assert_equal 'worked', template.render('test' => {'test' => 'worked'})
|
132
|
+
end
|
133
|
+
|
134
|
+
def test_preset_assigns
|
135
|
+
template = Template.parse(%|{{ test }}|)
|
136
|
+
template.assigns['test'] = 'worked'
|
137
|
+
assert_equal 'worked', template.render
|
138
|
+
end
|
139
|
+
|
140
|
+
def test_reuse_parsed_template
|
141
|
+
template = Template.parse(%|{{ greeting }} {{ name }}|)
|
142
|
+
template.assigns['greeting'] = 'Goodbye'
|
143
|
+
assert_equal 'Hello Tobi', template.render('greeting' => 'Hello', 'name' => 'Tobi')
|
144
|
+
assert_equal 'Hello ', template.render('greeting' => 'Hello', 'unknown' => 'Tobi')
|
145
|
+
assert_equal 'Hello Brian', template.render('greeting' => 'Hello', 'name' => 'Brian')
|
146
|
+
assert_equal 'Goodbye Brian', template.render('name' => 'Brian')
|
147
|
+
assert_equal({'greeting'=>'Goodbye'}, template.assigns)
|
148
|
+
end
|
149
|
+
|
150
|
+
def test_assigns_not_polluted_from_template
|
151
|
+
template = Template.parse(%|{{ test }}{% assign test = 'bar' %}{{ test }}|)
|
152
|
+
template.assigns['test'] = 'baz'
|
153
|
+
assert_equal 'bazbar', template.render
|
154
|
+
assert_equal 'bazbar', template.render
|
155
|
+
assert_equal 'foobar', template.render('test' => 'foo')
|
156
|
+
assert_equal 'bazbar', template.render
|
157
|
+
end
|
158
|
+
|
159
|
+
def test_hash_with_default_proc
|
160
|
+
template = Template.parse(%|Hello {{ test }}|)
|
161
|
+
assigns = Hash.new { |h,k| raise "Unknown variable '#{k}'" }
|
162
|
+
assigns['test'] = 'Tobi'
|
163
|
+
assert_equal 'Hello Tobi', template.render!(assigns)
|
164
|
+
assigns.delete('test')
|
165
|
+
e = assert_raises(RuntimeError) {
|
166
|
+
template.render!(assigns)
|
167
|
+
}
|
168
|
+
assert_equal "Unknown variable 'test'", e.message
|
169
|
+
end
|
170
|
+
end # VariableTest
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'test/unit/assertions'
|
5
|
+
begin
|
6
|
+
require 'ruby-debug'
|
7
|
+
rescue LoadError
|
8
|
+
puts "Couldn't load ruby-debug. gem install ruby-debug if you need it."
|
9
|
+
end
|
10
|
+
require File.join(File.dirname(__FILE__), '..', 'lib', 'liquid')
|
11
|
+
|
12
|
+
|
13
|
+
module Test
|
14
|
+
module Unit
|
15
|
+
module Assertions
|
16
|
+
include Liquid
|
17
|
+
|
18
|
+
def assert_template_result(expected, template, assigns = {}, message = nil)
|
19
|
+
assert_equal expected, Template.parse(template).render(assigns)
|
20
|
+
end
|
21
|
+
|
22
|
+
def assert_template_result_matches(expected, template, assigns = {}, message = nil)
|
23
|
+
return assert_template_result(expected, template, assigns, message) unless expected.is_a? Regexp
|
24
|
+
|
25
|
+
assert_match expected, Template.parse(template).render(assigns)
|
26
|
+
end
|
27
|
+
end # Assertions
|
28
|
+
end # Unit
|
29
|
+
end # Test
|
metadata
ADDED
@@ -0,0 +1,136 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: spinto-liquid
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.3.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Tobias Luetke
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-03-27 00:00:00.000000000Z
|
13
|
+
dependencies: []
|
14
|
+
description:
|
15
|
+
email:
|
16
|
+
- tobi@leetsoft.com
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files:
|
20
|
+
- History.md
|
21
|
+
- README.md
|
22
|
+
files:
|
23
|
+
- lib/extras/liquid_view.rb
|
24
|
+
- lib/liquid/block.rb
|
25
|
+
- lib/liquid/condition.rb
|
26
|
+
- lib/liquid/context.rb
|
27
|
+
- lib/liquid/document.rb
|
28
|
+
- lib/liquid/drop.rb
|
29
|
+
- lib/liquid/errors.rb
|
30
|
+
- lib/liquid/extensions.rb
|
31
|
+
- lib/liquid/file_system.rb
|
32
|
+
- lib/liquid/htmltags.rb
|
33
|
+
- lib/liquid/module_ex.rb
|
34
|
+
- lib/liquid/standardfilters.rb
|
35
|
+
- lib/liquid/strainer.rb
|
36
|
+
- lib/liquid/tag.rb
|
37
|
+
- lib/liquid/tags/assign.rb
|
38
|
+
- lib/liquid/tags/capture.rb
|
39
|
+
- lib/liquid/tags/case.rb
|
40
|
+
- lib/liquid/tags/comment.rb
|
41
|
+
- lib/liquid/tags/cycle.rb
|
42
|
+
- lib/liquid/tags/decrement.rb
|
43
|
+
- lib/liquid/tags/for.rb
|
44
|
+
- lib/liquid/tags/if.rb
|
45
|
+
- lib/liquid/tags/ifchanged.rb
|
46
|
+
- lib/liquid/tags/include.rb
|
47
|
+
- lib/liquid/tags/increment.rb
|
48
|
+
- lib/liquid/tags/raw.rb
|
49
|
+
- lib/liquid/tags/unless.rb
|
50
|
+
- lib/liquid/template.rb
|
51
|
+
- lib/liquid/variable.rb
|
52
|
+
- lib/liquid.rb
|
53
|
+
- MIT-LICENSE
|
54
|
+
- README.md
|
55
|
+
- test/liquid/assign_test.rb
|
56
|
+
- test/liquid/block_test.rb
|
57
|
+
- test/liquid/capture_test.rb
|
58
|
+
- test/liquid/condition_test.rb
|
59
|
+
- test/liquid/context_test.rb
|
60
|
+
- test/liquid/drop_test.rb
|
61
|
+
- test/liquid/error_handling_test.rb
|
62
|
+
- test/liquid/file_system_test.rb
|
63
|
+
- test/liquid/filter_test.rb
|
64
|
+
- test/liquid/module_ex_test.rb
|
65
|
+
- test/liquid/output_test.rb
|
66
|
+
- test/liquid/parsing_quirks_test.rb
|
67
|
+
- test/liquid/regexp_test.rb
|
68
|
+
- test/liquid/security_test.rb
|
69
|
+
- test/liquid/standard_filter_test.rb
|
70
|
+
- test/liquid/strainer_test.rb
|
71
|
+
- test/liquid/tags/for_tag_test.rb
|
72
|
+
- test/liquid/tags/html_tag_test.rb
|
73
|
+
- test/liquid/tags/if_else_tag_test.rb
|
74
|
+
- test/liquid/tags/include_tag_test.rb
|
75
|
+
- test/liquid/tags/increment_tag_test.rb
|
76
|
+
- test/liquid/tags/raw_tag_test.rb
|
77
|
+
- test/liquid/tags/standard_tag_test.rb
|
78
|
+
- test/liquid/tags/statements_test.rb
|
79
|
+
- test/liquid/tags/unless_else_tag_test.rb
|
80
|
+
- test/liquid/template_test.rb
|
81
|
+
- test/liquid/variable_test.rb
|
82
|
+
- test/test_helper.rb
|
83
|
+
- History.md
|
84
|
+
homepage: http://www.liquidmarkup.org
|
85
|
+
licenses: []
|
86
|
+
post_install_message:
|
87
|
+
rdoc_options: []
|
88
|
+
require_paths:
|
89
|
+
- lib
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.3.7
|
102
|
+
requirements: []
|
103
|
+
rubyforge_project:
|
104
|
+
rubygems_version: 1.8.15
|
105
|
+
signing_key:
|
106
|
+
specification_version: 3
|
107
|
+
summary: A secure, non-evaling end user template engine with aesthetic markup.
|
108
|
+
test_files:
|
109
|
+
- test/liquid/assign_test.rb
|
110
|
+
- test/liquid/block_test.rb
|
111
|
+
- test/liquid/capture_test.rb
|
112
|
+
- test/liquid/condition_test.rb
|
113
|
+
- test/liquid/context_test.rb
|
114
|
+
- test/liquid/drop_test.rb
|
115
|
+
- test/liquid/error_handling_test.rb
|
116
|
+
- test/liquid/file_system_test.rb
|
117
|
+
- test/liquid/filter_test.rb
|
118
|
+
- test/liquid/module_ex_test.rb
|
119
|
+
- test/liquid/output_test.rb
|
120
|
+
- test/liquid/parsing_quirks_test.rb
|
121
|
+
- test/liquid/regexp_test.rb
|
122
|
+
- test/liquid/security_test.rb
|
123
|
+
- test/liquid/standard_filter_test.rb
|
124
|
+
- test/liquid/strainer_test.rb
|
125
|
+
- test/liquid/tags/for_tag_test.rb
|
126
|
+
- test/liquid/tags/html_tag_test.rb
|
127
|
+
- test/liquid/tags/if_else_tag_test.rb
|
128
|
+
- test/liquid/tags/include_tag_test.rb
|
129
|
+
- test/liquid/tags/increment_tag_test.rb
|
130
|
+
- test/liquid/tags/raw_tag_test.rb
|
131
|
+
- test/liquid/tags/standard_tag_test.rb
|
132
|
+
- test/liquid/tags/statements_test.rb
|
133
|
+
- test/liquid/tags/unless_else_tag_test.rb
|
134
|
+
- test/liquid/template_test.rb
|
135
|
+
- test/liquid/variable_test.rb
|
136
|
+
- test/test_helper.rb
|