blob: a1cef19c13cf878836d0e56c8cc46b0ae05ed424 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
|
loading test-specs/spec/specs/comments.json
processing file test-specs/spec/specs/comments.json
[0] Inline
Comment blocks should be removed from the template.
=> SUCCESS
[1] Multiline
Multiline comments should be permitted.
=> SUCCESS
[2] Standalone
All standalone comment lines should be removed.
=> SUCCESS
[3] Indented Standalone
All standalone comment lines should be removed.
=> SUCCESS
[4] Standalone Line Endings
"\r\n" should be considered a newline for standalone tags.
=> SUCCESS
[5] Standalone Without Previous Line
Standalone tags should not require a newline to precede them.
=> SUCCESS
[6] Standalone Without Newline
Standalone tags should not require a newline to follow them.
=> SUCCESS
[7] Multiline Standalone
All standalone comment lines should be removed.
=> SUCCESS
[8] Indented Multiline Standalone
All standalone comment lines should be removed.
=> SUCCESS
[9] Indented Inline
Inline comments should not strip whitespace
=> SUCCESS
[10] Surrounding Whitespace
Comment removal should preserve surrounding whitespace.
=> SUCCESS
[11] Variable Name Collision
Comments must never render, even if variable with same name exists.
=> SUCCESS
loading test-specs/spec/specs/delimiters.json
processing file test-specs/spec/specs/delimiters.json
[0] Pair Behavior
The equals sign (used on both sides) should permit delimiter changes.
=> SUCCESS
[1] Special Characters
Characters with special meaning regexen should be valid delimiters.
=> SUCCESS
[2] Sections
Delimiters set outside sections should persist.
=> SUCCESS
[3] Inverted Sections
Delimiters set outside inverted sections should persist.
=> SUCCESS
[4] Partial Inheritence
Delimiters set in a parent template should not affect a partial.
=> SUCCESS
[5] Post-Partial Behavior
Delimiters set in a partial should not affect the parent template.
=> SUCCESS
[6] Surrounding Whitespace
Surrounding whitespace should be left untouched.
=> SUCCESS
[7] Outlying Whitespace (Inline)
Whitespace should be left untouched.
=> SUCCESS
[8] Standalone Tag
Standalone lines should be removed from the template.
=> SUCCESS
[9] Indented Standalone Tag
Indented standalone lines should be removed from the template.
=> SUCCESS
[10] Standalone Line Endings
"\r\n" should be considered a newline for standalone tags.
=> SUCCESS
[11] Standalone Without Previous Line
Standalone tags should not require a newline to precede them.
=> SUCCESS
[12] Standalone Without Newline
Standalone tags should not require a newline to follow them.
=> SUCCESS
[13] Pair with Padding
Superfluous in-tag whitespace should be ignored.
=> SUCCESS
loading test-specs/spec/specs/interpolation.json
processing file test-specs/spec/specs/interpolation.json
[0] No Interpolation
Mustache-free templates should render as-is.
=> SUCCESS
[1] Basic Interpolation
Unadorned tags should interpolate content into the template.
=> SUCCESS
[2] HTML Escaping
Basic interpolation should be HTML escaped.
=> SUCCESS
[3] Triple Mustache
Triple mustaches should interpolate without HTML escaping.
=> SUCCESS
[4] Ampersand
Ampersand should interpolate without HTML escaping.
=> SUCCESS
[5] Basic Integer Interpolation
Integers should interpolate seamlessly.
=> SUCCESS
[6] Triple Mustache Integer Interpolation
Integers should interpolate seamlessly.
=> SUCCESS
[7] Ampersand Integer Interpolation
Integers should interpolate seamlessly.
=> SUCCESS
[8] Basic Decimal Interpolation
Decimals should interpolate seamlessly with proper significance.
=> SUCCESS
[9] Triple Mustache Decimal Interpolation
Decimals should interpolate seamlessly with proper significance.
=> SUCCESS
[10] Ampersand Decimal Interpolation
Decimals should interpolate seamlessly with proper significance.
=> SUCCESS
[11] Basic Null Interpolation
Nulls should interpolate as the empty string.
=> SUCCESS
[12] Triple Mustache Null Interpolation
Nulls should interpolate as the empty string.
=> SUCCESS
[13] Ampersand Null Interpolation
Nulls should interpolate as the empty string.
=> SUCCESS
[14] Basic Context Miss Interpolation
Failed context lookups should default to empty strings.
=> SUCCESS
[15] Triple Mustache Context Miss Interpolation
Failed context lookups should default to empty strings.
=> SUCCESS
[16] Ampersand Context Miss Interpolation
Failed context lookups should default to empty strings.
=> SUCCESS
[17] Dotted Names - Basic Interpolation
Dotted names should be considered a form of shorthand for sections.
=> SUCCESS
[18] Dotted Names - Triple Mustache Interpolation
Dotted names should be considered a form of shorthand for sections.
=> SUCCESS
[19] Dotted Names - Ampersand Interpolation
Dotted names should be considered a form of shorthand for sections.
=> SUCCESS
[20] Dotted Names - Arbitrary Depth
Dotted names should be functional to any level of nesting.
=> SUCCESS
[21] Dotted Names - Broken Chains
Any falsey value prior to the last part of the name should yield ''.
=> SUCCESS
[22] Dotted Names - Broken Chain Resolution
Each part of a dotted name should resolve only against its parent.
=> SUCCESS
[23] Dotted Names - Initial Resolution
The first part of a dotted name should resolve as any other name.
=> SUCCESS
[24] Dotted Names - Context Precedence
Dotted names should be resolved against former resolutions.
=> SUCCESS
[25] Implicit Iterators - Basic Interpolation
Unadorned tags should interpolate content into the template.
=> SUCCESS
[26] Implicit Iterators - HTML Escaping
Basic interpolation should be HTML escaped.
=> SUCCESS
[27] Implicit Iterators - Triple Mustache
Triple mustaches should interpolate without HTML escaping.
=> SUCCESS
[28] Implicit Iterators - Ampersand
Ampersand should interpolate without HTML escaping.
=> SUCCESS
[29] Implicit Iterators - Basic Integer Interpolation
Integers should interpolate seamlessly.
=> SUCCESS
[30] Interpolation - Surrounding Whitespace
Interpolation should not alter surrounding whitespace.
=> SUCCESS
[31] Triple Mustache - Surrounding Whitespace
Interpolation should not alter surrounding whitespace.
=> SUCCESS
[32] Ampersand - Surrounding Whitespace
Interpolation should not alter surrounding whitespace.
=> SUCCESS
[33] Interpolation - Standalone
Standalone interpolation should not alter surrounding whitespace.
=> SUCCESS
[34] Triple Mustache - Standalone
Standalone interpolation should not alter surrounding whitespace.
=> SUCCESS
[35] Ampersand - Standalone
Standalone interpolation should not alter surrounding whitespace.
=> SUCCESS
[36] Interpolation With Padding
Superfluous in-tag whitespace should be ignored.
=> SUCCESS
[37] Triple Mustache With Padding
Superfluous in-tag whitespace should be ignored.
=> SUCCESS
[38] Ampersand With Padding
Superfluous in-tag whitespace should be ignored.
=> SUCCESS
loading test-specs/spec/specs/inverted.json
processing file test-specs/spec/specs/inverted.json
[0] Falsey
Falsey sections should have their contents rendered.
=> SUCCESS
[1] Truthy
Truthy sections should have their contents omitted.
=> SUCCESS
[2] Null is falsey
Null is falsey.
=> SUCCESS
[3] Context
Objects and hashes should behave like truthy values.
=> SUCCESS
[4] List
Lists should behave like truthy values.
=> SUCCESS
[5] Empty List
Empty lists should behave like falsey values.
=> SUCCESS
[6] Doubled
Multiple inverted sections per template should be permitted.
=> SUCCESS
[7] Nested (Falsey)
Nested falsey sections should have their contents rendered.
=> SUCCESS
[8] Nested (Truthy)
Nested truthy sections should be omitted.
=> SUCCESS
[9] Context Misses
Failed context lookups should be considered falsey.
=> SUCCESS
[10] Dotted Names - Truthy
Dotted names should be valid for Inverted Section tags.
=> SUCCESS
[11] Dotted Names - Falsey
Dotted names should be valid for Inverted Section tags.
=> SUCCESS
[12] Dotted Names - Broken Chains
Dotted names that cannot be resolved should be considered falsey.
=> SUCCESS
[13] Surrounding Whitespace
Inverted sections should not alter surrounding whitespace.
=> SUCCESS
[14] Internal Whitespace
Inverted should not alter internal whitespace.
=> SUCCESS
[15] Indented Inline Sections
Single-line sections should not alter surrounding whitespace.
=> SUCCESS
[16] Standalone Lines
Standalone lines should be removed from the template.
=> SUCCESS
[17] Standalone Indented Lines
Standalone indented lines should be removed from the template.
=> SUCCESS
[18] Standalone Line Endings
"\r\n" should be considered a newline for standalone tags.
=> SUCCESS
[19] Standalone Without Previous Line
Standalone tags should not require a newline to precede them.
=> SUCCESS
[20] Standalone Without Newline
Standalone tags should not require a newline to follow them.
=> SUCCESS
[21] Padding
Superfluous in-tag whitespace should be ignored.
=> SUCCESS
loading test-specs/spec/specs/partials.json
processing file test-specs/spec/specs/partials.json
[0] Basic Behavior
The greater-than operator should expand to the named partial.
=> SUCCESS
[1] Failed Lookup
The empty string should be used when the named partial is not found.
=> SUCCESS
[2] Context
The greater-than operator should operate within the current context.
=> SUCCESS
[3] Recursion
The greater-than operator should properly recurse.
=> SUCCESS
[4] Nested
The greater-than operator should work from within partials.
=> SUCCESS
[5] Surrounding Whitespace
The greater-than operator should not alter surrounding whitespace.
=> SUCCESS
[6] Inline Indentation
Whitespace should be left untouched.
=> SUCCESS
[7] Standalone Line Endings
"\r\n" should be considered a newline for standalone tags.
=> SUCCESS
[8] Standalone Without Previous Line
Standalone tags should not require a newline to precede them.
=> SUCCESS
[9] Standalone Without Newline
Standalone tags should not require a newline to follow them.
=> SUCCESS
[10] Standalone Indentation
Each line of the partial should be indented before rendering.
=> SUCCESS
[11] Padding Whitespace
Superfluous in-tag whitespace should be ignored.
=> SUCCESS
loading test-specs/spec/specs/sections.json
processing file test-specs/spec/specs/sections.json
[0] Truthy
Truthy sections should have their contents rendered.
=> SUCCESS
[1] Falsey
Falsey sections should have their contents omitted.
=> SUCCESS
[2] Null is falsey
Null is falsey.
=> SUCCESS
[3] Context
Objects and hashes should be pushed onto the context stack.
=> SUCCESS
[4] Parent contexts
Names missing in the current context are looked up in the stack.
=> SUCCESS
[5] Variable test
Non-false sections have their value at the top of context,
accessible as {{.}} or through the parent context. This gives
a simple way to display content conditionally if a variable exists.
=> SUCCESS
[6] List Contexts
All elements on the context stack should be accessible within lists.
=> SUCCESS
[7] Deeply Nested Contexts
All elements on the context stack should be accessible.
=> SUCCESS
[8] List
Lists should be iterated; list items should visit the context stack.
=> SUCCESS
[9] Empty List
Empty lists should behave like falsey values.
=> SUCCESS
[10] Doubled
Multiple sections per template should be permitted.
=> SUCCESS
[11] Nested (Truthy)
Nested truthy sections should have their contents rendered.
=> SUCCESS
[12] Nested (Falsey)
Nested falsey sections should be omitted.
=> SUCCESS
[13] Context Misses
Failed context lookups should be considered falsey.
=> SUCCESS
[14] Implicit Iterator - String
Implicit iterators should directly interpolate strings.
=> SUCCESS
[15] Implicit Iterator - Integer
Implicit iterators should cast integers to strings and interpolate.
=> SUCCESS
[16] Implicit Iterator - Decimal
Implicit iterators should cast decimals to strings and interpolate.
=> DIFFERS
.. DATA[{"list":[1.1000000000000001,2.2000000000000002,3.2999999999999998,4.4000000000000004,5.5]}]
.. TEMPLATE["{{#list}}({{.}}){{/list}}"]
.. EXPECTED["(1.1)(2.2)(3.3)(4.4)(5.5)"]
.. GOT["(1.1000000000000001)(2.2000000000000002)(3.2999999999999998)(4.4000000000000004)(5.5)"]
[17] Implicit Iterator - Array
Implicit iterators should allow iterating over nested arrays.
=> SUCCESS
[18] Implicit Iterator - HTML Escaping
Implicit iterators with basic interpolation should be HTML escaped.
=> SUCCESS
[19] Implicit Iterator - Triple mustache
Implicit iterators in triple mustache should interpolate without HTML escaping.
=> SUCCESS
[20] Implicit Iterator - Ampersand
Implicit iterators in an Ampersand tag should interpolate without HTML escaping.
=> SUCCESS
[21] Implicit Iterator - Root-level
Implicit iterators should work on root-level lists.
=> SUCCESS
[22] Dotted Names - Truthy
Dotted names should be valid for Section tags.
=> SUCCESS
[23] Dotted Names - Falsey
Dotted names should be valid for Section tags.
=> SUCCESS
[24] Dotted Names - Broken Chains
Dotted names that cannot be resolved should be considered falsey.
=> SUCCESS
[25] Surrounding Whitespace
Sections should not alter surrounding whitespace.
=> SUCCESS
[26] Internal Whitespace
Sections should not alter internal whitespace.
=> SUCCESS
[27] Indented Inline Sections
Single-line sections should not alter surrounding whitespace.
=> SUCCESS
[28] Standalone Lines
Standalone lines should be removed from the template.
=> SUCCESS
[29] Indented Standalone Lines
Indented standalone lines should be removed from the template.
=> SUCCESS
[30] Standalone Line Endings
"\r\n" should be considered a newline for standalone tags.
=> SUCCESS
[31] Standalone Without Previous Line
Standalone tags should not require a newline to precede them.
=> SUCCESS
[32] Standalone Without Newline
Standalone tags should not require a newline to follow them.
=> SUCCESS
[33] Padding
Superfluous in-tag whitespace should be ignored.
=> SUCCESS
summary:
error 0
differ 1
success 132
|