trusty-festivity-extension 2.5.0 → 2.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/skins/traf/fn-instagram-bg.svg +1 -0
  3. data/app/assets/images/skins/traf/fn-twitter-bg.svg +1 -0
  4. data/app/assets/images/skins/traf/traf-background.png +0 -0
  5. data/app/assets/images/skins/traf/traf-bottom-wave.png +0 -0
  6. data/app/assets/images/skins/traf/traf-bridge.png +0 -0
  7. data/app/assets/images/skins/traf/traf-bubbles.png +0 -0
  8. data/app/assets/images/skins/traf/traf-logo.svg +1 -0
  9. data/app/assets/javascripts/modal.js +2 -2
  10. data/app/assets/stylesheets/grunticon/info.svg +1 -0
  11. data/app/assets/stylesheets/grunticon/production/icons.data.png.css +4 -0
  12. data/app/assets/stylesheets/grunticon/production/icons.data.svg.css +5 -0
  13. data/app/assets/stylesheets/grunticon/production/icons.fallback.css +5 -0
  14. data/app/assets/stylesheets/grunticon/production/png/info.png +0 -0
  15. data/app/assets/stylesheets/library/_icons.scss +8 -1
  16. data/app/assets/stylesheets/skins/traf/contexts/_featured_events.scss +72 -0
  17. data/app/assets/stylesheets/skins/traf/contexts/_homepage.scss +95 -0
  18. data/app/assets/stylesheets/skins/traf/contexts/_social_feed.scss +82 -0
  19. data/app/assets/stylesheets/skins/traf/library/_general-mixins.scss +1 -0
  20. data/app/assets/stylesheets/skins/traf/skin.scss +2 -2
  21. data/app/assets/stylesheets/traf.scss +3 -0
  22. data/app/models/festivity_event_list.rb +4 -1
  23. data/app/presenters/social/twitter_post_presenter.rb +32 -0
  24. data/app/services/twitter_feed_service.rb +16 -0
  25. data/app/views/festivity_events/show.html.haml +2 -4
  26. data/app/views/festivity_markets/_market.html.haml +1 -3
  27. data/app/views/social/_instagram_posts.html.haml +0 -4
  28. data/app/views/social/_twitter_posts.html.haml +16 -0
  29. data/lib/tags/header_tags.rb +3 -2
  30. data/lib/tags/social_feed_tags.rb +13 -0
  31. data/lib/trusty-festivity-extension.rb +1 -1
  32. metadata +17 -73
  33. data/node_modules/bower/node_modules/handlebars/coverage/coverage.json +0 -1
  34. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars.js.html +0 -436
  35. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars.runtime.js.html +0 -424
  36. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/base.js.html +0 -1012
  37. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/ast.js.html +0 -961
  38. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/base.js.html +0 -382
  39. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/compiler.js.html +0 -1675
  40. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/helpers.js.html +0 -880
  41. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/index.html +0 -441
  42. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/javascript-compiler.js.html +0 -3211
  43. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/parser.js.html +0 -1819
  44. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/printer.js.html +0 -742
  45. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/compiler/visitor.js.html +0 -355
  46. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/exception.js.html +0 -403
  47. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/index.html +0 -402
  48. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/runtime.js.html +0 -898
  49. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/safe-string.js.html +0 -352
  50. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/handlebars/utils.js.html +0 -583
  51. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/dist/cjs/index.html +0 -363
  52. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/index.html +0 -389
  53. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/lib/index.html +0 -363
  54. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/lib/index.js.html +0 -400
  55. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/lib/precompiler.js.html +0 -754
  56. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/prettify.css +0 -1
  57. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/prettify.js +0 -1
  58. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/ast.js.html +0 -1594
  59. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/basic.js.html +0 -973
  60. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/blocks.js.html +0 -676
  61. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/builtins.js.html +0 -1018
  62. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/data.js.html +0 -1093
  63. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/browser.js.html +0 -406
  64. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/common.js.html +0 -481
  65. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/index.html +0 -402
  66. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/node.js.html +0 -391
  67. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/runner.js.html +0 -457
  68. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/env/runtime.js.html +0 -466
  69. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/helpers.js.html +0 -2182
  70. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/index.html +0 -597
  71. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/javascript-compiler.js.html +0 -535
  72. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/parser.js.html +0 -892
  73. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/partials.js.html +0 -841
  74. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/precompiler.js.html +0 -442
  75. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/regressions.js.html +0 -790
  76. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/require.js.html +0 -391
  77. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/runtime.js.html +0 -337
  78. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/spec.js.html +0 -469
  79. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/string-params.js.html +0 -850
  80. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/subexpressions.js.html +0 -970
  81. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/tokenizer.js.html +0 -1528
  82. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/track-ids.js.html +0 -811
  83. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/utils.js.html +0 -499
  84. data/node_modules/bower/node_modules/handlebars/coverage/lcov-report/spec/whitespace-control.js.html +0 -508
  85. data/node_modules/bower/node_modules/handlebars/coverage/lcov.info +0 -3181
  86. data/node_modules/bower/node_modules/semver/semver.browser.js.gz +0 -0
  87. data/node_modules/bower/node_modules/semver/semver.min.js.gz +0 -0
  88. data/node_modules/bower/node_modules/tmp/README.md +0 -162
  89. data/node_modules/bower/node_modules/tmp/domain-test.js +0 -13
  90. data/node_modules/bower/node_modules/tmp/lib/tmp.js +0 -307
  91. data/node_modules/bower/node_modules/tmp/package.json +0 -50
  92. data/node_modules/bower/node_modules/tmp/test-all.sh +0 -9
  93. data/node_modules/bower/node_modules/tmp/test.js +0 -6
  94. data/node_modules/bower/node_modules/tmp/test/base.js +0 -74
  95. data/node_modules/bower/node_modules/tmp/test/dir-test.js +0 -196
  96. data/node_modules/bower/node_modules/tmp/test/file-test.js +0 -177
  97. data/node_modules/bower/node_modules/tmp/test/graceful.js +0 -15
  98. data/node_modules/bower/node_modules/tmp/test/keep.js +0 -11
  99. data/node_modules/bower/node_modules/tmp/test/name-test.js +0 -82
  100. data/node_modules/bower/node_modules/tmp/test/spawn.js +0 -32
  101. data/node_modules/bower/node_modules/tmp/test/symlinkme/file.js +0 -0
  102. data/node_modules/bower/node_modules/tmp/test/unsafe.js +0 -30
  103. data/node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/got/node_modules/nested-error-stacks/README.md~ +0 -0
@@ -1,2182 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <title>Code coverage report for spec/helpers.js</title>
5
- <meta charset="utf-8">
6
-
7
- <link rel="stylesheet" href="../prettify.css">
8
-
9
- <style>
10
- body, html {
11
- margin:0; padding: 0;
12
- }
13
- body {
14
- font-family: Helvetica Neue, Helvetica,Arial;
15
- font-size: 10pt;
16
- }
17
- div.header, div.footer {
18
- background: #eee;
19
- padding: 1em;
20
- }
21
- div.header {
22
- z-index: 100;
23
- position: fixed;
24
- top: 0;
25
- border-bottom: 1px solid #666;
26
- width: 100%;
27
- }
28
- div.footer {
29
- border-top: 1px solid #666;
30
- }
31
- div.body {
32
- margin-top: 10em;
33
- }
34
- div.meta {
35
- font-size: 90%;
36
- text-align: center;
37
- }
38
- h1, h2, h3 {
39
- font-weight: normal;
40
- }
41
- h1 {
42
- font-size: 12pt;
43
- }
44
- h2 {
45
- font-size: 10pt;
46
- }
47
- pre {
48
- font-family: Consolas, Menlo, Monaco, monospace;
49
- margin: 0;
50
- padding: 0;
51
- line-height: 14px;
52
- font-size: 14px;
53
- -moz-tab-size: 2;
54
- -o-tab-size: 2;
55
- tab-size: 2;
56
- }
57
-
58
- div.path { font-size: 110%; }
59
- div.path a:link, div.path a:visited { color: #000; }
60
- table.coverage { border-collapse: collapse; margin:0; padding: 0 }
61
-
62
- table.coverage td {
63
- margin: 0;
64
- padding: 0;
65
- color: #111;
66
- vertical-align: top;
67
- }
68
- table.coverage td.line-count {
69
- width: 50px;
70
- text-align: right;
71
- padding-right: 5px;
72
- }
73
- table.coverage td.line-coverage {
74
- color: #777 !important;
75
- text-align: right;
76
- border-left: 1px solid #666;
77
- border-right: 1px solid #666;
78
- }
79
-
80
- table.coverage td.text {
81
- }
82
-
83
- table.coverage td span.cline-any {
84
- display: inline-block;
85
- padding: 0 5px;
86
- width: 40px;
87
- }
88
- table.coverage td span.cline-neutral {
89
- background: #eee;
90
- }
91
- table.coverage td span.cline-yes {
92
- background: #b5d592;
93
- color: #999;
94
- }
95
- table.coverage td span.cline-no {
96
- background: #fc8c84;
97
- }
98
-
99
- .cstat-yes { color: #111; }
100
- .cstat-no { background: #fc8c84; color: #111; }
101
- .fstat-no { background: #ffc520; color: #111 !important; }
102
- .cbranch-no { background: yellow !important; color: #111; }
103
-
104
- .cstat-skip { background: #ddd; color: #111; }
105
- .fstat-skip { background: #ddd; color: #111 !important; }
106
- .cbranch-skip { background: #ddd !important; color: #111; }
107
-
108
- .missing-if-branch {
109
- display: inline-block;
110
- margin-right: 10px;
111
- position: relative;
112
- padding: 0 4px;
113
- background: black;
114
- color: yellow;
115
- }
116
-
117
- .skip-if-branch {
118
- display: none;
119
- margin-right: 10px;
120
- position: relative;
121
- padding: 0 4px;
122
- background: #ccc;
123
- color: white;
124
- }
125
-
126
- .missing-if-branch .typ, .skip-if-branch .typ {
127
- color: inherit !important;
128
- }
129
-
130
- .entity, .metric { font-weight: bold; }
131
- .metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; }
132
- .metric small { font-size: 80%; font-weight: normal; color: #666; }
133
-
134
- div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; }
135
- div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; }
136
- div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; }
137
- div.coverage-summary th.file { border-right: none !important; }
138
- div.coverage-summary th.pic { border-left: none !important; text-align: right; }
139
- div.coverage-summary th.pct { border-right: none !important; }
140
- div.coverage-summary th.abs { border-left: none !important; text-align: right; }
141
- div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; }
142
- div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; }
143
- div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; }
144
- div.coverage-summary td.pic { min-width: 120px !important; }
145
- div.coverage-summary a:link { text-decoration: none; color: #000; }
146
- div.coverage-summary a:visited { text-decoration: none; color: #333; }
147
- div.coverage-summary a:hover { text-decoration: underline; }
148
- div.coverage-summary tfoot td { border-top: 1px solid #666; }
149
-
150
- div.coverage-summary .yui3-datatable-sort-indicator, div.coverage-summary .dummy-sort-indicator {
151
- height: 10px;
152
- width: 7px;
153
- display: inline-block;
154
- margin-left: 0.5em;
155
- }
156
- div.coverage-summary .yui3-datatable-sort-indicator {
157
- background: url("https://yui-s.yahooapis.com/3.6.0/build/datatable-sort/assets/skins/sam/sort-arrow-sprite.png") no-repeat scroll 0 0 transparent;
158
- }
159
- div.coverage-summary .yui3-datatable-sorted .yui3-datatable-sort-indicator {
160
- background-position: 0 -20px;
161
- }
162
- div.coverage-summary .yui3-datatable-sorted-desc .yui3-datatable-sort-indicator {
163
- background-position: 0 -10px;
164
- }
165
-
166
- .high { background: #b5d592 !important; }
167
- .medium { background: #ffe87c !important; }
168
- .low { background: #fc8c84 !important; }
169
-
170
- span.cover-fill, span.cover-empty {
171
- display:inline-block;
172
- border:1px solid #444;
173
- background: white;
174
- height: 12px;
175
- }
176
- span.cover-fill {
177
- background: #ccc;
178
- border-right: 1px solid #444;
179
- }
180
- span.cover-empty {
181
- background: white;
182
- border-left: none;
183
- }
184
- span.cover-full {
185
- border-right: none !important;
186
- }
187
- pre.prettyprint {
188
- border: none !important;
189
- padding: 0 !important;
190
- margin: 0 !important;
191
- }
192
- .com { color: #999 !important; }
193
- .ignore-none { color: #999; font-weight: normal; }
194
-
195
- </style>
196
- </head>
197
- <body>
198
- <div class="header low">
199
- <h1>Code coverage report for <span class="entity">spec/helpers.js</span></h1>
200
- <h2>
201
-
202
- Statements: <span class="metric">19.23% <small>(70 / 364)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
203
-
204
-
205
- Branches: <span class="metric">0% <small>(0 / 26)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
206
-
207
-
208
- Functions: <span class="metric">7.81% <small>(10 / 128)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
209
-
210
-
211
- Lines: <span class="metric">20.71% <small>(70 / 338)</small></span> &nbsp;&nbsp;&nbsp;&nbsp;
212
-
213
- Ignored: <span class="metric"><span class="ignore-none">none</span></span> &nbsp;&nbsp;&nbsp;&nbsp;
214
- </h2>
215
- <div class="path"><a href="../index.html">All files</a> &#187; <a href="index.html">spec/</a> &#187; helpers.js</div>
216
- </div>
217
- <div class="body">
218
- <pre><table class="coverage">
219
- <tr><td class="line-count">1
220
- 2
221
- 3
222
- 4
223
- 5
224
- 6
225
- 7
226
- 8
227
- 9
228
- 10
229
- 11
230
- 12
231
- 13
232
- 14
233
- 15
234
- 16
235
- 17
236
- 18
237
- 19
238
- 20
239
- 21
240
- 22
241
- 23
242
- 24
243
- 25
244
- 26
245
- 27
246
- 28
247
- 29
248
- 30
249
- 31
250
- 32
251
- 33
252
- 34
253
- 35
254
- 36
255
- 37
256
- 38
257
- 39
258
- 40
259
- 41
260
- 42
261
- 43
262
- 44
263
- 45
264
- 46
265
- 47
266
- 48
267
- 49
268
- 50
269
- 51
270
- 52
271
- 53
272
- 54
273
- 55
274
- 56
275
- 57
276
- 58
277
- 59
278
- 60
279
- 61
280
- 62
281
- 63
282
- 64
283
- 65
284
- 66
285
- 67
286
- 68
287
- 69
288
- 70
289
- 71
290
- 72
291
- 73
292
- 74
293
- 75
294
- 76
295
- 77
296
- 78
297
- 79
298
- 80
299
- 81
300
- 82
301
- 83
302
- 84
303
- 85
304
- 86
305
- 87
306
- 88
307
- 89
308
- 90
309
- 91
310
- 92
311
- 93
312
- 94
313
- 95
314
- 96
315
- 97
316
- 98
317
- 99
318
- 100
319
- 101
320
- 102
321
- 103
322
- 104
323
- 105
324
- 106
325
- 107
326
- 108
327
- 109
328
- 110
329
- 111
330
- 112
331
- 113
332
- 114
333
- 115
334
- 116
335
- 117
336
- 118
337
- 119
338
- 120
339
- 121
340
- 122
341
- 123
342
- 124
343
- 125
344
- 126
345
- 127
346
- 128
347
- 129
348
- 130
349
- 131
350
- 132
351
- 133
352
- 134
353
- 135
354
- 136
355
- 137
356
- 138
357
- 139
358
- 140
359
- 141
360
- 142
361
- 143
362
- 144
363
- 145
364
- 146
365
- 147
366
- 148
367
- 149
368
- 150
369
- 151
370
- 152
371
- 153
372
- 154
373
- 155
374
- 156
375
- 157
376
- 158
377
- 159
378
- 160
379
- 161
380
- 162
381
- 163
382
- 164
383
- 165
384
- 166
385
- 167
386
- 168
387
- 169
388
- 170
389
- 171
390
- 172
391
- 173
392
- 174
393
- 175
394
- 176
395
- 177
396
- 178
397
- 179
398
- 180
399
- 181
400
- 182
401
- 183
402
- 184
403
- 185
404
- 186
405
- 187
406
- 188
407
- 189
408
- 190
409
- 191
410
- 192
411
- 193
412
- 194
413
- 195
414
- 196
415
- 197
416
- 198
417
- 199
418
- 200
419
- 201
420
- 202
421
- 203
422
- 204
423
- 205
424
- 206
425
- 207
426
- 208
427
- 209
428
- 210
429
- 211
430
- 212
431
- 213
432
- 214
433
- 215
434
- 216
435
- 217
436
- 218
437
- 219
438
- 220
439
- 221
440
- 222
441
- 223
442
- 224
443
- 225
444
- 226
445
- 227
446
- 228
447
- 229
448
- 230
449
- 231
450
- 232
451
- 233
452
- 234
453
- 235
454
- 236
455
- 237
456
- 238
457
- 239
458
- 240
459
- 241
460
- 242
461
- 243
462
- 244
463
- 245
464
- 246
465
- 247
466
- 248
467
- 249
468
- 250
469
- 251
470
- 252
471
- 253
472
- 254
473
- 255
474
- 256
475
- 257
476
- 258
477
- 259
478
- 260
479
- 261
480
- 262
481
- 263
482
- 264
483
- 265
484
- 266
485
- 267
486
- 268
487
- 269
488
- 270
489
- 271
490
- 272
491
- 273
492
- 274
493
- 275
494
- 276
495
- 277
496
- 278
497
- 279
498
- 280
499
- 281
500
- 282
501
- 283
502
- 284
503
- 285
504
- 286
505
- 287
506
- 288
507
- 289
508
- 290
509
- 291
510
- 292
511
- 293
512
- 294
513
- 295
514
- 296
515
- 297
516
- 298
517
- 299
518
- 300
519
- 301
520
- 302
521
- 303
522
- 304
523
- 305
524
- 306
525
- 307
526
- 308
527
- 309
528
- 310
529
- 311
530
- 312
531
- 313
532
- 314
533
- 315
534
- 316
535
- 317
536
- 318
537
- 319
538
- 320
539
- 321
540
- 322
541
- 323
542
- 324
543
- 325
544
- 326
545
- 327
546
- 328
547
- 329
548
- 330
549
- 331
550
- 332
551
- 333
552
- 334
553
- 335
554
- 336
555
- 337
556
- 338
557
- 339
558
- 340
559
- 341
560
- 342
561
- 343
562
- 344
563
- 345
564
- 346
565
- 347
566
- 348
567
- 349
568
- 350
569
- 351
570
- 352
571
- 353
572
- 354
573
- 355
574
- 356
575
- 357
576
- 358
577
- 359
578
- 360
579
- 361
580
- 362
581
- 363
582
- 364
583
- 365
584
- 366
585
- 367
586
- 368
587
- 369
588
- 370
589
- 371
590
- 372
591
- 373
592
- 374
593
- 375
594
- 376
595
- 377
596
- 378
597
- 379
598
- 380
599
- 381
600
- 382
601
- 383
602
- 384
603
- 385
604
- 386
605
- 387
606
- 388
607
- 389
608
- 390
609
- 391
610
- 392
611
- 393
612
- 394
613
- 395
614
- 396
615
- 397
616
- 398
617
- 399
618
- 400
619
- 401
620
- 402
621
- 403
622
- 404
623
- 405
624
- 406
625
- 407
626
- 408
627
- 409
628
- 410
629
- 411
630
- 412
631
- 413
632
- 414
633
- 415
634
- 416
635
- 417
636
- 418
637
- 419
638
- 420
639
- 421
640
- 422
641
- 423
642
- 424
643
- 425
644
- 426
645
- 427
646
- 428
647
- 429
648
- 430
649
- 431
650
- 432
651
- 433
652
- 434
653
- 435
654
- 436
655
- 437
656
- 438
657
- 439
658
- 440
659
- 441
660
- 442
661
- 443
662
- 444
663
- 445
664
- 446
665
- 447
666
- 448
667
- 449
668
- 450
669
- 451
670
- 452
671
- 453
672
- 454
673
- 455
674
- 456
675
- 457
676
- 458
677
- 459
678
- 460
679
- 461
680
- 462
681
- 463
682
- 464
683
- 465
684
- 466
685
- 467
686
- 468
687
- 469
688
- 470
689
- 471
690
- 472
691
- 473
692
- 474
693
- 475
694
- 476
695
- 477
696
- 478
697
- 479
698
- 480
699
- 481
700
- 482
701
- 483
702
- 484
703
- 485
704
- 486
705
- 487
706
- 488
707
- 489
708
- 490
709
- 491
710
- 492
711
- 493
712
- 494
713
- 495
714
- 496
715
- 497
716
- 498
717
- 499
718
- 500
719
- 501
720
- 502
721
- 503
722
- 504
723
- 505
724
- 506
725
- 507
726
- 508
727
- 509
728
- 510
729
- 511
730
- 512
731
- 513
732
- 514
733
- 515
734
- 516
735
- 517
736
- 518
737
- 519
738
- 520
739
- 521
740
- 522
741
- 523
742
- 524
743
- 525
744
- 526
745
- 527
746
- 528
747
- 529
748
- 530
749
- 531
750
- 532
751
- 533
752
- 534
753
- 535
754
- 536
755
- 537
756
- 538
757
- 539
758
- 540
759
- 541
760
- 542
761
- 543
762
- 544
763
- 545
764
- 546
765
- 547
766
- 548
767
- 549
768
- 550
769
- 551
770
- 552
771
- 553
772
- 554
773
- 555
774
- 556
775
- 557
776
- 558
777
- 559
778
- 560
779
- 561
780
- 562
781
- 563
782
- 564
783
- 565
784
- 566
785
- 567
786
- 568
787
- 569
788
- 570
789
- 571
790
- 572
791
- 573
792
- 574
793
- 575
794
- 576
795
- 577
796
- 578
797
- 579
798
- 580
799
- 581
800
- 582
801
- 583
802
- 584
803
- 585
804
- 586
805
- 587
806
- 588
807
- 589
808
- 590
809
- 591
810
- 592
811
- 593
812
- 594
813
- 595
814
- 596
815
- 597
816
- 598
817
- 599
818
- 600
819
- 601
820
- 602
821
- 603
822
- 604
823
- 605
824
- 606
825
- 607
826
- 608
827
- 609
828
- 610
829
- 611
830
- 612
831
- 613
832
- 614
833
- 615
834
- 616
835
- 617
836
- 618
837
- 619
838
- 620
839
- 621</td><td class="line-coverage"><span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-yes">3</span>
841
- <span class="cline-any cline-yes">3</span>
842
- <span class="cline-any cline-no">&nbsp;</span>
843
- <span class="cline-any cline-no">&nbsp;</span>
844
- <span class="cline-any cline-no">&nbsp;</span>
845
- <span class="cline-any cline-no">&nbsp;</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span>
847
- <span class="cline-any cline-no">&nbsp;</span>
848
- <span class="cline-any cline-neutral">&nbsp;</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-yes">3</span>
851
- <span class="cline-any cline-no">&nbsp;</span>
852
- <span class="cline-any cline-no">&nbsp;</span>
853
- <span class="cline-any cline-no">&nbsp;</span>
854
- <span class="cline-any cline-no">&nbsp;</span>
855
- <span class="cline-any cline-neutral">&nbsp;</span>
856
- <span class="cline-any cline-no">&nbsp;</span>
857
- <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-neutral">&nbsp;</span>
859
- <span class="cline-any cline-neutral">&nbsp;</span>
860
- <span class="cline-any cline-yes">3</span>
861
- <span class="cline-any cline-no">&nbsp;</span>
862
- <span class="cline-any cline-no">&nbsp;</span>
863
- <span class="cline-any cline-no">&nbsp;</span>
864
- <span class="cline-any cline-no">&nbsp;</span>
865
- <span class="cline-any cline-neutral">&nbsp;</span>
866
- <span class="cline-any cline-no">&nbsp;</span>
867
- <span class="cline-any cline-neutral">&nbsp;</span>
868
- <span class="cline-any cline-neutral">&nbsp;</span>
869
- <span class="cline-any cline-neutral">&nbsp;</span>
870
- <span class="cline-any cline-yes">3</span>
871
- <span class="cline-any cline-no">&nbsp;</span>
872
- <span class="cline-any cline-no">&nbsp;</span>
873
- <span class="cline-any cline-no">&nbsp;</span>
874
- <span class="cline-any cline-no">&nbsp;</span>
875
- <span class="cline-any cline-no">&nbsp;</span>
876
- <span class="cline-any cline-no">&nbsp;</span>
877
- <span class="cline-any cline-no">&nbsp;</span>
878
- <span class="cline-any cline-neutral">&nbsp;</span>
879
- <span class="cline-any cline-no">&nbsp;</span>
880
- <span class="cline-any cline-neutral">&nbsp;</span>
881
- <span class="cline-any cline-no">&nbsp;</span>
882
- <span class="cline-any cline-neutral">&nbsp;</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-yes">3</span>
885
- <span class="cline-any cline-no">&nbsp;</span>
886
- <span class="cline-any cline-no">&nbsp;</span>
887
- <span class="cline-any cline-no">&nbsp;</span>
888
- <span class="cline-any cline-no">&nbsp;</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-no">&nbsp;</span>
891
- <span class="cline-any cline-neutral">&nbsp;</span>
892
- <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-yes">3</span>
894
- <span class="cline-any cline-no">&nbsp;</span>
895
- <span class="cline-any cline-no">&nbsp;</span>
896
- <span class="cline-any cline-no">&nbsp;</span>
897
- <span class="cline-any cline-no">&nbsp;</span>
898
- <span class="cline-any cline-neutral">&nbsp;</span>
899
- <span class="cline-any cline-no">&nbsp;</span>
900
- <span class="cline-any cline-neutral">&nbsp;</span>
901
- <span class="cline-any cline-neutral">&nbsp;</span>
902
- <span class="cline-any cline-yes">3</span>
903
- <span class="cline-any cline-no">&nbsp;</span>
904
- <span class="cline-any cline-no">&nbsp;</span>
905
- <span class="cline-any cline-neutral">&nbsp;</span>
906
- <span class="cline-any cline-no">&nbsp;</span>
907
- <span class="cline-any cline-no">&nbsp;</span>
908
- <span class="cline-any cline-neutral">&nbsp;</span>
909
- <span class="cline-any cline-neutral">&nbsp;</span>
910
- <span class="cline-any cline-yes">3</span>
911
- <span class="cline-any cline-no">&nbsp;</span>
912
- <span class="cline-any cline-no">&nbsp;</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-no">&nbsp;</span>
915
- <span class="cline-any cline-no">&nbsp;</span>
916
- <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-neutral">&nbsp;</span>
918
- <span class="cline-any cline-yes">3</span>
919
- <span class="cline-any cline-no">&nbsp;</span>
920
- <span class="cline-any cline-no">&nbsp;</span>
921
- <span class="cline-any cline-no">&nbsp;</span>
922
- <span class="cline-any cline-neutral">&nbsp;</span>
923
- <span class="cline-any cline-no">&nbsp;</span>
924
- <span class="cline-any cline-neutral">&nbsp;</span>
925
- <span class="cline-any cline-neutral">&nbsp;</span>
926
- <span class="cline-any cline-neutral">&nbsp;</span>
927
- <span class="cline-any cline-neutral">&nbsp;</span>
928
- <span class="cline-any cline-no">&nbsp;</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-neutral">&nbsp;</span>
931
- <span class="cline-any cline-yes">3</span>
932
- <span class="cline-any cline-no">&nbsp;</span>
933
- <span class="cline-any cline-neutral">&nbsp;</span>
934
- <span class="cline-any cline-neutral">&nbsp;</span>
935
- <span class="cline-any cline-yes">3</span>
936
- <span class="cline-any cline-no">&nbsp;</span>
937
- <span class="cline-any cline-no">&nbsp;</span>
938
- <span class="cline-any cline-neutral">&nbsp;</span>
939
- <span class="cline-any cline-no">&nbsp;</span>
940
- <span class="cline-any cline-no">&nbsp;</span>
941
- <span class="cline-any cline-neutral">&nbsp;</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-yes">3</span>
944
- <span class="cline-any cline-no">&nbsp;</span>
945
- <span class="cline-any cline-no">&nbsp;</span>
946
- <span class="cline-any cline-neutral">&nbsp;</span>
947
- <span class="cline-any cline-no">&nbsp;</span>
948
- <span class="cline-any cline-no">&nbsp;</span>
949
- <span class="cline-any cline-neutral">&nbsp;</span>
950
- <span class="cline-any cline-neutral">&nbsp;</span>
951
- <span class="cline-any cline-yes">3</span>
952
- <span class="cline-any cline-no">&nbsp;</span>
953
- <span class="cline-any cline-no">&nbsp;</span>
954
- <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-no">&nbsp;</span>
956
- <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-neutral">&nbsp;</span>
958
- <span class="cline-any cline-neutral">&nbsp;</span>
959
- <span class="cline-any cline-no">&nbsp;</span>
960
- <span class="cline-any cline-no">&nbsp;</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-no">&nbsp;</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-neutral">&nbsp;</span>
966
- <span class="cline-any cline-yes">3</span>
967
- <span class="cline-any cline-no">&nbsp;</span>
968
- <span class="cline-any cline-no">&nbsp;</span>
969
- <span class="cline-any cline-no">&nbsp;</span>
970
- <span class="cline-any cline-no">&nbsp;</span>
971
- <span class="cline-any cline-no">&nbsp;</span>
972
- <span class="cline-any cline-no">&nbsp;</span>
973
- <span class="cline-any cline-no">&nbsp;</span>
974
- <span class="cline-any cline-no">&nbsp;</span>
975
- <span class="cline-any cline-neutral">&nbsp;</span>
976
- <span class="cline-any cline-no">&nbsp;</span>
977
- <span class="cline-any cline-no">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-no">&nbsp;</span>
980
- <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-neutral">&nbsp;</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-no">&nbsp;</span>
984
- <span class="cline-any cline-no">&nbsp;</span>
985
- <span class="cline-any cline-no">&nbsp;</span>
986
- <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-neutral">&nbsp;</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-neutral">&nbsp;</span>
990
- <span class="cline-any cline-no">&nbsp;</span>
991
- <span class="cline-any cline-neutral">&nbsp;</span>
992
- <span class="cline-any cline-neutral">&nbsp;</span>
993
- <span class="cline-any cline-neutral">&nbsp;</span>
994
- <span class="cline-any cline-no">&nbsp;</span>
995
- <span class="cline-any cline-no">&nbsp;</span>
996
- <span class="cline-any cline-no">&nbsp;</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-neutral">&nbsp;</span>
999
- <span class="cline-any cline-yes">3</span>
1000
- <span class="cline-any cline-no">&nbsp;</span>
1001
- <span class="cline-any cline-neutral">&nbsp;</span>
1002
- <span class="cline-any cline-no">&nbsp;</span>
1003
- <span class="cline-any cline-neutral">&nbsp;</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-no">&nbsp;</span>
1006
- <span class="cline-any cline-no">&nbsp;</span>
1007
- <span class="cline-any cline-neutral">&nbsp;</span>
1008
- <span class="cline-any cline-no">&nbsp;</span>
1009
- <span class="cline-any cline-neutral">&nbsp;</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-no">&nbsp;</span>
1012
- <span class="cline-any cline-no">&nbsp;</span>
1013
- <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-neutral">&nbsp;</span>
1015
- <span class="cline-any cline-yes">3</span>
1016
- <span class="cline-any cline-yes">3</span>
1017
- <span class="cline-any cline-no">&nbsp;</span>
1018
- <span class="cline-any cline-neutral">&nbsp;</span>
1019
- <span class="cline-any cline-neutral">&nbsp;</span>
1020
- <span class="cline-any cline-no">&nbsp;</span>
1021
- <span class="cline-any cline-neutral">&nbsp;</span>
1022
- <span class="cline-any cline-neutral">&nbsp;</span>
1023
- <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-yes">3</span>
1025
- <span class="cline-any cline-no">&nbsp;</span>
1026
- <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-no">&nbsp;</span>
1028
- <span class="cline-any cline-neutral">&nbsp;</span>
1029
- <span class="cline-any cline-neutral">&nbsp;</span>
1030
- <span class="cline-any cline-neutral">&nbsp;</span>
1031
- <span class="cline-any cline-yes">3</span>
1032
- <span class="cline-any cline-no">&nbsp;</span>
1033
- <span class="cline-any cline-no">&nbsp;</span>
1034
- <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-neutral">&nbsp;</span>
1036
- <span class="cline-any cline-neutral">&nbsp;</span>
1037
- <span class="cline-any cline-yes">3</span>
1038
- <span class="cline-any cline-no">&nbsp;</span>
1039
- <span class="cline-any cline-neutral">&nbsp;</span>
1040
- <span class="cline-any cline-no">&nbsp;</span>
1041
- <span class="cline-any cline-neutral">&nbsp;</span>
1042
- <span class="cline-any cline-neutral">&nbsp;</span>
1043
- <span class="cline-any cline-no">&nbsp;</span>
1044
- <span class="cline-any cline-neutral">&nbsp;</span>
1045
- <span class="cline-any cline-neutral">&nbsp;</span>
1046
- <span class="cline-any cline-neutral">&nbsp;</span>
1047
- <span class="cline-any cline-neutral">&nbsp;</span>
1048
- <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-yes">3</span>
1050
- <span class="cline-any cline-no">&nbsp;</span>
1051
- <span class="cline-any cline-no">&nbsp;</span>
1052
- <span class="cline-any cline-neutral">&nbsp;</span>
1053
- <span class="cline-any cline-no">&nbsp;</span>
1054
- <span class="cline-any cline-neutral">&nbsp;</span>
1055
- <span class="cline-any cline-no">&nbsp;</span>
1056
- <span class="cline-any cline-no">&nbsp;</span>
1057
- <span class="cline-any cline-neutral">&nbsp;</span>
1058
- <span class="cline-any cline-neutral">&nbsp;</span>
1059
- <span class="cline-any cline-no">&nbsp;</span>
1060
- <span class="cline-any cline-neutral">&nbsp;</span>
1061
- <span class="cline-any cline-neutral">&nbsp;</span>
1062
- <span class="cline-any cline-neutral">&nbsp;</span>
1063
- <span class="cline-any cline-neutral">&nbsp;</span>
1064
- <span class="cline-any cline-neutral">&nbsp;</span>
1065
- <span class="cline-any cline-yes">3</span>
1066
- <span class="cline-any cline-no">&nbsp;</span>
1067
- <span class="cline-any cline-no">&nbsp;</span>
1068
- <span class="cline-any cline-no">&nbsp;</span>
1069
- <span class="cline-any cline-no">&nbsp;</span>
1070
- <span class="cline-any cline-no">&nbsp;</span>
1071
- <span class="cline-any cline-no">&nbsp;</span>
1072
- <span class="cline-any cline-neutral">&nbsp;</span>
1073
- <span class="cline-any cline-no">&nbsp;</span>
1074
- <span class="cline-any cline-neutral">&nbsp;</span>
1075
- <span class="cline-any cline-neutral">&nbsp;</span>
1076
- <span class="cline-any cline-yes">3</span>
1077
- <span class="cline-any cline-no">&nbsp;</span>
1078
- <span class="cline-any cline-no">&nbsp;</span>
1079
- <span class="cline-any cline-no">&nbsp;</span>
1080
- <span class="cline-any cline-no">&nbsp;</span>
1081
- <span class="cline-any cline-no">&nbsp;</span>
1082
- <span class="cline-any cline-neutral">&nbsp;</span>
1083
- <span class="cline-any cline-no">&nbsp;</span>
1084
- <span class="cline-any cline-neutral">&nbsp;</span>
1085
- <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-yes">3</span>
1087
- <span class="cline-any cline-yes">3</span>
1088
- <span class="cline-any cline-no">&nbsp;</span>
1089
- <span class="cline-any cline-no">&nbsp;</span>
1090
- <span class="cline-any cline-no">&nbsp;</span>
1091
- <span class="cline-any cline-no">&nbsp;</span>
1092
- <span class="cline-any cline-no">&nbsp;</span>
1093
- <span class="cline-any cline-no">&nbsp;</span>
1094
- <span class="cline-any cline-no">&nbsp;</span>
1095
- <span class="cline-any cline-neutral">&nbsp;</span>
1096
- <span class="cline-any cline-no">&nbsp;</span>
1097
- <span class="cline-any cline-neutral">&nbsp;</span>
1098
- <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-yes">3</span>
1100
- <span class="cline-any cline-no">&nbsp;</span>
1101
- <span class="cline-any cline-no">&nbsp;</span>
1102
- <span class="cline-any cline-no">&nbsp;</span>
1103
- <span class="cline-any cline-neutral">&nbsp;</span>
1104
- <span class="cline-any cline-neutral">&nbsp;</span>
1105
- <span class="cline-any cline-neutral">&nbsp;</span>
1106
- <span class="cline-any cline-yes">3</span>
1107
- <span class="cline-any cline-no">&nbsp;</span>
1108
- <span class="cline-any cline-no">&nbsp;</span>
1109
- <span class="cline-any cline-no">&nbsp;</span>
1110
- <span class="cline-any cline-no">&nbsp;</span>
1111
- <span class="cline-any cline-neutral">&nbsp;</span>
1112
- <span class="cline-any cline-neutral">&nbsp;</span>
1113
- <span class="cline-any cline-yes">3</span>
1114
- <span class="cline-any cline-no">&nbsp;</span>
1115
- <span class="cline-any cline-no">&nbsp;</span>
1116
- <span class="cline-any cline-no">&nbsp;</span>
1117
- <span class="cline-any cline-no">&nbsp;</span>
1118
- <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-neutral">&nbsp;</span>
1120
- <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-yes">3</span>
1122
- <span class="cline-any cline-no">&nbsp;</span>
1123
- <span class="cline-any cline-no">&nbsp;</span>
1124
- <span class="cline-any cline-no">&nbsp;</span>
1125
- <span class="cline-any cline-no">&nbsp;</span>
1126
- <span class="cline-any cline-no">&nbsp;</span>
1127
- <span class="cline-any cline-neutral">&nbsp;</span>
1128
- <span class="cline-any cline-no">&nbsp;</span>
1129
- <span class="cline-any cline-neutral">&nbsp;</span>
1130
- <span class="cline-any cline-neutral">&nbsp;</span>
1131
- <span class="cline-any cline-yes">3</span>
1132
- <span class="cline-any cline-yes">3</span>
1133
- <span class="cline-any cline-no">&nbsp;</span>
1134
- <span class="cline-any cline-no">&nbsp;</span>
1135
- <span class="cline-any cline-no">&nbsp;</span>
1136
- <span class="cline-any cline-no">&nbsp;</span>
1137
- <span class="cline-any cline-neutral">&nbsp;</span>
1138
- <span class="cline-any cline-neutral">&nbsp;</span>
1139
- <span class="cline-any cline-yes">3</span>
1140
- <span class="cline-any cline-no">&nbsp;</span>
1141
- <span class="cline-any cline-no">&nbsp;</span>
1142
- <span class="cline-any cline-no">&nbsp;</span>
1143
- <span class="cline-any cline-no">&nbsp;</span>
1144
- <span class="cline-any cline-neutral">&nbsp;</span>
1145
- <span class="cline-any cline-no">&nbsp;</span>
1146
- <span class="cline-any cline-neutral">&nbsp;</span>
1147
- <span class="cline-any cline-neutral">&nbsp;</span>
1148
- <span class="cline-any cline-neutral">&nbsp;</span>
1149
- <span class="cline-any cline-yes">3</span>
1150
- <span class="cline-any cline-yes">3</span>
1151
- <span class="cline-any cline-no">&nbsp;</span>
1152
- <span class="cline-any cline-neutral">&nbsp;</span>
1153
- <span class="cline-any cline-no">&nbsp;</span>
1154
- <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-no">&nbsp;</span>
1156
- <span class="cline-any cline-neutral">&nbsp;</span>
1157
- <span class="cline-any cline-neutral">&nbsp;</span>
1158
- <span class="cline-any cline-neutral">&nbsp;</span>
1159
- <span class="cline-any cline-no">&nbsp;</span>
1160
- <span class="cline-any cline-neutral">&nbsp;</span>
1161
- <span class="cline-any cline-no">&nbsp;</span>
1162
- <span class="cline-any cline-no">&nbsp;</span>
1163
- <span class="cline-any cline-neutral">&nbsp;</span>
1164
- <span class="cline-any cline-neutral">&nbsp;</span>
1165
- <span class="cline-any cline-yes">3</span>
1166
- <span class="cline-any cline-no">&nbsp;</span>
1167
- <span class="cline-any cline-neutral">&nbsp;</span>
1168
- <span class="cline-any cline-no">&nbsp;</span>
1169
- <span class="cline-any cline-no">&nbsp;</span>
1170
- <span class="cline-any cline-no">&nbsp;</span>
1171
- <span class="cline-any cline-no">&nbsp;</span>
1172
- <span class="cline-any cline-neutral">&nbsp;</span>
1173
- <span class="cline-any cline-no">&nbsp;</span>
1174
- <span class="cline-any cline-neutral">&nbsp;</span>
1175
- <span class="cline-any cline-neutral">&nbsp;</span>
1176
- <span class="cline-any cline-neutral">&nbsp;</span>
1177
- <span class="cline-any cline-neutral">&nbsp;</span>
1178
- <span class="cline-any cline-no">&nbsp;</span>
1179
- <span class="cline-any cline-neutral">&nbsp;</span>
1180
- <span class="cline-any cline-no">&nbsp;</span>
1181
- <span class="cline-any cline-no">&nbsp;</span>
1182
- <span class="cline-any cline-no">&nbsp;</span>
1183
- <span class="cline-any cline-neutral">&nbsp;</span>
1184
- <span class="cline-any cline-no">&nbsp;</span>
1185
- <span class="cline-any cline-no">&nbsp;</span>
1186
- <span class="cline-any cline-no">&nbsp;</span>
1187
- <span class="cline-any cline-neutral">&nbsp;</span>
1188
- <span class="cline-any cline-neutral">&nbsp;</span>
1189
- <span class="cline-any cline-yes">3</span>
1190
- <span class="cline-any cline-no">&nbsp;</span>
1191
- <span class="cline-any cline-neutral">&nbsp;</span>
1192
- <span class="cline-any cline-no">&nbsp;</span>
1193
- <span class="cline-any cline-neutral">&nbsp;</span>
1194
- <span class="cline-any cline-no">&nbsp;</span>
1195
- <span class="cline-any cline-neutral">&nbsp;</span>
1196
- <span class="cline-any cline-neutral">&nbsp;</span>
1197
- <span class="cline-any cline-neutral">&nbsp;</span>
1198
- <span class="cline-any cline-no">&nbsp;</span>
1199
- <span class="cline-any cline-no">&nbsp;</span>
1200
- <span class="cline-any cline-neutral">&nbsp;</span>
1201
- <span class="cline-any cline-neutral">&nbsp;</span>
1202
- <span class="cline-any cline-yes">3</span>
1203
- <span class="cline-any cline-no">&nbsp;</span>
1204
- <span class="cline-any cline-neutral">&nbsp;</span>
1205
- <span class="cline-any cline-no">&nbsp;</span>
1206
- <span class="cline-any cline-neutral">&nbsp;</span>
1207
- <span class="cline-any cline-no">&nbsp;</span>
1208
- <span class="cline-any cline-neutral">&nbsp;</span>
1209
- <span class="cline-any cline-neutral">&nbsp;</span>
1210
- <span class="cline-any cline-neutral">&nbsp;</span>
1211
- <span class="cline-any cline-no">&nbsp;</span>
1212
- <span class="cline-any cline-no">&nbsp;</span>
1213
- <span class="cline-any cline-neutral">&nbsp;</span>
1214
- <span class="cline-any cline-neutral">&nbsp;</span>
1215
- <span class="cline-any cline-yes">3</span>
1216
- <span class="cline-any cline-no">&nbsp;</span>
1217
- <span class="cline-any cline-neutral">&nbsp;</span>
1218
- <span class="cline-any cline-no">&nbsp;</span>
1219
- <span class="cline-any cline-no">&nbsp;</span>
1220
- <span class="cline-any cline-no">&nbsp;</span>
1221
- <span class="cline-any cline-no">&nbsp;</span>
1222
- <span class="cline-any cline-neutral">&nbsp;</span>
1223
- <span class="cline-any cline-no">&nbsp;</span>
1224
- <span class="cline-any cline-neutral">&nbsp;</span>
1225
- <span class="cline-any cline-neutral">&nbsp;</span>
1226
- <span class="cline-any cline-neutral">&nbsp;</span>
1227
- <span class="cline-any cline-neutral">&nbsp;</span>
1228
- <span class="cline-any cline-no">&nbsp;</span>
1229
- <span class="cline-any cline-no">&nbsp;</span>
1230
- <span class="cline-any cline-no">&nbsp;</span>
1231
- <span class="cline-any cline-neutral">&nbsp;</span>
1232
- <span class="cline-any cline-no">&nbsp;</span>
1233
- <span class="cline-any cline-no">&nbsp;</span>
1234
- <span class="cline-any cline-no">&nbsp;</span>
1235
- <span class="cline-any cline-neutral">&nbsp;</span>
1236
- <span class="cline-any cline-neutral">&nbsp;</span>
1237
- <span class="cline-any cline-neutral">&nbsp;</span>
1238
- <span class="cline-any cline-yes">3</span>
1239
- <span class="cline-any cline-yes">3</span>
1240
- <span class="cline-any cline-no">&nbsp;</span>
1241
- <span class="cline-any cline-no">&nbsp;</span>
1242
- <span class="cline-any cline-no">&nbsp;</span>
1243
- <span class="cline-any cline-neutral">&nbsp;</span>
1244
- <span class="cline-any cline-neutral">&nbsp;</span>
1245
- <span class="cline-any cline-neutral">&nbsp;</span>
1246
- <span class="cline-any cline-yes">3</span>
1247
- <span class="cline-any cline-no">&nbsp;</span>
1248
- <span class="cline-any cline-no">&nbsp;</span>
1249
- <span class="cline-any cline-neutral">&nbsp;</span>
1250
- <span class="cline-any cline-no">&nbsp;</span>
1251
- <span class="cline-any cline-neutral">&nbsp;</span>
1252
- <span class="cline-any cline-no">&nbsp;</span>
1253
- <span class="cline-any cline-no">&nbsp;</span>
1254
- <span class="cline-any cline-neutral">&nbsp;</span>
1255
- <span class="cline-any cline-neutral">&nbsp;</span>
1256
- <span class="cline-any cline-neutral">&nbsp;</span>
1257
- <span class="cline-any cline-neutral">&nbsp;</span>
1258
- <span class="cline-any cline-no">&nbsp;</span>
1259
- <span class="cline-any cline-neutral">&nbsp;</span>
1260
- <span class="cline-any cline-neutral">&nbsp;</span>
1261
- <span class="cline-any cline-neutral">&nbsp;</span>
1262
- <span class="cline-any cline-yes">3</span>
1263
- <span class="cline-any cline-yes">3</span>
1264
- <span class="cline-any cline-no">&nbsp;</span>
1265
- <span class="cline-any cline-neutral">&nbsp;</span>
1266
- <span class="cline-any cline-no">&nbsp;</span>
1267
- <span class="cline-any cline-no">&nbsp;</span>
1268
- <span class="cline-any cline-neutral">&nbsp;</span>
1269
- <span class="cline-any cline-neutral">&nbsp;</span>
1270
- <span class="cline-any cline-yes">3</span>
1271
- <span class="cline-any cline-no">&nbsp;</span>
1272
- <span class="cline-any cline-neutral">&nbsp;</span>
1273
- <span class="cline-any cline-no">&nbsp;</span>
1274
- <span class="cline-any cline-no">&nbsp;</span>
1275
- <span class="cline-any cline-neutral">&nbsp;</span>
1276
- <span class="cline-any cline-yes">3</span>
1277
- <span class="cline-any cline-no">&nbsp;</span>
1278
- <span class="cline-any cline-neutral">&nbsp;</span>
1279
- <span class="cline-any cline-no">&nbsp;</span>
1280
- <span class="cline-any cline-no">&nbsp;</span>
1281
- <span class="cline-any cline-neutral">&nbsp;</span>
1282
- <span class="cline-any cline-yes">3</span>
1283
- <span class="cline-any cline-no">&nbsp;</span>
1284
- <span class="cline-any cline-neutral">&nbsp;</span>
1285
- <span class="cline-any cline-no">&nbsp;</span>
1286
- <span class="cline-any cline-no">&nbsp;</span>
1287
- <span class="cline-any cline-neutral">&nbsp;</span>
1288
- <span class="cline-any cline-yes">3</span>
1289
- <span class="cline-any cline-no">&nbsp;</span>
1290
- <span class="cline-any cline-neutral">&nbsp;</span>
1291
- <span class="cline-any cline-no">&nbsp;</span>
1292
- <span class="cline-any cline-no">&nbsp;</span>
1293
- <span class="cline-any cline-neutral">&nbsp;</span>
1294
- <span class="cline-any cline-yes">3</span>
1295
- <span class="cline-any cline-no">&nbsp;</span>
1296
- <span class="cline-any cline-neutral">&nbsp;</span>
1297
- <span class="cline-any cline-no">&nbsp;</span>
1298
- <span class="cline-any cline-no">&nbsp;</span>
1299
- <span class="cline-any cline-neutral">&nbsp;</span>
1300
- <span class="cline-any cline-yes">3</span>
1301
- <span class="cline-any cline-no">&nbsp;</span>
1302
- <span class="cline-any cline-no">&nbsp;</span>
1303
- <span class="cline-any cline-no">&nbsp;</span>
1304
- <span class="cline-any cline-neutral">&nbsp;</span>
1305
- <span class="cline-any cline-yes">3</span>
1306
- <span class="cline-any cline-no">&nbsp;</span>
1307
- <span class="cline-any cline-no">&nbsp;</span>
1308
- <span class="cline-any cline-neutral">&nbsp;</span>
1309
- <span class="cline-any cline-neutral">&nbsp;</span>
1310
- <span class="cline-any cline-neutral">&nbsp;</span>
1311
- <span class="cline-any cline-neutral">&nbsp;</span>
1312
- <span class="cline-any cline-yes">3</span>
1313
- <span class="cline-any cline-yes">3</span>
1314
- <span class="cline-any cline-no">&nbsp;</span>
1315
- <span class="cline-any cline-no">&nbsp;</span>
1316
- <span class="cline-any cline-no">&nbsp;</span>
1317
- <span class="cline-any cline-neutral">&nbsp;</span>
1318
- <span class="cline-any cline-yes">3</span>
1319
- <span class="cline-any cline-no">&nbsp;</span>
1320
- <span class="cline-any cline-no">&nbsp;</span>
1321
- <span class="cline-any cline-no">&nbsp;</span>
1322
- <span class="cline-any cline-neutral">&nbsp;</span>
1323
- <span class="cline-any cline-neutral">&nbsp;</span>
1324
- <span class="cline-any cline-neutral">&nbsp;</span>
1325
- <span class="cline-any cline-yes">3</span>
1326
- <span class="cline-any cline-yes">3</span>
1327
- <span class="cline-any cline-yes">3</span>
1328
- <span class="cline-any cline-neutral">&nbsp;</span>
1329
- <span class="cline-any cline-no">&nbsp;</span>
1330
- <span class="cline-any cline-neutral">&nbsp;</span>
1331
- <span class="cline-any cline-neutral">&nbsp;</span>
1332
- <span class="cline-any cline-no">&nbsp;</span>
1333
- <span class="cline-any cline-neutral">&nbsp;</span>
1334
- <span class="cline-any cline-neutral">&nbsp;</span>
1335
- <span class="cline-any cline-no">&nbsp;</span>
1336
- <span class="cline-any cline-neutral">&nbsp;</span>
1337
- <span class="cline-any cline-neutral">&nbsp;</span>
1338
- <span class="cline-any cline-neutral">&nbsp;</span>
1339
- <span class="cline-any cline-yes">3</span>
1340
- <span class="cline-any cline-no">&nbsp;</span>
1341
- <span class="cline-any cline-neutral">&nbsp;</span>
1342
- <span class="cline-any cline-yes">3</span>
1343
- <span class="cline-any cline-no">&nbsp;</span>
1344
- <span class="cline-any cline-neutral">&nbsp;</span>
1345
- <span class="cline-any cline-yes">3</span>
1346
- <span class="cline-any cline-no">&nbsp;</span>
1347
- <span class="cline-any cline-neutral">&nbsp;</span>
1348
- <span class="cline-any cline-yes">3</span>
1349
- <span class="cline-any cline-no">&nbsp;</span>
1350
- <span class="cline-any cline-neutral">&nbsp;</span>
1351
- <span class="cline-any cline-yes">3</span>
1352
- <span class="cline-any cline-no">&nbsp;</span>
1353
- <span class="cline-any cline-neutral">&nbsp;</span>
1354
- <span class="cline-any cline-yes">3</span>
1355
- <span class="cline-any cline-no">&nbsp;</span>
1356
- <span class="cline-any cline-neutral">&nbsp;</span>
1357
- <span class="cline-any cline-no">&nbsp;</span>
1358
- <span class="cline-any cline-neutral">&nbsp;</span>
1359
- <span class="cline-any cline-neutral">&nbsp;</span>
1360
- <span class="cline-any cline-yes">3</span>
1361
- <span class="cline-any cline-no">&nbsp;</span>
1362
- <span class="cline-any cline-neutral">&nbsp;</span>
1363
- <span class="cline-any cline-neutral">&nbsp;</span>
1364
- <span class="cline-any cline-yes">3</span>
1365
- <span class="cline-any cline-no">&nbsp;</span>
1366
- <span class="cline-any cline-neutral">&nbsp;</span>
1367
- <span class="cline-any cline-neutral">&nbsp;</span>
1368
- <span class="cline-any cline-neutral">&nbsp;</span>
1369
- <span class="cline-any cline-yes">3</span>
1370
- <span class="cline-any cline-yes">3</span>
1371
- <span class="cline-any cline-no">&nbsp;</span>
1372
- <span class="cline-any cline-neutral">&nbsp;</span>
1373
- <span class="cline-any cline-no">&nbsp;</span>
1374
- <span class="cline-any cline-neutral">&nbsp;</span>
1375
- <span class="cline-any cline-no">&nbsp;</span>
1376
- <span class="cline-any cline-neutral">&nbsp;</span>
1377
- <span class="cline-any cline-neutral">&nbsp;</span>
1378
- <span class="cline-any cline-neutral">&nbsp;</span>
1379
- <span class="cline-any cline-no">&nbsp;</span>
1380
- <span class="cline-any cline-neutral">&nbsp;</span>
1381
- <span class="cline-any cline-neutral">&nbsp;</span>
1382
- <span class="cline-any cline-neutral">&nbsp;</span>
1383
- <span class="cline-any cline-no">&nbsp;</span>
1384
- <span class="cline-any cline-neutral">&nbsp;</span>
1385
- <span class="cline-any cline-neutral">&nbsp;</span>
1386
- <span class="cline-any cline-neutral">&nbsp;</span>
1387
- <span class="cline-any cline-neutral">&nbsp;</span>
1388
- <span class="cline-any cline-no">&nbsp;</span>
1389
- <span class="cline-any cline-no">&nbsp;</span>
1390
- <span class="cline-any cline-neutral">&nbsp;</span>
1391
- <span class="cline-any cline-neutral">&nbsp;</span>
1392
- <span class="cline-any cline-yes">3</span>
1393
- <span class="cline-any cline-no">&nbsp;</span>
1394
- <span class="cline-any cline-neutral">&nbsp;</span>
1395
- <span class="cline-any cline-no">&nbsp;</span>
1396
- <span class="cline-any cline-neutral">&nbsp;</span>
1397
- <span class="cline-any cline-no">&nbsp;</span>
1398
- <span class="cline-any cline-neutral">&nbsp;</span>
1399
- <span class="cline-any cline-neutral">&nbsp;</span>
1400
- <span class="cline-any cline-neutral">&nbsp;</span>
1401
- <span class="cline-any cline-no">&nbsp;</span>
1402
- <span class="cline-any cline-neutral">&nbsp;</span>
1403
- <span class="cline-any cline-neutral">&nbsp;</span>
1404
- <span class="cline-any cline-neutral">&nbsp;</span>
1405
- <span class="cline-any cline-no">&nbsp;</span>
1406
- <span class="cline-any cline-neutral">&nbsp;</span>
1407
- <span class="cline-any cline-neutral">&nbsp;</span>
1408
- <span class="cline-any cline-neutral">&nbsp;</span>
1409
- <span class="cline-any cline-neutral">&nbsp;</span>
1410
- <span class="cline-any cline-no">&nbsp;</span>
1411
- <span class="cline-any cline-no">&nbsp;</span>
1412
- <span class="cline-any cline-neutral">&nbsp;</span>
1413
- <span class="cline-any cline-neutral">&nbsp;</span>
1414
- <span class="cline-any cline-yes">3</span>
1415
- <span class="cline-any cline-no">&nbsp;</span>
1416
- <span class="cline-any cline-neutral">&nbsp;</span>
1417
- <span class="cline-any cline-no">&nbsp;</span>
1418
- <span class="cline-any cline-neutral">&nbsp;</span>
1419
- <span class="cline-any cline-no">&nbsp;</span>
1420
- <span class="cline-any cline-neutral">&nbsp;</span>
1421
- <span class="cline-any cline-neutral">&nbsp;</span>
1422
- <span class="cline-any cline-neutral">&nbsp;</span>
1423
- <span class="cline-any cline-no">&nbsp;</span>
1424
- <span class="cline-any cline-neutral">&nbsp;</span>
1425
- <span class="cline-any cline-neutral">&nbsp;</span>
1426
- <span class="cline-any cline-neutral">&nbsp;</span>
1427
- <span class="cline-any cline-no">&nbsp;</span>
1428
- <span class="cline-any cline-neutral">&nbsp;</span>
1429
- <span class="cline-any cline-neutral">&nbsp;</span>
1430
- <span class="cline-any cline-neutral">&nbsp;</span>
1431
- <span class="cline-any cline-neutral">&nbsp;</span>
1432
- <span class="cline-any cline-no">&nbsp;</span>
1433
- <span class="cline-any cline-no">&nbsp;</span>
1434
- <span class="cline-any cline-neutral">&nbsp;</span>
1435
- <span class="cline-any cline-neutral">&nbsp;</span>
1436
- <span class="cline-any cline-yes">3</span>
1437
- <span class="cline-any cline-no">&nbsp;</span>
1438
- <span class="cline-any cline-neutral">&nbsp;</span>
1439
- <span class="cline-any cline-no">&nbsp;</span>
1440
- <span class="cline-any cline-neutral">&nbsp;</span>
1441
- <span class="cline-any cline-no">&nbsp;</span>
1442
- <span class="cline-any cline-neutral">&nbsp;</span>
1443
- <span class="cline-any cline-neutral">&nbsp;</span>
1444
- <span class="cline-any cline-neutral">&nbsp;</span>
1445
- <span class="cline-any cline-no">&nbsp;</span>
1446
- <span class="cline-any cline-neutral">&nbsp;</span>
1447
- <span class="cline-any cline-neutral">&nbsp;</span>
1448
- <span class="cline-any cline-neutral">&nbsp;</span>
1449
- <span class="cline-any cline-no">&nbsp;</span>
1450
- <span class="cline-any cline-neutral">&nbsp;</span>
1451
- <span class="cline-any cline-neutral">&nbsp;</span>
1452
- <span class="cline-any cline-neutral">&nbsp;</span>
1453
- <span class="cline-any cline-neutral">&nbsp;</span>
1454
- <span class="cline-any cline-no">&nbsp;</span>
1455
- <span class="cline-any cline-no">&nbsp;</span>
1456
- <span class="cline-any cline-neutral">&nbsp;</span>
1457
- <span class="cline-any cline-neutral">&nbsp;</span>
1458
- <span class="cline-any cline-neutral">&nbsp;</span>
1459
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*global CompilerContext, Handlebars, shouldCompileTo, shouldCompileToWithPartials, shouldThrow, handlebarsEnv */
1460
- describe('helpers', function() {
1461
- it("helper with complex lookup$", <span class="fstat-no" title="function not covered" >function() {</span>
1462
- <span class="cstat-no" title="statement not covered" > var string = "{{#goodbyes}}{{{link ../prefix}}}{{/goodbyes}}";</span>
1463
- <span class="cstat-no" title="statement not covered" > var hash = {prefix: "/root", goodbyes: [{text: "Goodbye", url: "goodbye"}]};</span>
1464
- <span class="cstat-no" title="statement not covered" > var helpers = {link: <span class="fstat-no" title="function not covered" >function(prefix) {</span></span>
1465
- <span class="cstat-no" title="statement not covered" > return "&lt;a href='" + prefix + "/" + this.url + "'&gt;" + this.text + "&lt;/a&gt;";</span>
1466
- }};
1467
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], "&lt;a href='/root/goodbye'&gt;Goodbye&lt;/a&gt;");</span>
1468
- });
1469
- &nbsp;
1470
- it("helper for raw block gets raw content", <span class="fstat-no" title="function not covered" >function() {</span>
1471
- <span class="cstat-no" title="statement not covered" > var string = "{{{{raw}}}} {{test}} {{{{/raw}}}}";</span>
1472
- <span class="cstat-no" title="statement not covered" > var hash = { test: "hello" };</span>
1473
- <span class="cstat-no" title="statement not covered" > var helpers = { raw: <span class="fstat-no" title="function not covered" >function(options) {</span></span>
1474
- <span class="cstat-no" title="statement not covered" > return options.fn();</span>
1475
- } };
1476
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], " {{test}} ",</span>
1477
- "raw block helper gets raw content");
1478
- });
1479
-
1480
- it("helper for raw block gets parameters", <span class="fstat-no" title="function not covered" >function() {</span>
1481
- <span class="cstat-no" title="statement not covered" > var string = "{{{{raw 1 2 3}}}} {{test}} {{{{/raw}}}}";</span>
1482
- <span class="cstat-no" title="statement not covered" > var hash = { test: "hello" };</span>
1483
- <span class="cstat-no" title="statement not covered" > var helpers = { raw: <span class="fstat-no" title="function not covered" >function(a, b, c, options) {</span></span>
1484
- <span class="cstat-no" title="statement not covered" > return options.fn() + a + b + c;</span>
1485
- } };
1486
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], " {{test}} 123",</span>
1487
- "raw block helper gets raw content");
1488
- });
1489
-
1490
- it("helper block with complex lookup expression", <span class="fstat-no" title="function not covered" >function() {</span>
1491
- <span class="cstat-no" title="statement not covered" > var string = "{{#goodbyes}}{{../name}}{{/goodbyes}}";</span>
1492
- <span class="cstat-no" title="statement not covered" > var hash = {name: "Alan"};</span>
1493
- <span class="cstat-no" title="statement not covered" > var helpers = {goodbyes: <span class="fstat-no" title="function not covered" >function(options) {</span></span>
1494
- <span class="cstat-no" title="statement not covered" > var out = "";</span>
1495
- <span class="cstat-no" title="statement not covered" > var byes = ["Goodbye", "goodbye", "GOODBYE"];</span>
1496
- <span class="cstat-no" title="statement not covered" > for (var i = 0,j = byes.length; i &lt; j; i++) {</span>
1497
- <span class="cstat-no" title="statement not covered" > out += byes[i] + " " + options.fn(this) + "! ";</span>
1498
- }
1499
- <span class="cstat-no" title="statement not covered" > return out;</span>
1500
- }};
1501
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], "Goodbye Alan! goodbye Alan! GOODBYE Alan! ");</span>
1502
- });
1503
- &nbsp;
1504
- it("helper with complex lookup and nested template", <span class="fstat-no" title="function not covered" >function() {</span>
1505
- <span class="cstat-no" title="statement not covered" > var string = "{{#goodbyes}}{{#link ../prefix}}{{text}}{{/link}}{{/goodbyes}}";</span>
1506
- <span class="cstat-no" title="statement not covered" > var hash = {prefix: '/root', goodbyes: [{text: "Goodbye", url: "goodbye"}]};</span>
1507
- <span class="cstat-no" title="statement not covered" > var helpers = {link: <span class="fstat-no" title="function not covered" >function (prefix, options) {</span></span>
1508
- <span class="cstat-no" title="statement not covered" > return "&lt;a href='" + prefix + "/" + this.url + "'&gt;" + options.fn(this) + "&lt;/a&gt;";</span>
1509
- }};
1510
- <span class="cstat-no" title="statement not covered" > shouldCompileToWithPartials(string, [hash, helpers], false, "&lt;a href='/root/goodbye'&gt;Goodbye&lt;/a&gt;");</span>
1511
- });
1512
- &nbsp;
1513
- it("helper with complex lookup and nested template in VM+Compiler", <span class="fstat-no" title="function not covered" >function() {</span>
1514
- <span class="cstat-no" title="statement not covered" > var string = "{{#goodbyes}}{{#link ../prefix}}{{text}}{{/link}}{{/goodbyes}}";</span>
1515
- <span class="cstat-no" title="statement not covered" > var hash = {prefix: '/root', goodbyes: [{text: "Goodbye", url: "goodbye"}]};</span>
1516
- <span class="cstat-no" title="statement not covered" > var helpers = {link: <span class="fstat-no" title="function not covered" >function (prefix, options) {</span></span>
1517
- <span class="cstat-no" title="statement not covered" > return "&lt;a href='" + prefix + "/" + this.url + "'&gt;" + options.fn(this) + "&lt;/a&gt;";</span>
1518
- }};
1519
- <span class="cstat-no" title="statement not covered" > shouldCompileToWithPartials(string, [hash, helpers], true, "&lt;a href='/root/goodbye'&gt;Goodbye&lt;/a&gt;");</span>
1520
- });
1521
- &nbsp;
1522
- it("block helper", <span class="fstat-no" title="function not covered" >function() {</span>
1523
- <span class="cstat-no" title="statement not covered" > var string = "{{#goodbyes}}{{text}}! {{/goodbyes}}cruel {{world}}!";</span>
1524
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile(string);</span>
1525
- &nbsp;
1526
- <span class="cstat-no" title="statement not covered" > var result = template({world: "world"}, { helpers: {goodbyes: <span class="fstat-no" title="function not covered" >function(options) {</span> <span class="cstat-no" title="statement not covered" >return options.fn({text: "GOODBYE"}); </span>}}});</span>
1527
- <span class="cstat-no" title="statement not covered" > equal(result, "GOODBYE! cruel world!", "Block helper executed");</span>
1528
- });
1529
- &nbsp;
1530
- it("block helper staying in the same context", <span class="fstat-no" title="function not covered" >function() {</span>
1531
- <span class="cstat-no" title="statement not covered" > var string = "{{#form}}&lt;p&gt;{{name}}&lt;/p&gt;{{/form}}";</span>
1532
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile(string);</span>
1533
- &nbsp;
1534
- <span class="cstat-no" title="statement not covered" > var result = template({name: "Yehuda"}, {helpers: {form: <span class="fstat-no" title="function not covered" >function(options) {</span> <span class="cstat-no" title="statement not covered" >return "&lt;form&gt;" + options.fn(this) + "&lt;/form&gt;"; </span>} }});</span>
1535
- <span class="cstat-no" title="statement not covered" > equal(result, "&lt;form&gt;&lt;p&gt;Yehuda&lt;/p&gt;&lt;/form&gt;", "Block helper executed with current context");</span>
1536
- });
1537
- &nbsp;
1538
- it("block helper should have context in this", <span class="fstat-no" title="function not covered" >function() {</span>
1539
- <span class="cstat-no" title="statement not covered" > var source = "&lt;ul&gt;{{#people}}&lt;li&gt;{{#link}}{{name}}{{/link}}&lt;/li&gt;{{/people}}&lt;/ul&gt;";</span>
1540
- <span class="cstat-no" title="statement not covered" > var link = <span class="fstat-no" title="function not covered" >function(options) {</span></span>
1541
- <span class="cstat-no" title="statement not covered" > return '&lt;a href="/people/' + this.id + '"&gt;' + options.fn(this) + '&lt;/a&gt;';</span>
1542
- };
1543
- <span class="cstat-no" title="statement not covered" > var data = { "people": [</span>
1544
- { "name": "Alan", "id": 1 },
1545
- { "name": "Yehuda", "id": 2 }
1546
- ]};
1547
- &nbsp;
1548
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(source, [data, {link: link}], "&lt;ul&gt;&lt;li&gt;&lt;a href=\"/people/1\"&gt;Alan&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=\"/people/2\"&gt;Yehuda&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;");</span>
1549
- });
1550
- &nbsp;
1551
- it("block helper for undefined value", <span class="fstat-no" title="function not covered" >function() {</span>
1552
- <span class="cstat-no" title="statement not covered" > shouldCompileTo("{{#empty}}shouldn't render{{/empty}}", {}, "");</span>
1553
- });
1554
- &nbsp;
1555
- it("block helper passing a new context", <span class="fstat-no" title="function not covered" >function() {</span>
1556
- <span class="cstat-no" title="statement not covered" > var string = "{{#form yehuda}}&lt;p&gt;{{name}}&lt;/p&gt;{{/form}}";</span>
1557
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile(string);</span>
1558
- &nbsp;
1559
- <span class="cstat-no" title="statement not covered" > var result = template({yehuda: {name: "Yehuda"}}, { helpers: {form: <span class="fstat-no" title="function not covered" >function(context, options) {</span> <span class="cstat-no" title="statement not covered" >return "&lt;form&gt;" + options.fn(context) + "&lt;/form&gt;"; </span>}}});</span>
1560
- <span class="cstat-no" title="statement not covered" > equal(result, "&lt;form&gt;&lt;p&gt;Yehuda&lt;/p&gt;&lt;/form&gt;", "Context variable resolved");</span>
1561
- });
1562
- &nbsp;
1563
- it("block helper passing a complex path context", <span class="fstat-no" title="function not covered" >function() {</span>
1564
- <span class="cstat-no" title="statement not covered" > var string = "{{#form yehuda/cat}}&lt;p&gt;{{name}}&lt;/p&gt;{{/form}}";</span>
1565
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile(string);</span>
1566
- &nbsp;
1567
- <span class="cstat-no" title="statement not covered" > var result = template({yehuda: {name: "Yehuda", cat: {name: "Harold"}}}, { helpers: {form: <span class="fstat-no" title="function not covered" >function(context, options) {</span> <span class="cstat-no" title="statement not covered" >return "&lt;form&gt;" + options.fn(context) + "&lt;/form&gt;"; </span>}}});</span>
1568
- <span class="cstat-no" title="statement not covered" > equal(result, "&lt;form&gt;&lt;p&gt;Harold&lt;/p&gt;&lt;/form&gt;", "Complex path variable resolved");</span>
1569
- });
1570
- &nbsp;
1571
- it("nested block helpers", <span class="fstat-no" title="function not covered" >function() {</span>
1572
- <span class="cstat-no" title="statement not covered" > var string = "{{#form yehuda}}&lt;p&gt;{{name}}&lt;/p&gt;{{#link}}Hello{{/link}}{{/form}}";</span>
1573
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile(string);</span>
1574
- &nbsp;
1575
- <span class="cstat-no" title="statement not covered" > var result = template({</span>
1576
- yehuda: {name: "Yehuda" }
1577
- }, {
1578
- helpers: {
1579
- link: <span class="fstat-no" title="function not covered" >function(options) {</span> <span class="cstat-no" title="statement not covered" >return "&lt;a href='" + this.name + "'&gt;" + options.fn(this) + "&lt;/a&gt;"; </span>},
1580
- form: <span class="fstat-no" title="function not covered" >function(context, options) {</span> <span class="cstat-no" title="statement not covered" >return "&lt;form&gt;" + options.fn(context) + "&lt;/form&gt;"; </span>}
1581
- }
1582
- });
1583
- <span class="cstat-no" title="statement not covered" > equal(result, "&lt;form&gt;&lt;p&gt;Yehuda&lt;/p&gt;&lt;a href='Yehuda'&gt;Hello&lt;/a&gt;&lt;/form&gt;", "Both blocks executed");</span>
1584
- });
1585
- &nbsp;
1586
- it("block helper inverted sections", <span class="fstat-no" title="function not covered" >function() {</span>
1587
- <span class="cstat-no" title="statement not covered" > var string = "{{#list people}}{{name}}{{^}}&lt;em&gt;Nobody's here&lt;/em&gt;{{/list}}";</span>
1588
- <span class="cstat-no" title="statement not covered" > var list = <span class="fstat-no" title="function not covered" >function(context, options) {</span></span>
1589
- <span class="cstat-no" title="statement not covered" > if (context.length &gt; 0) {</span>
1590
- <span class="cstat-no" title="statement not covered" > var out = "&lt;ul&gt;";</span>
1591
- <span class="cstat-no" title="statement not covered" > for(var i = 0,j=context.length; i &lt; j; i++) {</span>
1592
- <span class="cstat-no" title="statement not covered" > out += "&lt;li&gt;";</span>
1593
- <span class="cstat-no" title="statement not covered" > out += options.fn(context[i]);</span>
1594
- <span class="cstat-no" title="statement not covered" > out += "&lt;/li&gt;";</span>
1595
- }
1596
- <span class="cstat-no" title="statement not covered" > out += "&lt;/ul&gt;";</span>
1597
- <span class="cstat-no" title="statement not covered" > return out;</span>
1598
- } else {
1599
- <span class="cstat-no" title="statement not covered" > return "&lt;p&gt;" + options.inverse(this) + "&lt;/p&gt;";</span>
1600
- }
1601
- };
1602
- &nbsp;
1603
- <span class="cstat-no" title="statement not covered" > var hash = {people: [{name: "Alan"}, {name: "Yehuda"}]};</span>
1604
- <span class="cstat-no" title="statement not covered" > var empty = {people: []};</span>
1605
- <span class="cstat-no" title="statement not covered" > var rootMessage = {</span>
1606
- people: [],
1607
- message: "Nobody's here"
1608
- };
1609
- &nbsp;
1610
- <span class="cstat-no" title="statement not covered" > var messageString = "{{#list people}}Hello{{^}}{{message}}{{/list}}";</span>
1611
- &nbsp;
1612
- // the meaning here may be kind of hard to catch, but list.not is always called,
1613
- // so we should see the output of both
1614
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, { list: list }], "&lt;ul&gt;&lt;li&gt;Alan&lt;/li&gt;&lt;li&gt;Yehuda&lt;/li&gt;&lt;/ul&gt;", "an inverse wrapper is passed in as a new context");</span>
1615
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [empty, { list: list }], "&lt;p&gt;&lt;em&gt;Nobody's here&lt;/em&gt;&lt;/p&gt;", "an inverse wrapper can be optionally called");</span>
1616
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(messageString, [rootMessage, { list: list }], "&lt;p&gt;Nobody&amp;#x27;s here&lt;/p&gt;", "the context of an inverse is the parent of the block");</span>
1617
- });
1618
- &nbsp;
1619
- it('pathed lambas with parameters', <span class="fstat-no" title="function not covered" >function() {</span>
1620
- <span class="cstat-no" title="statement not covered" > var hash = {</span>
1621
- helper: <span class="fstat-no" title="function not covered" >function() {</span>
1622
- <span class="cstat-no" title="statement not covered" > return 'winning';</span>
1623
- }
1624
- };
1625
- <span class="cstat-no" title="statement not covered" > hash.hash = hash;</span>
1626
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
1627
- './helper': <span class="fstat-no" title="function not covered" >function() {</span>
1628
- <span class="cstat-no" title="statement not covered" > return 'fail';</span>
1629
- }
1630
- };
1631
- <span class="cstat-no" title="statement not covered" > shouldCompileTo('{{./helper 1}}', [hash, helpers], 'winning');</span>
1632
- <span class="cstat-no" title="statement not covered" > shouldCompileTo('{{hash/helper 1}}', [hash, helpers], 'winning');</span>
1633
- });
1634
- &nbsp;
1635
- describe("helpers hash", function() {
1636
- it("providing a helpers hash", <span class="fstat-no" title="function not covered" >function() {</span>
1637
- <span class="cstat-no" title="statement not covered" > shouldCompileTo("Goodbye {{cruel}} {{world}}!", [{cruel: "cruel"}, {world: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return "world"; </span>}}], "Goodbye cruel world!",</span>
1638
- "helpers hash is available");
1639
- &nbsp;
1640
- <span class="cstat-no" title="statement not covered" > shouldCompileTo("Goodbye {{#iter}}{{cruel}} {{world}}{{/iter}}!", [{iter: [{cruel: "cruel"}]}, {world: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return "world"; </span>}}],</span>
1641
- "Goodbye cruel world!", "helpers hash is available inside other blocks");
1642
- });
1643
- &nbsp;
1644
- it("in cases of conflict, helpers win", <span class="fstat-no" title="function not covered" >function() {</span>
1645
- <span class="cstat-no" title="statement not covered" > shouldCompileTo("{{{lookup}}}", [{lookup: 'Explicit'}, {lookup: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return 'helpers'; </span>}}], "helpers",</span>
1646
- "helpers hash has precedence escaped expansion");
1647
- <span class="cstat-no" title="statement not covered" > shouldCompileTo("{{lookup}}", [{lookup: 'Explicit'}, {lookup: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return 'helpers'; </span>}}], "helpers",</span>
1648
- "helpers hash has precedence simple expansion");
1649
- });
1650
- &nbsp;
1651
- it("the helpers hash is available is nested contexts", <span class="fstat-no" title="function not covered" >function() {</span>
1652
- <span class="cstat-no" title="statement not covered" > shouldCompileTo("{{#outer}}{{#inner}}{{helper}}{{/inner}}{{/outer}}",</span>
1653
- [{'outer': {'inner': {'unused':[]}}}, {'helper': <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return 'helper'; </span>}}], "helper",
1654
- "helpers hash is available in nested contexts.");
1655
- });
1656
- &nbsp;
1657
- it("the helper hash should augment the global hash", <span class="fstat-no" title="function not covered" >function() {</span>
1658
- <span class="cstat-no" title="statement not covered" > handlebarsEnv.registerHelper('test_helper', <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return 'found it!'; </span>});</span>
1659
- &nbsp;
1660
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(</span>
1661
- "{{test_helper}} {{#if cruel}}Goodbye {{cruel}} {{world}}!{{/if}}", [
1662
- {cruel: "cruel"},
1663
- {world: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return "world!"; </span>}}
1664
- ],
1665
- "found it! Goodbye cruel world!!");
1666
- });
1667
- });
1668
- &nbsp;
1669
- it("Multiple global helper registration", <span class="fstat-no" title="function not covered" >function() {</span>
1670
- <span class="cstat-no" title="statement not covered" > var helpers = handlebarsEnv.helpers;</span>
1671
- <span class="cstat-no" title="statement not covered" > handlebarsEnv.helpers = {};</span>
1672
- &nbsp;
1673
- <span class="cstat-no" title="statement not covered" > handlebarsEnv.registerHelper({</span>
1674
- 'if': helpers['if'],
1675
- world: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return "world!"; </span>},
1676
- test_helper: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return 'found it!'; </span>}
1677
- });
1678
- &nbsp;
1679
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(</span>
1680
- "{{test_helper}} {{#if cruel}}Goodbye {{cruel}} {{world}}!{{/if}}",
1681
- [{cruel: "cruel"}],
1682
- "found it! Goodbye cruel world!!");
1683
- });
1684
- &nbsp;
1685
- it("decimal number literals work", <span class="fstat-no" title="function not covered" >function() {</span>
1686
- <span class="cstat-no" title="statement not covered" > var string = 'Message: {{hello -1.2 1.2}}';</span>
1687
- <span class="cstat-no" title="statement not covered" > var hash = {};</span>
1688
- <span class="cstat-no" title="statement not covered" > var helpers = {hello: <span class="fstat-no" title="function not covered" >function(times, times2) {</span></span>
1689
- <span class="cstat-no" title="statement not covered" > if(typeof times !== 'number') { <span class="cstat-no" title="statement not covered" >times = "NaN"; </span>}</span>
1690
- <span class="cstat-no" title="statement not covered" > if(typeof times2 !== 'number') { <span class="cstat-no" title="statement not covered" >times2 = "NaN"; </span>}</span>
1691
- <span class="cstat-no" title="statement not covered" > return "Hello " + times + " " + times2 + " times";</span>
1692
- }};
1693
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], "Message: Hello -1.2 1.2 times", "template with a negative integer literal");</span>
1694
- });
1695
- &nbsp;
1696
- it("negative number literals work", <span class="fstat-no" title="function not covered" >function() {</span>
1697
- <span class="cstat-no" title="statement not covered" > var string = 'Message: {{hello -12}}';</span>
1698
- <span class="cstat-no" title="statement not covered" > var hash = {};</span>
1699
- <span class="cstat-no" title="statement not covered" > var helpers = {hello: <span class="fstat-no" title="function not covered" >function(times) {</span></span>
1700
- <span class="cstat-no" title="statement not covered" > if(typeof times !== 'number') { <span class="cstat-no" title="statement not covered" >times = "NaN"; </span>}</span>
1701
- <span class="cstat-no" title="statement not covered" > return "Hello " + times + " times";</span>
1702
- }};
1703
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], "Message: Hello -12 times", "template with a negative integer literal");</span>
1704
- });
1705
- &nbsp;
1706
- describe("String literal parameters", function() {
1707
- it("simple literals work", <span class="fstat-no" title="function not covered" >function() {</span>
1708
- <span class="cstat-no" title="statement not covered" > var string = 'Message: {{hello "world" 12 true false}}';</span>
1709
- <span class="cstat-no" title="statement not covered" > var hash = {};</span>
1710
- <span class="cstat-no" title="statement not covered" > var helpers = {hello: <span class="fstat-no" title="function not covered" >function(param, times, bool1, bool2) {</span></span>
1711
- <span class="cstat-no" title="statement not covered" > if(typeof times !== 'number') { <span class="cstat-no" title="statement not covered" >times = "NaN"; </span>}</span>
1712
- <span class="cstat-no" title="statement not covered" > if(typeof bool1 !== 'boolean') { <span class="cstat-no" title="statement not covered" >bool1 = "NaB"; </span>}</span>
1713
- <span class="cstat-no" title="statement not covered" > if(typeof bool2 !== 'boolean') { <span class="cstat-no" title="statement not covered" >bool2 = "NaB"; </span>}</span>
1714
- <span class="cstat-no" title="statement not covered" > return "Hello " + param + " " + times + " times: " + bool1 + " " + bool2;</span>
1715
- }};
1716
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], "Message: Hello world 12 times: true false", "template with a simple String literal");</span>
1717
- });
1718
- &nbsp;
1719
- it("using a quote in the middle of a parameter raises an error", <span class="fstat-no" title="function not covered" >function() {</span>
1720
- <span class="cstat-no" title="statement not covered" > var string = 'Message: {{hello wo"rld"}}';</span>
1721
- <span class="cstat-no" title="statement not covered" > shouldThrow(<span class="fstat-no" title="function not covered" >function() {</span></span>
1722
- <span class="cstat-no" title="statement not covered" > CompilerContext.compile(string);</span>
1723
- }, Error);
1724
- });
1725
- &nbsp;
1726
- it("escaping a String is possible", <span class="fstat-no" title="function not covered" >function(){</span>
1727
- <span class="cstat-no" title="statement not covered" > var string = 'Message: {{{hello "\\"world\\""}}}';</span>
1728
- <span class="cstat-no" title="statement not covered" > var hash = {};</span>
1729
- <span class="cstat-no" title="statement not covered" > var helpers = {hello: <span class="fstat-no" title="function not covered" >function(param) {</span> <span class="cstat-no" title="statement not covered" >return "Hello " + param; </span>}};</span>
1730
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], "Message: Hello \"world\"", "template with an escaped String literal");</span>
1731
- });
1732
- &nbsp;
1733
- it("it works with ' marks", <span class="fstat-no" title="function not covered" >function() {</span>
1734
- <span class="cstat-no" title="statement not covered" > var string = 'Message: {{{hello "Alan\'s world"}}}';</span>
1735
- <span class="cstat-no" title="statement not covered" > var hash = {};</span>
1736
- <span class="cstat-no" title="statement not covered" > var helpers = {hello: <span class="fstat-no" title="function not covered" >function(param) {</span> <span class="cstat-no" title="statement not covered" >return "Hello " + param; </span>}};</span>
1737
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], "Message: Hello Alan's world", "template with a ' mark");</span>
1738
- });
1739
- });
1740
- &nbsp;
1741
- it("negative number literals work", <span class="fstat-no" title="function not covered" >function() {</span>
1742
- <span class="cstat-no" title="statement not covered" > var string = 'Message: {{hello -12}}';</span>
1743
- <span class="cstat-no" title="statement not covered" > var hash = {};</span>
1744
- <span class="cstat-no" title="statement not covered" > var helpers = {hello: <span class="fstat-no" title="function not covered" >function(times) {</span></span>
1745
- <span class="cstat-no" title="statement not covered" > if(typeof times !== 'number') { <span class="cstat-no" title="statement not covered" >times = "NaN"; </span>}</span>
1746
- <span class="cstat-no" title="statement not covered" > return "Hello " + times + " times";</span>
1747
- }};
1748
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], "Message: Hello -12 times", "template with a negative integer literal");</span>
1749
- });
1750
- &nbsp;
1751
- describe("multiple parameters", function() {
1752
- it("simple multi-params work", <span class="fstat-no" title="function not covered" >function() {</span>
1753
- <span class="cstat-no" title="statement not covered" > var string = 'Message: {{goodbye cruel world}}';</span>
1754
- <span class="cstat-no" title="statement not covered" > var hash = {cruel: "cruel", world: "world"};</span>
1755
- <span class="cstat-no" title="statement not covered" > var helpers = {goodbye: <span class="fstat-no" title="function not covered" >function(cruel, world) {</span> <span class="cstat-no" title="statement not covered" >return "Goodbye " + cruel + " " + world; </span>}};</span>
1756
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], "Message: Goodbye cruel world", "regular helpers with multiple params");</span>
1757
- });
1758
- &nbsp;
1759
- it("block multi-params work", <span class="fstat-no" title="function not covered" >function() {</span>
1760
- <span class="cstat-no" title="statement not covered" > var string = 'Message: {{#goodbye cruel world}}{{greeting}} {{adj}} {{noun}}{{/goodbye}}';</span>
1761
- <span class="cstat-no" title="statement not covered" > var hash = {cruel: "cruel", world: "world"};</span>
1762
- <span class="cstat-no" title="statement not covered" > var helpers = {goodbye: <span class="fstat-no" title="function not covered" >function(cruel, world, options) {</span></span>
1763
- <span class="cstat-no" title="statement not covered" > return options.fn({greeting: "Goodbye", adj: cruel, noun: world});</span>
1764
- }};
1765
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [hash, helpers], "Message: Goodbye cruel world", "block helpers with multiple params");</span>
1766
- });
1767
- });
1768
- &nbsp;
1769
- describe('hash', function() {
1770
- it("helpers can take an optional hash", <span class="fstat-no" title="function not covered" >function() {</span>
1771
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile('{{goodbye cruel="CRUEL" world="WORLD" times=12}}');</span>
1772
- &nbsp;
1773
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
1774
- goodbye: <span class="fstat-no" title="function not covered" >function(options) {</span>
1775
- <span class="cstat-no" title="statement not covered" > return "GOODBYE " + options.hash.cruel + " " + options.hash.world + " " + options.hash.times + " TIMES";</span>
1776
- }
1777
- };
1778
- &nbsp;
1779
- <span class="cstat-no" title="statement not covered" > var context = {};</span>
1780
- &nbsp;
1781
- <span class="cstat-no" title="statement not covered" > var result = template(context, {helpers: helpers});</span>
1782
- <span class="cstat-no" title="statement not covered" > equals(result, "GOODBYE CRUEL WORLD 12 TIMES", "Helper output hash");</span>
1783
- });
1784
- &nbsp;
1785
- it("helpers can take an optional hash with booleans", <span class="fstat-no" title="function not covered" >function() {</span>
1786
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
1787
- goodbye: <span class="fstat-no" title="function not covered" >function(options) {</span>
1788
- <span class="cstat-no" title="statement not covered" > if (options.hash.print === true) {</span>
1789
- <span class="cstat-no" title="statement not covered" > return "GOODBYE " + options.hash.cruel + " " + options.hash.world;</span>
1790
- } else <span class="cstat-no" title="statement not covered" >if (options.hash.print === false) {</span>
1791
- <span class="cstat-no" title="statement not covered" > return "NOT PRINTING";</span>
1792
- } else {
1793
- <span class="cstat-no" title="statement not covered" > return "THIS SHOULD NOT HAPPEN";</span>
1794
- }
1795
- }
1796
- };
1797
- &nbsp;
1798
- <span class="cstat-no" title="statement not covered" > var context = {};</span>
1799
- &nbsp;
1800
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile('{{goodbye cruel="CRUEL" world="WORLD" print=true}}');</span>
1801
- <span class="cstat-no" title="statement not covered" > var result = template(context, {helpers: helpers});</span>
1802
- <span class="cstat-no" title="statement not covered" > equals(result, "GOODBYE CRUEL WORLD", "Helper output hash");</span>
1803
- &nbsp;
1804
- <span class="cstat-no" title="statement not covered" > template = CompilerContext.compile('{{goodbye cruel="CRUEL" world="WORLD" print=false}}');</span>
1805
- <span class="cstat-no" title="statement not covered" > result = template(context, {helpers: helpers});</span>
1806
- <span class="cstat-no" title="statement not covered" > equals(result, "NOT PRINTING", "Boolean helper parameter honored");</span>
1807
- });
1808
- &nbsp;
1809
- it("block helpers can take an optional hash", <span class="fstat-no" title="function not covered" >function() {</span>
1810
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile('{{#goodbye cruel="CRUEL" times=12}}world{{/goodbye}}');</span>
1811
- &nbsp;
1812
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
1813
- goodbye: <span class="fstat-no" title="function not covered" >function(options) {</span>
1814
- <span class="cstat-no" title="statement not covered" > return "GOODBYE " + options.hash.cruel + " " + options.fn(this) + " " + options.hash.times + " TIMES";</span>
1815
- }
1816
- };
1817
- &nbsp;
1818
- <span class="cstat-no" title="statement not covered" > var result = template({}, {helpers: helpers});</span>
1819
- <span class="cstat-no" title="statement not covered" > equals(result, "GOODBYE CRUEL world 12 TIMES", "Hash parameters output");</span>
1820
- });
1821
- &nbsp;
1822
- it("block helpers can take an optional hash with single quoted stings", <span class="fstat-no" title="function not covered" >function() {</span>
1823
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{#goodbye cruel='CRUEL' times=12}}world{{/goodbye}}");</span>
1824
- &nbsp;
1825
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
1826
- goodbye: <span class="fstat-no" title="function not covered" >function(options) {</span>
1827
- <span class="cstat-no" title="statement not covered" > return "GOODBYE " + options.hash.cruel + " " + options.fn(this) + " " + options.hash.times + " TIMES";</span>
1828
- }
1829
- };
1830
- &nbsp;
1831
- <span class="cstat-no" title="statement not covered" > var result = template({}, {helpers: helpers});</span>
1832
- <span class="cstat-no" title="statement not covered" > equals(result, "GOODBYE CRUEL world 12 TIMES", "Hash parameters output");</span>
1833
- });
1834
- &nbsp;
1835
- it("block helpers can take an optional hash with booleans", <span class="fstat-no" title="function not covered" >function() {</span>
1836
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
1837
- goodbye: <span class="fstat-no" title="function not covered" >function(options) {</span>
1838
- <span class="cstat-no" title="statement not covered" > if (options.hash.print === true) {</span>
1839
- <span class="cstat-no" title="statement not covered" > return "GOODBYE " + options.hash.cruel + " " + options.fn(this);</span>
1840
- } else <span class="cstat-no" title="statement not covered" >if (options.hash.print === false) {</span>
1841
- <span class="cstat-no" title="statement not covered" > return "NOT PRINTING";</span>
1842
- } else {
1843
- <span class="cstat-no" title="statement not covered" > return "THIS SHOULD NOT HAPPEN";</span>
1844
- }
1845
- }
1846
- };
1847
- &nbsp;
1848
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile('{{#goodbye cruel="CRUEL" print=true}}world{{/goodbye}}');</span>
1849
- <span class="cstat-no" title="statement not covered" > var result = template({}, {helpers: helpers});</span>
1850
- <span class="cstat-no" title="statement not covered" > equals(result, "GOODBYE CRUEL world", "Boolean hash parameter honored");</span>
1851
- &nbsp;
1852
- <span class="cstat-no" title="statement not covered" > template = CompilerContext.compile('{{#goodbye cruel="CRUEL" print=false}}world{{/goodbye}}');</span>
1853
- <span class="cstat-no" title="statement not covered" > result = template({}, {helpers: helpers});</span>
1854
- <span class="cstat-no" title="statement not covered" > equals(result, "NOT PRINTING", "Boolean hash parameter honored");</span>
1855
- });
1856
- });
1857
- &nbsp;
1858
- describe("helperMissing", function() {
1859
- it("if a context is not found, helperMissing is used", <span class="fstat-no" title="function not covered" >function() {</span>
1860
- <span class="cstat-no" title="statement not covered" > shouldThrow(<span class="fstat-no" title="function not covered" >function() {</span></span>
1861
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{hello}} {{link_to world}}");</span>
1862
- <span class="cstat-no" title="statement not covered" > template({});</span>
1863
- }, undefined, /Missing helper: 'link_to'/);
1864
- });
1865
- &nbsp;
1866
- it("if a context is not found, custom helperMissing is used", <span class="fstat-no" title="function not covered" >function() {</span>
1867
- <span class="cstat-no" title="statement not covered" > var string = "{{hello}} {{link_to world}}";</span>
1868
- <span class="cstat-no" title="statement not covered" > var context = { hello: "Hello", world: "world" };</span>
1869
- &nbsp;
1870
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
1871
- helperMissing: <span class="fstat-no" title="function not covered" >function(mesg, options) {</span>
1872
- <span class="cstat-no" title="statement not covered" > if(options.name === "link_to") {</span>
1873
- <span class="cstat-no" title="statement not covered" > return new Handlebars.SafeString("&lt;a&gt;" + mesg + "&lt;/a&gt;");</span>
1874
- }
1875
- }
1876
- };
1877
- &nbsp;
1878
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, [context, helpers], "Hello &lt;a&gt;world&lt;/a&gt;");</span>
1879
- });
1880
- });
1881
- &nbsp;
1882
- describe("knownHelpers", function() {
1883
- it("Known helper should render helper", <span class="fstat-no" title="function not covered" >function() {</span>
1884
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{hello}}", {knownHelpers: {"hello" : true}});</span>
1885
- &nbsp;
1886
- <span class="cstat-no" title="statement not covered" > var result = template({}, {helpers: {hello: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return "foo"; </span>}}});</span>
1887
- <span class="cstat-no" title="statement not covered" > equal(result, "foo", "'foo' should === '" + result);</span>
1888
- });
1889
- &nbsp;
1890
- it("Unknown helper in knownHelpers only mode should be passed as undefined", <span class="fstat-no" title="function not covered" >function() {</span>
1891
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{typeof hello}}", {knownHelpers: {'typeof': true}, knownHelpersOnly: true});</span>
1892
- &nbsp;
1893
- <span class="cstat-no" title="statement not covered" > var result = template({}, {helpers: {'typeof': <span class="fstat-no" title="function not covered" >function(arg) {</span> <span class="cstat-no" title="statement not covered" >return typeof arg; </span>}, hello: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return "foo"; </span>}}});</span>
1894
- <span class="cstat-no" title="statement not covered" > equal(result, "undefined", "'undefined' should === '" + result);</span>
1895
- });
1896
- it("Builtin helpers available in knownHelpers only mode", <span class="fstat-no" title="function not covered" >function() {</span>
1897
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{#unless foo}}bar{{/unless}}", {knownHelpersOnly: true});</span>
1898
- &nbsp;
1899
- <span class="cstat-no" title="statement not covered" > var result = template({});</span>
1900
- <span class="cstat-no" title="statement not covered" > equal(result, "bar", "'bar' should === '" + result);</span>
1901
- });
1902
- it("Field lookup works in knownHelpers only mode", <span class="fstat-no" title="function not covered" >function() {</span>
1903
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{foo}}", {knownHelpersOnly: true});</span>
1904
- &nbsp;
1905
- <span class="cstat-no" title="statement not covered" > var result = template({foo: 'bar'});</span>
1906
- <span class="cstat-no" title="statement not covered" > equal(result, "bar", "'bar' should === '" + result);</span>
1907
- });
1908
- it("Conditional blocks work in knownHelpers only mode", <span class="fstat-no" title="function not covered" >function() {</span>
1909
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{#foo}}bar{{/foo}}", {knownHelpersOnly: true});</span>
1910
- &nbsp;
1911
- <span class="cstat-no" title="statement not covered" > var result = template({foo: 'baz'});</span>
1912
- <span class="cstat-no" title="statement not covered" > equal(result, "bar", "'bar' should === '" + result);</span>
1913
- });
1914
- it("Invert blocks work in knownHelpers only mode", <span class="fstat-no" title="function not covered" >function() {</span>
1915
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{^foo}}bar{{/foo}}", {knownHelpersOnly: true});</span>
1916
- &nbsp;
1917
- <span class="cstat-no" title="statement not covered" > var result = template({foo: false});</span>
1918
- <span class="cstat-no" title="statement not covered" > equal(result, "bar", "'bar' should === '" + result);</span>
1919
- });
1920
- it("Functions are bound to the context in knownHelpers only mode", <span class="fstat-no" title="function not covered" >function() {</span>
1921
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{foo}}", {knownHelpersOnly: true});</span>
1922
- <span class="cstat-no" title="statement not covered" > var result = template({foo: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return this.bar; </span>}, bar: 'bar'});</span>
1923
- <span class="cstat-no" title="statement not covered" > equal(result, "bar", "'bar' should === '" + result);</span>
1924
- });
1925
- it("Unknown helper call in knownHelpers only mode should throw", <span class="fstat-no" title="function not covered" >function() {</span>
1926
- <span class="cstat-no" title="statement not covered" > shouldThrow(<span class="fstat-no" title="function not covered" >function() {</span></span>
1927
- <span class="cstat-no" title="statement not covered" > CompilerContext.compile("{{typeof hello}}", {knownHelpersOnly: true});</span>
1928
- }, Error);
1929
- });
1930
- });
1931
- &nbsp;
1932
- describe("blockHelperMissing", function() {
1933
- it("lambdas are resolved by blockHelperMissing, not handlebars proper", <span class="fstat-no" title="function not covered" >function() {</span>
1934
- <span class="cstat-no" title="statement not covered" > var string = "{{#truthy}}yep{{/truthy}}";</span>
1935
- <span class="cstat-no" title="statement not covered" > var data = { truthy: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return true; </span>} };</span>
1936
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, data, "yep");</span>
1937
- });
1938
- it("lambdas resolved by blockHelperMissing are bound to the context", <span class="fstat-no" title="function not covered" >function() {</span>
1939
- <span class="cstat-no" title="statement not covered" > var string = "{{#truthy}}yep{{/truthy}}";</span>
1940
- <span class="cstat-no" title="statement not covered" > var boundData = { truthy: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return this.truthiness(); </span>}, truthiness: <span class="fstat-no" title="function not covered" >function() {</span> <span class="cstat-no" title="statement not covered" >return false; </span>} };</span>
1941
- <span class="cstat-no" title="statement not covered" > shouldCompileTo(string, boundData, "");</span>
1942
- });
1943
- });
1944
- &nbsp;
1945
- describe('name field', function() {
1946
- var context = {};
1947
- var helpers = {
1948
- blockHelperMissing: <span class="fstat-no" title="function not covered" >function() {</span>
1949
- <span class="cstat-no" title="statement not covered" > return 'missing: ' + arguments[arguments.length-1].name;</span>
1950
- },
1951
- helperMissing: <span class="fstat-no" title="function not covered" >function() {</span>
1952
- <span class="cstat-no" title="statement not covered" > return 'helper missing: ' + arguments[arguments.length-1].name;</span>
1953
- },
1954
- helper: <span class="fstat-no" title="function not covered" >function() {</span>
1955
- <span class="cstat-no" title="statement not covered" > return 'ran: ' + arguments[arguments.length-1].name;</span>
1956
- }
1957
- };
1958
- &nbsp;
1959
- it('should include in ambiguous mustache calls', <span class="fstat-no" title="function not covered" >function() {</span>
1960
- <span class="cstat-no" title="statement not covered" > shouldCompileTo('{{helper}}', [context, helpers], 'ran: helper');</span>
1961
- });
1962
- it('should include in helper mustache calls', <span class="fstat-no" title="function not covered" >function() {</span>
1963
- <span class="cstat-no" title="statement not covered" > shouldCompileTo('{{helper 1}}', [context, helpers], 'ran: helper');</span>
1964
- });
1965
- it('should include in ambiguous block calls', <span class="fstat-no" title="function not covered" >function() {</span>
1966
- <span class="cstat-no" title="statement not covered" > shouldCompileTo('{{#helper}}{{/helper}}', [context, helpers], 'ran: helper');</span>
1967
- });
1968
- it('should include in simple block calls', <span class="fstat-no" title="function not covered" >function() {</span>
1969
- <span class="cstat-no" title="statement not covered" > shouldCompileTo('{{#./helper}}{{/./helper}}', [context, helpers], 'missing: ./helper');</span>
1970
- });
1971
- it('should include in helper block calls', <span class="fstat-no" title="function not covered" >function() {</span>
1972
- <span class="cstat-no" title="statement not covered" > shouldCompileTo('{{#helper 1}}{{/helper}}', [context, helpers], 'ran: helper');</span>
1973
- });
1974
- it('should include in known helper calls', <span class="fstat-no" title="function not covered" >function() {</span>
1975
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{helper}}", {knownHelpers: {'helper': true}, knownHelpersOnly: true});</span>
1976
- &nbsp;
1977
- <span class="cstat-no" title="statement not covered" > equal(template({}, {helpers: helpers}), 'ran: helper');</span>
1978
- });
1979
- &nbsp;
1980
- it('should include full id', <span class="fstat-no" title="function not covered" >function() {</span>
1981
- <span class="cstat-no" title="statement not covered" > shouldCompileTo('{{#foo.helper}}{{/foo.helper}}', [{foo: {}}, helpers], 'missing: foo.helper');</span>
1982
- });
1983
- &nbsp;
1984
- it('should include full id if a hash is passed', <span class="fstat-no" title="function not covered" >function() {</span>
1985
- <span class="cstat-no" title="statement not covered" > shouldCompileTo('{{#foo.helper bar=baz}}{{/foo.helper}}', [{foo: {}}, helpers], 'helper missing: foo.helper');</span>
1986
- });
1987
- });
1988
- &nbsp;
1989
- describe('name conflicts', function() {
1990
- it("helpers take precedence over same-named context properties", <span class="fstat-no" title="function not covered" >function() {</span>
1991
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{goodbye}} {{cruel world}}");</span>
1992
- &nbsp;
1993
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
1994
- goodbye: <span class="fstat-no" title="function not covered" >function() {</span>
1995
- <span class="cstat-no" title="statement not covered" > return this.goodbye.toUpperCase();</span>
1996
- },
1997
- &nbsp;
1998
- cruel: <span class="fstat-no" title="function not covered" >function(world) {</span>
1999
- <span class="cstat-no" title="statement not covered" > return "cruel " + world.toUpperCase();</span>
2000
- }
2001
- };
2002
- &nbsp;
2003
- <span class="cstat-no" title="statement not covered" > var context = {</span>
2004
- goodbye: "goodbye",
2005
- world: "world"
2006
- };
2007
- &nbsp;
2008
- <span class="cstat-no" title="statement not covered" > var result = template(context, {helpers: helpers});</span>
2009
- <span class="cstat-no" title="statement not covered" > equals(result, "GOODBYE cruel WORLD", "Helper executed");</span>
2010
- });
2011
- &nbsp;
2012
- it("helpers take precedence over same-named context properties$", <span class="fstat-no" title="function not covered" >function() {</span>
2013
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{#goodbye}} {{cruel world}}{{/goodbye}}");</span>
2014
- &nbsp;
2015
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
2016
- goodbye: <span class="fstat-no" title="function not covered" >function(options) {</span>
2017
- <span class="cstat-no" title="statement not covered" > return this.goodbye.toUpperCase() + options.fn(this);</span>
2018
- },
2019
- &nbsp;
2020
- cruel: <span class="fstat-no" title="function not covered" >function(world) {</span>
2021
- <span class="cstat-no" title="statement not covered" > return "cruel " + world.toUpperCase();</span>
2022
- }
2023
- };
2024
- &nbsp;
2025
- <span class="cstat-no" title="statement not covered" > var context = {</span>
2026
- goodbye: "goodbye",
2027
- world: "world"
2028
- };
2029
- &nbsp;
2030
- <span class="cstat-no" title="statement not covered" > var result = template(context, {helpers: helpers});</span>
2031
- <span class="cstat-no" title="statement not covered" > equals(result, "GOODBYE cruel WORLD", "Helper executed");</span>
2032
- });
2033
- &nbsp;
2034
- it("Scoped names take precedence over helpers", <span class="fstat-no" title="function not covered" >function() {</span>
2035
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{this.goodbye}} {{cruel world}} {{cruel this.goodbye}}");</span>
2036
- &nbsp;
2037
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
2038
- goodbye: <span class="fstat-no" title="function not covered" >function() {</span>
2039
- <span class="cstat-no" title="statement not covered" > return this.goodbye.toUpperCase();</span>
2040
- },
2041
- &nbsp;
2042
- cruel: <span class="fstat-no" title="function not covered" >function(world) {</span>
2043
- <span class="cstat-no" title="statement not covered" > return "cruel " + world.toUpperCase();</span>
2044
- }
2045
- };
2046
- &nbsp;
2047
- <span class="cstat-no" title="statement not covered" > var context = {</span>
2048
- goodbye: "goodbye",
2049
- world: "world"
2050
- };
2051
- &nbsp;
2052
- <span class="cstat-no" title="statement not covered" > var result = template(context, {helpers: helpers});</span>
2053
- <span class="cstat-no" title="statement not covered" > equals(result, "goodbye cruel WORLD cruel GOODBYE", "Helper not executed");</span>
2054
- });
2055
- &nbsp;
2056
- it("Scoped names take precedence over block helpers", <span class="fstat-no" title="function not covered" >function() {</span>
2057
- <span class="cstat-no" title="statement not covered" > var template = CompilerContext.compile("{{#goodbye}} {{cruel world}}{{/goodbye}} {{this.goodbye}}");</span>
2058
- &nbsp;
2059
- <span class="cstat-no" title="statement not covered" > var helpers = {</span>
2060
- goodbye: <span class="fstat-no" title="function not covered" >function(options) {</span>
2061
- <span class="cstat-no" title="statement not covered" > return this.goodbye.toUpperCase() + options.fn(this);</span>
2062
- },
2063
- &nbsp;
2064
- cruel: <span class="fstat-no" title="function not covered" >function(world) {</span>
2065
- <span class="cstat-no" title="statement not covered" > return "cruel " + world.toUpperCase();</span>
2066
- }
2067
- };
2068
- &nbsp;
2069
- <span class="cstat-no" title="statement not covered" > var context = {</span>
2070
- goodbye: "goodbye",
2071
- world: "world"
2072
- };
2073
- &nbsp;
2074
- <span class="cstat-no" title="statement not covered" > var result = template(context, {helpers: helpers});</span>
2075
- <span class="cstat-no" title="statement not covered" > equals(result, "GOODBYE cruel WORLD goodbye", "Helper executed");</span>
2076
- });
2077
- });
2078
- });
2079
- &nbsp;</pre></td></tr>
2080
- </table></pre>
2081
-
2082
- </div>
2083
- <div class="footer">
2084
- <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Aug 13 2014 23:50:21 GMT-0500 (CDT)</div>
2085
- </div>
2086
-
2087
- <script src="../prettify.js"></script>
2088
-
2089
- <script src="https://yui-s.yahooapis.com/3.6.0/build/yui/yui-min.js"></script>
2090
- <script>
2091
-
2092
- YUI().use('datatable', function (Y) {
2093
-
2094
- var formatters = {
2095
- pct: function (o) {
2096
- o.className += o.record.get('classes')[o.column.key];
2097
- try {
2098
- return o.value.toFixed(2) + '%';
2099
- } catch (ex) { return o.value + '%'; }
2100
- },
2101
- html: function (o) {
2102
- o.className += o.record.get('classes')[o.column.key];
2103
- return o.record.get(o.column.key + '_html');
2104
- }
2105
- },
2106
- defaultFormatter = function (o) {
2107
- o.className += o.record.get('classes')[o.column.key];
2108
- return o.value;
2109
- };
2110
-
2111
- function getColumns(theadNode) {
2112
- var colNodes = theadNode.all('tr th'),
2113
- cols = [],
2114
- col;
2115
- colNodes.each(function (colNode) {
2116
- col = {
2117
- key: colNode.getAttribute('data-col'),
2118
- label: colNode.get('innerHTML') || ' ',
2119
- sortable: !colNode.getAttribute('data-nosort'),
2120
- className: colNode.getAttribute('class'),
2121
- type: colNode.getAttribute('data-type'),
2122
- allowHTML: colNode.getAttribute('data-html') === 'true' || colNode.getAttribute('data-fmt') === 'html'
2123
- };
2124
- col.formatter = formatters[colNode.getAttribute('data-fmt')] || defaultFormatter;
2125
- cols.push(col);
2126
- });
2127
- return cols;
2128
- }
2129
-
2130
- function getRowData(trNode, cols) {
2131
- var tdNodes = trNode.all('td'),
2132
- i,
2133
- row = { classes: {} },
2134
- node,
2135
- name;
2136
- for (i = 0; i < cols.length; i += 1) {
2137
- name = cols[i].key;
2138
- node = tdNodes.item(i);
2139
- row[name] = node.getAttribute('data-value') || node.get('innerHTML');
2140
- row[name + '_html'] = node.get('innerHTML');
2141
- row.classes[name] = node.getAttribute('class');
2142
- //Y.log('Name: ' + name + '; Value: ' + row[name]);
2143
- if (cols[i].type === 'number') { row[name] = row[name] * 1; }
2144
- }
2145
- //Y.log(row);
2146
- return row;
2147
- }
2148
-
2149
- function getData(tbodyNode, cols) {
2150
- var data = [];
2151
- tbodyNode.all('tr').each(function (trNode) {
2152
- data.push(getRowData(trNode, cols));
2153
- });
2154
- return data;
2155
- }
2156
-
2157
- function replaceTable(node) {
2158
- if (!node) { return; }
2159
- var cols = getColumns(node.one('thead')),
2160
- data = getData(node.one('tbody'), cols),
2161
- table,
2162
- parent = node.get('parentNode');
2163
-
2164
- table = new Y.DataTable({
2165
- columns: cols,
2166
- data: data,
2167
- sortBy: 'file'
2168
- });
2169
- parent.set('innerHTML', '');
2170
- table.render(parent);
2171
- }
2172
-
2173
- Y.on('domready', function () {
2174
- replaceTable(Y.one('div.coverage-summary table'));
2175
- if (typeof prettyPrint === 'function') {
2176
- prettyPrint();
2177
- }
2178
- });
2179
- });
2180
- </script>
2181
- </body>
2182
- </html>