liquidscript 0.7.12 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/liquidscript/compiler/base/callable.rb +17 -0
- data/lib/liquidscript/compiler/icr.rb +2 -0
- data/lib/liquidscript/compiler/icr/expressions.rb +0 -76
- data/lib/liquidscript/compiler/icr/functions.rb +34 -0
- data/lib/liquidscript/compiler/icr/groups.rb +68 -0
- data/lib/liquidscript/compiler/icr/literals.rb +11 -47
- data/lib/liquidscript/generator/javascript/objects.rb +71 -89
- data/lib/liquidscript/icr/sexp.rb +1 -1
- data/lib/liquidscript/scanner/liquidscript/main.rb +1 -1
- data/lib/liquidscript/version.rb +1 -1
- data/spec/fixtures/class.generate.yml +2 -2
- data/spec/fixtures/combination.generate.yml +2 -2
- data/spec/fixtures/example.generate.yml +1 -1
- data/spec/fixtures/heredoc.generate.yml +2 -2
- data/spec/fixtures/string2.generate.yml +17 -0
- data/spec/support/matchers/run.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20d97cd63491fe33e34d37dac00eab8bb7f5f7dd
|
4
|
+
data.tar.gz: 8bed64d2660f46dd9f4de474e756d6325fbd1f95
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b992528f87b397087159d786bf4b7fef4b23841413ab317e0d15e1079ceb75f94ea165cfef0bfa43cb17612641478321be5f5158e5f902ae2a56a92b563e1055
|
7
|
+
data.tar.gz: 6092259df275c92ac0ffbf39acc0ac65bba66fd2c68d21eb11f39e562705f3ff4a1a82d8adcfe38ff5074d34c9e227e0f97cbe791363105d787dbf7687fa3e7e
|
@@ -32,6 +32,23 @@ module Liquidscript
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
+
# This applies only as many arguments as the block or function
|
36
|
+
# needs. This is just so that calling a method is easier,
|
37
|
+
# so the developer doesn't have to worry about arity and
|
38
|
+
# such.
|
39
|
+
#
|
40
|
+
# @param args [Object] passed to the call.
|
41
|
+
# @return [Object] the result of the call.
|
42
|
+
def apply(*args)
|
43
|
+
return call if arity == 0
|
44
|
+
|
45
|
+
if block_given?
|
46
|
+
call(*yield[0..arity])
|
47
|
+
else
|
48
|
+
call(*args[0..arity])
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
35
52
|
# How many arguments the call can take. If this represents a
|
36
53
|
# block that has tricks enabled, then this isn't an issue; if
|
37
54
|
# it's a method call, however, it becomes important.
|
@@ -4,6 +4,7 @@ require "liquidscript/compiler/icr/literals"
|
|
4
4
|
require "liquidscript/compiler/icr/classes"
|
5
5
|
require "liquidscript/compiler/icr/helpers"
|
6
6
|
require "liquidscript/compiler/icr/heredoc"
|
7
|
+
require "liquidscript/compiler/icr/groups"
|
7
8
|
|
8
9
|
module Liquidscript
|
9
10
|
module Compiler
|
@@ -14,6 +15,7 @@ module Liquidscript
|
|
14
15
|
include Literals
|
15
16
|
include Classes
|
16
17
|
include Helpers
|
18
|
+
include Groups
|
17
19
|
|
18
20
|
# (see Base#initialize)
|
19
21
|
def initialize(*)
|
@@ -145,82 +145,6 @@ module Liquidscript
|
|
145
145
|
end)
|
146
146
|
end
|
147
147
|
end
|
148
|
-
|
149
|
-
[:if, :elsif].each do |key|
|
150
|
-
define_method(:"compile_#{key}") do
|
151
|
-
shift key
|
152
|
-
shift :lparen
|
153
|
-
conditional = compile_vexpression
|
154
|
-
shift :rparen
|
155
|
-
shift :lbrace
|
156
|
-
|
157
|
-
body = collect_compiles(:expression, :rbrace)
|
158
|
-
|
159
|
-
if peek?(:elsif, :else)
|
160
|
-
code key, conditional, body, expect(:elsif, :else)
|
161
|
-
else
|
162
|
-
code key, conditional, body
|
163
|
-
end
|
164
|
-
end
|
165
|
-
end
|
166
|
-
|
167
|
-
def compile_unless
|
168
|
-
shift :unless
|
169
|
-
shift :lparen
|
170
|
-
conditional = compile_vexpression
|
171
|
-
shift :rparen
|
172
|
-
shift :lbrace
|
173
|
-
|
174
|
-
body = collect_compiles(:expression, :rbrace)
|
175
|
-
code :unless, conditional, body
|
176
|
-
end
|
177
|
-
|
178
|
-
def compile_else
|
179
|
-
shift :else
|
180
|
-
shift :lbrace
|
181
|
-
|
182
|
-
body = collect_compiles(:expression, :rbrace)
|
183
|
-
|
184
|
-
code :else, body
|
185
|
-
end
|
186
|
-
|
187
|
-
def compile_try
|
188
|
-
shift :try
|
189
|
-
shift :lbrace
|
190
|
-
try_body = collect_compiles(:expression, :rbrace)
|
191
|
-
|
192
|
-
next_part = if peek?(:catch)
|
193
|
-
_compile_catch
|
194
|
-
elsif peek?(:finally)
|
195
|
-
_compile_finally
|
196
|
-
end
|
197
|
-
|
198
|
-
code :try, try_body, next_part
|
199
|
-
end
|
200
|
-
|
201
|
-
def _compile_catch
|
202
|
-
shift :catch
|
203
|
-
shift :lparen
|
204
|
-
var = shift :identifier
|
205
|
-
shift :rparen
|
206
|
-
shift :lbrace
|
207
|
-
catch_body = collect_compiles(:expression, :rbrace)
|
208
|
-
|
209
|
-
next_part = if peek?(:finally)
|
210
|
-
_compile_finally
|
211
|
-
end
|
212
|
-
|
213
|
-
code :catch, var, catch_body, next_part
|
214
|
-
end
|
215
|
-
|
216
|
-
def _compile_finally
|
217
|
-
shift :finally
|
218
|
-
shift :lbrace
|
219
|
-
finally_body = collect_compiles(:expression, :rbrace)
|
220
|
-
|
221
|
-
code :finally, finally_body
|
222
|
-
end
|
223
|
-
|
224
148
|
end
|
225
149
|
end
|
226
150
|
end
|
@@ -39,6 +39,40 @@ module Liquidscript
|
|
39
39
|
call = code :call, subject, *arguments
|
40
40
|
call
|
41
41
|
end
|
42
|
+
|
43
|
+
|
44
|
+
def compile_function_with_parameters(parameters)
|
45
|
+
shift :arrow
|
46
|
+
|
47
|
+
expressions = _build_set(parameters)
|
48
|
+
|
49
|
+
if peek?(:lbrace)
|
50
|
+
shift :lbrace
|
51
|
+
collect_compiles(:rbrace) do
|
52
|
+
expressions << compile_expression
|
53
|
+
end
|
54
|
+
else
|
55
|
+
expressions << compile_expression
|
56
|
+
end
|
57
|
+
|
58
|
+
code :function, @set.pop
|
59
|
+
end
|
60
|
+
|
61
|
+
private
|
62
|
+
|
63
|
+
def _build_set(parameters)
|
64
|
+
expressions = Liquidscript::ICR::Set.new
|
65
|
+
expressions.context = Liquidscript::ICR::Context.new
|
66
|
+
expressions.context.parent = top.context
|
67
|
+
expressions[:arguments] = parameters
|
68
|
+
@set << expressions
|
69
|
+
|
70
|
+
parameters.each do |parameter|
|
71
|
+
set(parameter).parameter!
|
72
|
+
end
|
73
|
+
|
74
|
+
expressions
|
75
|
+
end
|
42
76
|
end
|
43
77
|
end
|
44
78
|
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module Liquidscript
|
2
|
+
module Compiler
|
3
|
+
class ICR < Base
|
4
|
+
module Groups
|
5
|
+
|
6
|
+
def _compile_group(type, cond = false, continue = false)
|
7
|
+
shift type
|
8
|
+
|
9
|
+
if cond ||= block_given?
|
10
|
+
shift :lparen
|
11
|
+
if block_given?
|
12
|
+
conditional = yield
|
13
|
+
else
|
14
|
+
conditional = compile_vexpression
|
15
|
+
end
|
16
|
+
shift :rparen
|
17
|
+
end
|
18
|
+
|
19
|
+
if continue && !continue.is_a?(Array)
|
20
|
+
continue = [:elsif, :else]
|
21
|
+
end
|
22
|
+
|
23
|
+
shift :lbrace
|
24
|
+
body = collect_compiles(:expression, :rbrace)
|
25
|
+
|
26
|
+
args = [type]
|
27
|
+
args << conditional if cond
|
28
|
+
args << body
|
29
|
+
args << expect(*continue) if continue and peek?(*continue)
|
30
|
+
|
31
|
+
code(*args)
|
32
|
+
end
|
33
|
+
|
34
|
+
private :_compile_group
|
35
|
+
|
36
|
+
def compile_if
|
37
|
+
_compile_group(:if, true, true)
|
38
|
+
end
|
39
|
+
|
40
|
+
def compile_elsif
|
41
|
+
_compile_group(:elsif, true, true)
|
42
|
+
end
|
43
|
+
|
44
|
+
def compile_unless
|
45
|
+
_compile_group(:unless)
|
46
|
+
end
|
47
|
+
|
48
|
+
def compile_else
|
49
|
+
_compile_group(:else, false)
|
50
|
+
end
|
51
|
+
|
52
|
+
def compile_try
|
53
|
+
_compile_group(:try, false, [:catch, :finally])
|
54
|
+
end
|
55
|
+
|
56
|
+
def compile_catch
|
57
|
+
_compile_group(:catch, false, [:finally]) do
|
58
|
+
shift :identifier
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def compile_finally
|
63
|
+
_compile_group(:finally)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -94,16 +94,7 @@ module Liquidscript
|
|
94
94
|
def compile_iheredoc_begin
|
95
95
|
start = shift :iheredoc_begin
|
96
96
|
contents = [start]
|
97
|
-
|
98
|
-
loop do
|
99
|
-
contents << compile_vexpression
|
100
|
-
if peek?(:iheredoc_begin)
|
101
|
-
contents << shift(:iheredoc_begin)
|
102
|
-
else
|
103
|
-
contents << shift(:iheredoc)
|
104
|
-
false
|
105
|
-
end
|
106
|
-
end
|
97
|
+
_compile_interop(:iheredoc, contents)
|
107
98
|
|
108
99
|
top[:heredocs][top[:herenum]].body = contents
|
109
100
|
top[:herenum] += 1
|
@@ -113,17 +104,7 @@ module Liquidscript
|
|
113
104
|
def compile_istring_begin
|
114
105
|
start = shift :istring_begin
|
115
106
|
contents = [start]
|
116
|
-
|
117
|
-
loop do
|
118
|
-
contents << compile_vexpression
|
119
|
-
if peek?(:istring_begin)
|
120
|
-
contents << shift(:istring_begin)
|
121
|
-
else
|
122
|
-
contents << shift(:istring)
|
123
|
-
false
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
107
|
+
_compile_interop(:istring, contents)
|
127
108
|
|
128
109
|
code :interop, *contents
|
129
110
|
end
|
@@ -183,35 +164,18 @@ module Liquidscript
|
|
183
164
|
end
|
184
165
|
end
|
185
166
|
|
186
|
-
|
187
|
-
shift :arrow
|
188
|
-
|
189
|
-
expressions = Liquidscript::ICR::Set.new
|
190
|
-
expressions.context = Liquidscript::ICR::Context.new
|
191
|
-
expressions.context.parent = top.context
|
192
|
-
expressions[:arguments] = parameters
|
193
|
-
@set << expressions
|
194
|
-
|
195
|
-
parameters.each do |parameter|
|
196
|
-
set(parameter).parameter!
|
197
|
-
end
|
198
|
-
|
199
|
-
|
200
|
-
expression = action do
|
201
|
-
expressions << compile_expression
|
202
|
-
end
|
167
|
+
private
|
203
168
|
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
169
|
+
def _compile_interop(type, contents)
|
170
|
+
loop do
|
171
|
+
contents << compile_vexpression
|
172
|
+
if peek?(:"#{type}_begin")
|
173
|
+
contents << shift(:"#{type}_begin")
|
174
|
+
else
|
175
|
+
contents << shift(type)
|
176
|
+
false
|
211
177
|
end
|
212
178
|
end
|
213
|
-
|
214
|
-
code :function, @set.pop
|
215
179
|
end
|
216
180
|
|
217
181
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
module Liquidscript
|
2
2
|
module Generator
|
3
3
|
class Javascript
|
4
4
|
module Objects
|
@@ -35,113 +35,95 @@
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def generate_class(code)
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
if code[2]
|
51
|
-
body.block 8 - @indent, <<-JS
|
52
|
-
#{class_name}.prototype.__proto__ = #{code[2].value};
|
53
|
-
JS
|
54
|
-
end
|
38
|
+
_context :name => code[1].value,
|
39
|
+
:inherit => code[2],
|
40
|
+
:parts => code[3],
|
41
|
+
:inheritance => "%{name}.prototype.__proto__ = %{inherit};\n",
|
42
|
+
:identifier => "%{name}.prototype.%{value} = %{replace};\n",
|
43
|
+
:istring => "%{name}.prototype[\"%{value}\"] = %{replace};\n",
|
44
|
+
:property => "%{name}.%{value} = %{replace};\n",
|
45
|
+
:head => "%{name} = %{name} || function %{name}() { " +
|
46
|
+
"if(this.initialize) { this.initialize.apply(this, " +
|
47
|
+
"arguments); } };\n"
|
48
|
+
end
|
55
49
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
body.block 8 - @indent, <<-JS
|
65
|
-
#{class_name}.prototype[#{k.value}] = #{replace(v)};
|
66
|
-
JS
|
67
|
-
when :property
|
68
|
-
if k[1].value != "this"
|
69
|
-
raise InvalidCodeError.new(k[1].value)
|
70
|
-
end
|
71
|
-
|
72
|
-
body.block 8 - @indent, <<-JS
|
73
|
-
#{class_name}.#{k[2]} = #{replace(v)};
|
74
|
-
JS
|
75
|
-
when :class
|
76
|
-
body << generate_class(part)
|
77
|
-
when :module
|
78
|
-
body << generate_module(part)
|
79
|
-
end
|
80
|
-
end
|
50
|
+
def generate_module(code)
|
51
|
+
_context :name => code[1].value,
|
52
|
+
:parts => code[2],
|
53
|
+
:head => "%{name} = %{name} || {};\n",
|
54
|
+
:identifier => "%{name}.%{value} = %{replace};\n",
|
55
|
+
:istring => "%{name}[\"%{value}\"] = %{replace};\n",
|
56
|
+
:property => false
|
57
|
+
end
|
81
58
|
|
82
|
-
|
83
|
-
body.block 7, <<-JS
|
84
|
-
#{last_module}.#{class_name} = #{class_name}
|
85
|
-
JS
|
86
|
-
end
|
59
|
+
protected
|
87
60
|
|
88
|
-
|
61
|
+
def current_module
|
62
|
+
@modules.last
|
63
|
+
end
|
89
64
|
|
90
|
-
|
65
|
+
def in_module(module_name)
|
66
|
+
@modules << module_name
|
67
|
+
out = yield @modules[-2]
|
68
|
+
@modules.pop
|
69
|
+
out
|
91
70
|
end
|
92
71
|
|
93
|
-
def
|
72
|
+
def _context(options)
|
94
73
|
body = buffer
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
else
|
105
|
-
k.type
|
106
|
-
end
|
107
|
-
|
108
|
-
case to_match
|
109
|
-
when :identifier
|
110
|
-
body.block 7, <<-JS
|
111
|
-
#{module_name}.#{k.value} = #{replace(v)};
|
112
|
-
JS
|
113
|
-
when :istring
|
114
|
-
body.block 7, <<-JS
|
115
|
-
#{module_name}["#{k.value}"] = #{replace(v)};
|
116
|
-
JS
|
117
|
-
when :class
|
118
|
-
body << generate_class(part)
|
119
|
-
when :module
|
120
|
-
body << generate_module(part)
|
121
|
-
end
|
74
|
+
name = options[:name]
|
75
|
+
opts = { :name => name }
|
76
|
+
|
77
|
+
in_module(name) do |last_module|
|
78
|
+
opts[:last] = last_module
|
79
|
+
_build_header(body, options, opts)
|
80
|
+
|
81
|
+
options[:parts].each do |part|
|
82
|
+
_build_element(body, options, opts, part)
|
122
83
|
end
|
123
84
|
|
124
85
|
if last_module
|
125
|
-
body
|
126
|
-
#{last_module}.#{module_name} = #{module_name}
|
127
|
-
JS
|
86
|
+
body << "#{last_module}.#{name} = #{name};\n"
|
128
87
|
end
|
129
88
|
end
|
130
89
|
|
131
90
|
body
|
132
91
|
end
|
133
92
|
|
134
|
-
|
93
|
+
def _build_element(body, options, opts, part)
|
94
|
+
k, v = part
|
135
95
|
|
136
|
-
|
137
|
-
|
96
|
+
type = if k.is_a? Symbol then k else k.type end
|
97
|
+
|
98
|
+
case type
|
99
|
+
when :identifier, :istring
|
100
|
+
opts[:value] = k.value
|
101
|
+
opts[:replace] = replace(v)
|
102
|
+
|
103
|
+
body << sprintf(options[k.type], opts)
|
104
|
+
when :property
|
105
|
+
opts[:value] = k[2]
|
106
|
+
opts[:replace] = replace(v)
|
107
|
+
|
108
|
+
if k[1].value == "this" && options[k.type]
|
109
|
+
body << sprintf(options[k.type], opts)
|
110
|
+
else
|
111
|
+
raise InvalidCodeError.new(k[1].value)
|
112
|
+
end
|
113
|
+
when :class
|
114
|
+
body << generate_class(part)
|
115
|
+
when :module
|
116
|
+
body << generate_module(part)
|
117
|
+
end
|
138
118
|
end
|
139
119
|
|
140
|
-
def
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
120
|
+
def _build_header(body, options, opts)
|
121
|
+
body << sprintf(options[:head], opts)
|
122
|
+
|
123
|
+
if options[:inherit]
|
124
|
+
opts[:inherit] = options[:inherit].value
|
125
|
+
body << sprintf(options[:inheritance], opts)
|
126
|
+
end
|
145
127
|
end
|
146
128
|
|
147
129
|
end
|
data/lib/liquidscript/version.rb
CHANGED
@@ -25,7 +25,7 @@ compiled: |
|
|
25
25
|
if(this.initialize) {
|
26
26
|
this.initialize.apply(this, arguments);
|
27
27
|
}
|
28
|
-
}
|
28
|
+
};
|
29
29
|
|
30
30
|
Test.prototype.wee = function() {
|
31
31
|
console.log(2);
|
@@ -38,6 +38,6 @@ compiled: |
|
|
38
38
|
Test.test = function() {
|
39
39
|
"class method!";
|
40
40
|
};
|
41
|
-
Something.Test = Test
|
41
|
+
Something.Test = Test;;
|
42
42
|
|
43
43
|
module.exports = Something;
|
@@ -21,7 +21,7 @@ compiled: |
|
|
21
21
|
if(this.initialize) {
|
22
22
|
this.initialize.apply(this, arguments);
|
23
23
|
}
|
24
|
-
}
|
24
|
+
};
|
25
25
|
|
26
26
|
Thing.prototype.initialize = function() {
|
27
27
|
this.test = new Test();
|
@@ -30,4 +30,4 @@ compiled: |
|
|
30
30
|
Thing.prototype.do = function(thing) {
|
31
31
|
return this.test.do(thing);
|
32
32
|
};
|
33
|
-
SomeModule.Thing = Thing
|
33
|
+
SomeModule.Thing = Thing;;
|
@@ -2,8 +2,8 @@ data: |
|
|
2
2
|
console.log(<<TEST, <<-MAYBE)
|
3
3
|
hello world
|
4
4
|
TEST
|
5
|
-
hello #{console} durr #{console.log}
|
5
|
+
hello #{console} durr #{console.log} brrr
|
6
6
|
MAYBE
|
7
7
|
|
8
8
|
compiled: |
|
9
|
-
console.log("hello world", "hello " + console + " durr " + console.log + "");
|
9
|
+
console.log("hello world", "hello " + console + " durr " + console.log + " brrr");
|
@@ -0,0 +1,17 @@
|
|
1
|
+
data: |
|
2
|
+
string = "hello
|
3
|
+
|
4
|
+
world" # this'll translate to "hello\n\nworld"
|
5
|
+
|
6
|
+
single = 'test # there doesn't need to be an endquote here.
|
7
|
+
|
8
|
+
another-string = <<-TEST
|
9
|
+
#{string}, foo bar #{single} fffffuuu
|
10
|
+
TEST
|
11
|
+
|
12
|
+
compiled: |
|
13
|
+
var string,single,anotherString;
|
14
|
+
|
15
|
+
string = "hello\n\nworld";
|
16
|
+
single = 'test';
|
17
|
+
anotherString = " " + string + ", foo bar " + single + " fffffuuu";
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: liquidscript
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Rodi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -139,6 +139,7 @@ files:
|
|
139
139
|
- lib/liquidscript/compiler/icr/classes.rb
|
140
140
|
- lib/liquidscript/compiler/icr/expressions.rb
|
141
141
|
- lib/liquidscript/compiler/icr/functions.rb
|
142
|
+
- lib/liquidscript/compiler/icr/groups.rb
|
142
143
|
- lib/liquidscript/compiler/icr/helpers.rb
|
143
144
|
- lib/liquidscript/compiler/icr/heredoc.rb
|
144
145
|
- lib/liquidscript/compiler/icr/literals.rb
|
@@ -193,6 +194,7 @@ files:
|
|
193
194
|
- spec/fixtures/set.generate.yml
|
194
195
|
- spec/fixtures/string.compile.yml
|
195
196
|
- spec/fixtures/string.generate.yml
|
197
|
+
- spec/fixtures/string2.generate.yml
|
196
198
|
- spec/fixtures/underscore.js
|
197
199
|
- spec/fixtures/underscore.liq
|
198
200
|
- spec/liquidscript/buffer_spec.rb
|
@@ -254,6 +256,7 @@ test_files:
|
|
254
256
|
- spec/fixtures/set.generate.yml
|
255
257
|
- spec/fixtures/string.compile.yml
|
256
258
|
- spec/fixtures/string.generate.yml
|
259
|
+
- spec/fixtures/string2.generate.yml
|
257
260
|
- spec/fixtures/underscore.js
|
258
261
|
- spec/fixtures/underscore.liq
|
259
262
|
- spec/liquidscript/buffer_spec.rb
|