lazibi 0.1.13 → 0.1.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. data/.autotest +44 -2
  2. data/History.txt +10 -1
  3. data/Manifest.txt +114 -91
  4. data/README.txt +4 -125
  5. data/Rakefile +20 -10
  6. data/config/lazibi_config_template.rb +15 -0
  7. data/lib/core/beautify_engine.rb +10 -0
  8. data/lib/core/default_engine.rb +11 -0
  9. data/lib/core/engine_base.rb +74 -0
  10. data/lib/filter/beautify_filter.rb +148 -0
  11. data/lib/filter/filter_base.rb +19 -0
  12. data/lib/filter/optional_do_filter.rb +66 -0
  13. data/lib/filter/optional_end_filter.rb +124 -0
  14. data/lib/filter/syntax_guard_filter.rb +77 -0
  15. data/lib/helper/application_helper.rb +9 -0
  16. data/lib/helper/beautify_filter_helper.rb +52 -0
  17. data/lib/helper/filter_helper.rb +133 -0
  18. data/lib/helper/task_helper.rb +53 -45
  19. data/lib/lazibi.rb +1 -4
  20. data/lib/lazibi/version.rb +1 -1
  21. data/lib/task.rb +41 -32
  22. data/spec/core/beautify_engine_spec.rb +12 -0
  23. data/spec/core/default_engine_spec.rb +28 -0
  24. data/spec/core/engine_base_spec.rb +23 -0
  25. data/spec/filter/beautify_filter_spec.rb +64 -0
  26. data/spec/filter/filter_spec_helper.rb +9 -0
  27. data/spec/filter/optional_do_filter_spec.rb +56 -0
  28. data/spec/filter/optional_end_filter_spec.rb +84 -0
  29. data/spec/filter/syntax_guard_filter_spec.rb +35 -0
  30. data/spec/fixtures/beautify/metas/square_brackets.txt +6 -0
  31. data/{test/fixtures/functional/ruby → spec/fixtures/beautify/rbs}/square_brackets.txt +1 -1
  32. data/{test → spec}/fixtures/clean/comment_break.txt +0 -0
  33. data/{test → spec}/fixtures/clean/complex_string.txt +0 -0
  34. data/{test → spec}/fixtures/clean/end_concat.txt +0 -0
  35. data/{test → spec}/fixtures/clean/long_indent.txt +0 -0
  36. data/{test → spec}/fixtures/clean/mixed_re.txt +0 -0
  37. data/{test → spec}/fixtures/clean/only_if.txt +0 -0
  38. data/{test → spec}/fixtures/clean/re.txt +0 -0
  39. data/{test → spec}/fixtures/clean/semi_colon_after_end.txt +0 -0
  40. data/{test → spec}/fixtures/clean/sep_line.txt +0 -0
  41. data/{test → spec}/fixtures/clean/unless_problem.txt +0 -0
  42. data/{test → spec}/fixtures/meta/basic_class.txt +0 -0
  43. data/{test → spec}/fixtures/meta/case.txt +0 -0
  44. data/{test → spec}/fixtures/meta/class_with_def.txt +0 -0
  45. data/{test → spec}/fixtures/meta/comment.txt +0 -0
  46. data/{test → spec}/fixtures/meta/comment_after_end.txt +0 -0
  47. data/{test → spec}/fixtures/meta/eval_code.txt +0 -0
  48. data/{test → spec}/fixtures/meta/here_doc.txt +0 -0
  49. data/{test → spec}/fixtures/meta/inline_do_end.txt +0 -0
  50. data/{test → spec}/fixtures/meta/inline_end.txt +0 -0
  51. data/{test → spec}/fixtures/meta/loop.txt +0 -0
  52. data/{test → spec}/fixtures/meta/middle.txt +0 -0
  53. data/{test → spec}/fixtures/meta/multi_blocks.txt +0 -0
  54. data/{test → spec}/fixtures/meta/nested_comment.txt +0 -0
  55. data/{test → spec}/fixtures/meta/optional_do.txt +0 -0
  56. data/{test → spec}/fixtures/meta/optional_do_with_nasty_chars.txt +0 -0
  57. data/{test → spec}/fixtures/meta/partial_method.txt +0 -0
  58. data/{test → spec}/fixtures/meta/single_method.txt +0 -0
  59. data/{test → spec}/fixtures/meta/two_methods.txt +0 -0
  60. data/{test/fixtures/functional/simply → spec/fixtures/optional_do/metas}/brackets_block.txt +0 -0
  61. data/{test/fixtures/functional/simply → spec/fixtures/optional_do/metas}/classical.txt +0 -0
  62. data/{test/fixtures/functional/simply → spec/fixtures/optional_do/metas}/describe.txt +0 -0
  63. data/{test/fixtures/functional/simply → spec/fixtures/optional_do/metas}/do_block.txt +0 -0
  64. data/{test/fixtures/functional/simply → spec/fixtures/optional_do/metas}/lambda.txt +0 -0
  65. data/{test/fixtures/functional/simply → spec/fixtures/optional_do/metas}/square_brackets.txt +2 -2
  66. data/{test/fixtures/functional/ruby → spec/fixtures/optional_do/rbs}/brackets_block.txt +0 -0
  67. data/{test/fixtures/functional/ruby → spec/fixtures/optional_do/rbs}/classical.txt +0 -0
  68. data/{test/fixtures/functional/ruby → spec/fixtures/optional_do/rbs}/describe.txt +0 -0
  69. data/{test/fixtures/functional/ruby → spec/fixtures/optional_do/rbs}/do_block.txt +0 -0
  70. data/{test/fixtures/functional/ruby → spec/fixtures/optional_do/rbs}/lambda.txt +0 -0
  71. data/spec/fixtures/optional_do/rbs/square_brackets.txt +6 -0
  72. data/{test → spec}/fixtures/real/basic_class.txt +0 -0
  73. data/{test → spec}/fixtures/real/case.txt +0 -0
  74. data/{test → spec}/fixtures/real/class_with_def.txt +0 -0
  75. data/{test → spec}/fixtures/real/comment.txt +0 -0
  76. data/{test → spec}/fixtures/real/comment_after_end.txt +0 -0
  77. data/{test → spec}/fixtures/real/comment_after_end_expected.txt +0 -0
  78. data/{test → spec}/fixtures/real/comment_break.txt +0 -0
  79. data/{test → spec}/fixtures/real/complex_string.txt +0 -0
  80. data/{test → spec}/fixtures/real/end_concat.txt +0 -0
  81. data/{test → spec}/fixtures/real/eval_code.txt +0 -0
  82. data/{test → spec}/fixtures/real/general_eval.txt +0 -0
  83. data/{test → spec}/fixtures/real/here_doc.txt +0 -0
  84. data/{test → spec}/fixtures/real/inline_do_end.txt +0 -0
  85. data/{test → spec}/fixtures/real/inline_end.txt +0 -0
  86. data/{test → spec}/fixtures/real/javascript.txt +0 -0
  87. data/{test → spec}/fixtures/real/long_indent.txt +0 -0
  88. data/{test → spec}/fixtures/real/loop.txt +0 -0
  89. data/{test → spec}/fixtures/real/middle.txt +0 -0
  90. data/{test → spec}/fixtures/real/mixed_re.txt +0 -0
  91. data/{test → spec}/fixtures/real/multi_blocks.txt +0 -0
  92. data/{test → spec}/fixtures/real/nested_comment.txt +0 -0
  93. data/{test → spec}/fixtures/real/only_if.txt +0 -0
  94. data/{test → spec}/fixtures/real/optional_do.txt +0 -0
  95. data/{test → spec}/fixtures/real/optional_do_with_nasty_chars.txt +0 -0
  96. data/{test → spec}/fixtures/real/partial_method.txt +0 -0
  97. data/{test → spec}/fixtures/real/re.txt +0 -0
  98. data/{test → spec}/fixtures/real/semi_colon_after_end.txt +0 -0
  99. data/{test → spec}/fixtures/real/sep_line.txt +0 -0
  100. data/{test → spec}/fixtures/real/single_method.txt +0 -0
  101. data/{test → spec}/fixtures/real/strange_syntax_1.txt +0 -0
  102. data/{test → spec}/fixtures/real/two_methods.txt +0 -0
  103. data/{test → spec}/fixtures/real/unless_problem.txt +0 -0
  104. data/spec/helper/filter_helper_spec.rb +35 -0
  105. data/spec/helper/task_helper_spec.rb +21 -0
  106. data/spec/lazibi_spec.rb +22 -0
  107. data/spec/spec_helper.rb +16 -0
  108. data/webgen/src/code/examples/migration.py.rb +10 -0
  109. data/webgen/src/code/examples/rspec.py.rb +7 -0
  110. data/webgen/src/css/blossom_base.css +172 -0
  111. data/webgen/src/css/blossom_v05.css +48 -0
  112. data/webgen/src/css/code.css +32 -0
  113. data/webgen/src/css/hack.css +13 -0
  114. data/webgen/src/css/print.css +178 -0
  115. data/webgen/src/default.template +90 -0
  116. data/webgen/src/development.page +19 -0
  117. data/webgen/src/documentation.page +44 -0
  118. data/webgen/src/faq.page +42 -0
  119. data/webgen/src/images/cover_landscape.jpg +0 -0
  120. data/webgen/src/images/example_picture03.jpg +0 -0
  121. data/webgen/src/images/example_picture04.jpg +0 -0
  122. data/webgen/src/index.page +45 -0
  123. data/webgen/src/installation.page +17 -0
  124. metadata +214 -175
  125. data/coverage/index.html +0 -476
  126. data/coverage/lib-helper-parser_helper_rb.html +0 -718
  127. data/coverage/lib-helper-task_helper_rb.html +0 -684
  128. data/coverage/lib-lazibi-version_rb.html +0 -640
  129. data/coverage/lib-lazibi_rb.html +0 -664
  130. data/coverage/lib-parser_rb.html +0 -787
  131. data/coverage/lib-task_rb.html +0 -751
  132. data/lib/helper/app_helper.rb +0 -0
  133. data/lib/helper/parser_helper.rb +0 -92
  134. data/lib/parser.rb +0 -194
  135. data/lib/vendor/beautifier.rb +0 -278
  136. data/test/test_functional.rb +0 -75
  137. data/test/test_helper.rb +0 -7
  138. data/test/test_unit.rb +0 -151
  139. data/website/index.html +0 -234
  140. data/website/index.txt +0 -135
  141. data/website/javascripts/rounded_corners_lite.inc.js +0 -285
  142. data/website/stylesheets/screen.css +0 -140
  143. data/website/template.rhtml +0 -48
@@ -1,787 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
3
- <head>
4
- <title>lib/parser.rb - C0 code coverage information</title>
5
- <style type='text/css'>body { background-color: rgb(240, 240, 245); }</style>
6
- <style type='text/css'>span.cross-ref-title {
7
- font-size: 140%;
8
- }
9
- span.cross-ref a {
10
- text-decoration: none;
11
- }
12
- span.cross-ref {
13
- background-color:#f3f7fa;
14
- border: 1px dashed #333;
15
- margin: 1em;
16
- padding: 0.5em;
17
- overflow: hidden;
18
- }
19
- a.crossref-toggle {
20
- text-decoration: none;
21
- }
22
- span.marked0 {
23
- background-color: rgb(185, 210, 200);
24
- display: block;
25
- }
26
- span.marked1 {
27
- background-color: rgb(190, 215, 205);
28
- display: block;
29
- }
30
- span.inferred0 {
31
- background-color: rgb(175, 200, 200);
32
- display: block;
33
- }
34
- span.inferred1 {
35
- background-color: rgb(180, 205, 205);
36
- display: block;
37
- }
38
- span.uncovered0 {
39
- background-color: rgb(225, 110, 110);
40
- display: block;
41
- }
42
- span.uncovered1 {
43
- background-color: rgb(235, 120, 120);
44
- display: block;
45
- }
46
- span.overview {
47
- border-bottom: 8px solid black;
48
- }
49
- div.overview {
50
- border-bottom: 8px solid black;
51
- }
52
- body {
53
- font-family: verdana, arial, helvetica;
54
- }
55
- div.footer {
56
- font-size: 68%;
57
- margin-top: 1.5em;
58
- }
59
- h1, h2, h3, h4, h5, h6 {
60
- margin-bottom: 0.5em;
61
- }
62
- h5 {
63
- margin-top: 0.5em;
64
- }
65
- .hidden {
66
- display: none;
67
- }
68
- div.separator {
69
- height: 10px;
70
- }
71
- /* Commented out for better readability, esp. on IE */
72
- /*
73
- table tr td, table tr th {
74
- font-size: 68%;
75
- }
76
- td.value table tr td {
77
- font-size: 11px;
78
- }
79
- */
80
- table.percent_graph {
81
- height: 12px;
82
- border: #808080 1px solid;
83
- empty-cells: show;
84
- }
85
- table.percent_graph td.covered {
86
- height: 10px;
87
- background: #00f000;
88
- }
89
- table.percent_graph td.uncovered {
90
- height: 10px;
91
- background: #e00000;
92
- }
93
- table.percent_graph td.NA {
94
- height: 10px;
95
- background: #eaeaea;
96
- }
97
- table.report {
98
- border-collapse: collapse;
99
- width: 100%;
100
- }
101
- table.report td.heading {
102
- background: #dcecff;
103
- border: #d0d0d0 1px solid;
104
- font-weight: bold;
105
- text-align: center;
106
- }
107
- table.report td.heading:hover {
108
- background: #c0ffc0;
109
- }
110
- table.report td.text {
111
- border: #d0d0d0 1px solid;
112
- }
113
- table.report td.value,
114
- table.report td.lines_total,
115
- table.report td.lines_code {
116
- text-align: right;
117
- border: #d0d0d0 1px solid;
118
- }
119
- table.report tr.light {
120
- background-color: rgb(240, 240, 245);
121
- }
122
- table.report tr.dark {
123
- background-color: rgb(230, 230, 235);
124
- }
125
- </style>
126
- <script type='text/javascript'>
127
- // <![CDATA[
128
- function toggleCode( id ) {
129
- if ( document.getElementById )
130
- elem = document.getElementById( id );
131
- else if ( document.all )
132
- elem = eval( "document.all." + id );
133
- else
134
- return false;
135
-
136
- elemStyle = elem.style;
137
-
138
- if ( elemStyle.display != "block" ) {
139
- elemStyle.display = "block"
140
- } else {
141
- elemStyle.display = "none"
142
- }
143
-
144
- return true;
145
- }
146
-
147
- // Make cross-references hidden by default
148
- document.writeln( "<style type=\"text/css\">span.cross-ref { display: none }</style>" )
149
- // ]]>
150
- </script>
151
- <style type='text/css'>span.run0 {
152
- background-color: rgb(178, 204, 255);
153
- display: block;
154
- }
155
- span.run1 {
156
- background-color: rgb(178, 206, 255);
157
- display: block;
158
- }
159
- span.run2 {
160
- background-color: rgb(178, 209, 255);
161
- display: block;
162
- }
163
- span.run3 {
164
- background-color: rgb(178, 211, 255);
165
- display: block;
166
- }
167
- span.run4 {
168
- background-color: rgb(178, 214, 255);
169
- display: block;
170
- }
171
- span.run5 {
172
- background-color: rgb(178, 218, 255);
173
- display: block;
174
- }
175
- span.run6 {
176
- background-color: rgb(178, 220, 255);
177
- display: block;
178
- }
179
- span.run7 {
180
- background-color: rgb(178, 223, 255);
181
- display: block;
182
- }
183
- span.run8 {
184
- background-color: rgb(178, 225, 255);
185
- display: block;
186
- }
187
- span.run9 {
188
- background-color: rgb(178, 228, 255);
189
- display: block;
190
- }
191
- span.run10 {
192
- background-color: rgb(178, 232, 255);
193
- display: block;
194
- }
195
- span.run11 {
196
- background-color: rgb(178, 234, 255);
197
- display: block;
198
- }
199
- span.run12 {
200
- background-color: rgb(178, 237, 255);
201
- display: block;
202
- }
203
- span.run13 {
204
- background-color: rgb(178, 239, 255);
205
- display: block;
206
- }
207
- span.run14 {
208
- background-color: rgb(178, 242, 255);
209
- display: block;
210
- }
211
- span.run15 {
212
- background-color: rgb(178, 246, 255);
213
- display: block;
214
- }
215
- span.run16 {
216
- background-color: rgb(178, 248, 255);
217
- display: block;
218
- }
219
- span.run17 {
220
- background-color: rgb(178, 251, 255);
221
- display: block;
222
- }
223
- span.run18 {
224
- background-color: rgb(178, 253, 255);
225
- display: block;
226
- }
227
- span.run19 {
228
- background-color: rgb(178, 255, 253);
229
- display: block;
230
- }
231
- span.run20 {
232
- background-color: rgb(178, 255, 249);
233
- display: block;
234
- }
235
- span.run21 {
236
- background-color: rgb(178, 255, 247);
237
- display: block;
238
- }
239
- span.run22 {
240
- background-color: rgb(178, 255, 244);
241
- display: block;
242
- }
243
- span.run23 {
244
- background-color: rgb(178, 255, 242);
245
- display: block;
246
- }
247
- span.run24 {
248
- background-color: rgb(178, 255, 239);
249
- display: block;
250
- }
251
- span.run25 {
252
- background-color: rgb(178, 255, 235);
253
- display: block;
254
- }
255
- span.run26 {
256
- background-color: rgb(178, 255, 233);
257
- display: block;
258
- }
259
- span.run27 {
260
- background-color: rgb(178, 255, 230);
261
- display: block;
262
- }
263
- span.run28 {
264
- background-color: rgb(178, 255, 228);
265
- display: block;
266
- }
267
- span.run29 {
268
- background-color: rgb(178, 255, 225);
269
- display: block;
270
- }
271
- span.run30 {
272
- background-color: rgb(178, 255, 221);
273
- display: block;
274
- }
275
- span.run31 {
276
- background-color: rgb(178, 255, 219);
277
- display: block;
278
- }
279
- span.run32 {
280
- background-color: rgb(178, 255, 216);
281
- display: block;
282
- }
283
- span.run33 {
284
- background-color: rgb(178, 255, 214);
285
- display: block;
286
- }
287
- span.run34 {
288
- background-color: rgb(178, 255, 211);
289
- display: block;
290
- }
291
- span.run35 {
292
- background-color: rgb(178, 255, 207);
293
- display: block;
294
- }
295
- span.run36 {
296
- background-color: rgb(178, 255, 205);
297
- display: block;
298
- }
299
- span.run37 {
300
- background-color: rgb(178, 255, 202);
301
- display: block;
302
- }
303
- span.run38 {
304
- background-color: rgb(178, 255, 200);
305
- display: block;
306
- }
307
- span.run39 {
308
- background-color: rgb(178, 255, 197);
309
- display: block;
310
- }
311
- span.run40 {
312
- background-color: rgb(178, 255, 193);
313
- display: block;
314
- }
315
- span.run41 {
316
- background-color: rgb(178, 255, 191);
317
- display: block;
318
- }
319
- span.run42 {
320
- background-color: rgb(178, 255, 188);
321
- display: block;
322
- }
323
- span.run43 {
324
- background-color: rgb(178, 255, 186);
325
- display: block;
326
- }
327
- span.run44 {
328
- background-color: rgb(178, 255, 183);
329
- display: block;
330
- }
331
- span.run45 {
332
- background-color: rgb(178, 255, 179);
333
- display: block;
334
- }
335
- span.run46 {
336
- background-color: rgb(179, 255, 178);
337
- display: block;
338
- }
339
- span.run47 {
340
- background-color: rgb(182, 255, 178);
341
- display: block;
342
- }
343
- span.run48 {
344
- background-color: rgb(184, 255, 178);
345
- display: block;
346
- }
347
- span.run49 {
348
- background-color: rgb(187, 255, 178);
349
- display: block;
350
- }
351
- span.run50 {
352
- background-color: rgb(191, 255, 178);
353
- display: block;
354
- }
355
- span.run51 {
356
- background-color: rgb(193, 255, 178);
357
- display: block;
358
- }
359
- span.run52 {
360
- background-color: rgb(196, 255, 178);
361
- display: block;
362
- }
363
- span.run53 {
364
- background-color: rgb(198, 255, 178);
365
- display: block;
366
- }
367
- span.run54 {
368
- background-color: rgb(201, 255, 178);
369
- display: block;
370
- }
371
- span.run55 {
372
- background-color: rgb(205, 255, 178);
373
- display: block;
374
- }
375
- span.run56 {
376
- background-color: rgb(207, 255, 178);
377
- display: block;
378
- }
379
- span.run57 {
380
- background-color: rgb(210, 255, 178);
381
- display: block;
382
- }
383
- span.run58 {
384
- background-color: rgb(212, 255, 178);
385
- display: block;
386
- }
387
- span.run59 {
388
- background-color: rgb(215, 255, 178);
389
- display: block;
390
- }
391
- span.run60 {
392
- background-color: rgb(219, 255, 178);
393
- display: block;
394
- }
395
- span.run61 {
396
- background-color: rgb(221, 255, 178);
397
- display: block;
398
- }
399
- span.run62 {
400
- background-color: rgb(224, 255, 178);
401
- display: block;
402
- }
403
- span.run63 {
404
- background-color: rgb(226, 255, 178);
405
- display: block;
406
- }
407
- span.run64 {
408
- background-color: rgb(229, 255, 178);
409
- display: block;
410
- }
411
- span.run65 {
412
- background-color: rgb(233, 255, 178);
413
- display: block;
414
- }
415
- span.run66 {
416
- background-color: rgb(235, 255, 178);
417
- display: block;
418
- }
419
- span.run67 {
420
- background-color: rgb(238, 255, 178);
421
- display: block;
422
- }
423
- span.run68 {
424
- background-color: rgb(240, 255, 178);
425
- display: block;
426
- }
427
- span.run69 {
428
- background-color: rgb(243, 255, 178);
429
- display: block;
430
- }
431
- span.run70 {
432
- background-color: rgb(247, 255, 178);
433
- display: block;
434
- }
435
- span.run71 {
436
- background-color: rgb(249, 255, 178);
437
- display: block;
438
- }
439
- span.run72 {
440
- background-color: rgb(252, 255, 178);
441
- display: block;
442
- }
443
- span.run73 {
444
- background-color: rgb(255, 255, 178);
445
- display: block;
446
- }
447
- span.run74 {
448
- background-color: rgb(255, 252, 178);
449
- display: block;
450
- }
451
- span.run75 {
452
- background-color: rgb(255, 248, 178);
453
- display: block;
454
- }
455
- span.run76 {
456
- background-color: rgb(255, 246, 178);
457
- display: block;
458
- }
459
- span.run77 {
460
- background-color: rgb(255, 243, 178);
461
- display: block;
462
- }
463
- span.run78 {
464
- background-color: rgb(255, 240, 178);
465
- display: block;
466
- }
467
- span.run79 {
468
- background-color: rgb(255, 238, 178);
469
- display: block;
470
- }
471
- span.run80 {
472
- background-color: rgb(255, 234, 178);
473
- display: block;
474
- }
475
- span.run81 {
476
- background-color: rgb(255, 232, 178);
477
- display: block;
478
- }
479
- span.run82 {
480
- background-color: rgb(255, 229, 178);
481
- display: block;
482
- }
483
- span.run83 {
484
- background-color: rgb(255, 226, 178);
485
- display: block;
486
- }
487
- span.run84 {
488
- background-color: rgb(255, 224, 178);
489
- display: block;
490
- }
491
- span.run85 {
492
- background-color: rgb(255, 220, 178);
493
- display: block;
494
- }
495
- span.run86 {
496
- background-color: rgb(255, 218, 178);
497
- display: block;
498
- }
499
- span.run87 {
500
- background-color: rgb(255, 215, 178);
501
- display: block;
502
- }
503
- span.run88 {
504
- background-color: rgb(255, 212, 178);
505
- display: block;
506
- }
507
- span.run89 {
508
- background-color: rgb(255, 210, 178);
509
- display: block;
510
- }
511
- span.run90 {
512
- background-color: rgb(255, 206, 178);
513
- display: block;
514
- }
515
- span.run91 {
516
- background-color: rgb(255, 204, 178);
517
- display: block;
518
- }
519
- span.run92 {
520
- background-color: rgb(255, 201, 178);
521
- display: block;
522
- }
523
- span.run93 {
524
- background-color: rgb(255, 198, 178);
525
- display: block;
526
- }
527
- span.run94 {
528
- background-color: rgb(255, 196, 178);
529
- display: block;
530
- }
531
- span.run95 {
532
- background-color: rgb(255, 192, 178);
533
- display: block;
534
- }
535
- span.run96 {
536
- background-color: rgb(255, 189, 178);
537
- display: block;
538
- }
539
- span.run97 {
540
- background-color: rgb(255, 187, 178);
541
- display: block;
542
- }
543
- span.run98 {
544
- background-color: rgb(255, 184, 178);
545
- display: block;
546
- }
547
- span.run99 {
548
- background-color: rgb(255, 182, 178);
549
- display: block;
550
- }
551
- span.run100 {
552
- background-color: rgb(255, 178, 178);
553
- display: block;
554
- }
555
- </style>
556
- </head>
557
- <body>
558
- <h3>C0 code coverage information</h3>
559
- <p>Generated on Wed Jun 20 18:49:37 +0800 2007 with <a href='http://eigenclass.org/hiki.rb?rcov'>rcov 0.8.0</a>
560
- </p>
561
- <hr /><pre><span class='marked0'>Code reported as executed by Ruby looks like this...
562
- </span><span class='marked1'>and this: this line is also marked as covered.
563
- </span><span class='inferred0'>Lines considered as run by rcov, but not reported by Ruby, look like this,
564
- </span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).
565
- </span><span class='uncovered0'>Finally, here&apos;s a line marked as not executed.
566
- </span></pre>
567
- <table class='report'>
568
- <thead>
569
- <tr>
570
- <td class='heading'>Name</td>
571
- <td class='heading'>Total lines</td>
572
- <td class='heading'>Lines of code</td>
573
- <td class='heading'>Total coverage</td>
574
- <td class='heading'>Code coverage</td>
575
- </tr>
576
- </thead>
577
- <tbody>
578
- <tr class='light'>
579
- <td>
580
- <a href='lib-parser_rb.html'>lib/parser.rb</a>
581
- </td>
582
- <td class='lines_total'>
583
- <tt>156</tt>
584
- </td>
585
- <td class='lines_code'>
586
- <tt>129</tt>
587
- </td>
588
- <td>
589
- <table cellspacing='0' cellpadding='0' align='right'>
590
- <tr>
591
- <td>
592
- <tt class='coverage_total'>92.3%</tt>&nbsp;</td>
593
- <td>
594
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
595
- <tr>
596
- <td class='covered' width='92' />
597
- <td class='uncovered' width='8' />
598
- </tr>
599
- </table>
600
- </td>
601
- </tr>
602
- </table>
603
- </td>
604
- <td>
605
- <table cellspacing='0' cellpadding='0' align='right'>
606
- <tr>
607
- <td>
608
- <tt class='coverage_code'>90.7%</tt>&nbsp;</td>
609
- <td>
610
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
611
- <tr>
612
- <td class='covered' width='91' />
613
- <td class='uncovered' width='9' />
614
- </tr>
615
- </table>
616
- </td>
617
- </tr>
618
- </table>
619
- </td>
620
- </tr>
621
- </tbody>
622
- </table><pre><span class="marked1"><a name="line1" /> 1 $:.unshift(File.dirname(__FILE__) + '/helper')
623
- </span><span class="inferred0"><a name="line2" /> 2
624
- </span><span class="marked1"><a name="line3" /> 3 require 'parser_helper'
625
- </span><span class="inferred0"><a name="line4" /> 4
626
- </span><span class="marked1"><a name="line5" /> 5 module Lazibi
627
- </span><span class="marked0"><a name="line6" /> 6 module Parser
628
- </span><span class="marked1"><a name="line7" /> 7 include ParserHelper
629
- </span><span class="inferred0"><a name="line8" /> 8
630
- </span><span class="marked1"><a name="line9" /> 9 def to_py( rb, filters = [] )
631
- </span><span class="marked0"><a name="line10" /> 10 py = []
632
- </span><span class="marked1"><a name="line11" /> 11 lines = rb.split(&quot;\n&quot;)
633
- </span><span class="marked0"><a name="line12" /> 12 lines.each_index do |index|
634
- </span><span class="marked1"><a name="line13" /> 13 l = filter_for_to_py(lines, index, filters)
635
- </span><span class="marked0"><a name="line14" /> 14 if l.strip =~ /^end$/
636
- </span><span class="marked1"><a name="line15" /> 15 next
637
- </span><span class="inferred0"><a name="line16" /> 16 end
638
- </span><span class="marked1"><a name="line17" /> 17 s = l
639
- </span><span class="marked0"><a name="line18" /> 18 if l.rstrip[-4..-1] == ' end'
640
- </span><span class="marked1"><a name="line19" /> 19 s = l.rstrip[0...-3].rstrip
641
- </span><span class="inferred0"><a name="line20" /> 20 end
642
- </span><span class="inferred1"><a name="line21" /> 21
643
- </span><span class="marked0"><a name="line22" /> 22 py &lt;&lt; s
644
- </span><span class="inferred1"><a name="line23" /> 23 end
645
- </span><span class="inferred0"><a name="line24" /> 24
646
- </span><span class="marked1"><a name="line25" /> 25 py.join(&quot;\n&quot;)
647
- </span><span class="inferred0"><a name="line26" /> 26 end
648
- </span><span class="inferred1"><a name="line27" /> 27
649
- </span><span class="inferred0"><a name="line28" /> 28
650
- </span><span class="marked1"><a name="line29" /> 29 def to_rb( content, filters = [] )
651
- </span><span class="marked0"><a name="line30" /> 30 return '' if content.strip == ''
652
- </span><span class="marked1"><a name="line31" /> 31 lines = content.split(&quot;\n&quot;)
653
- </span><span class="marked0"><a name="line32" /> 32 first_line = lines.first.strip
654
- </span><span class="marked1"><a name="line33" /> 33 return lines[1..-1].join(&quot;\n&quot;) if first_line == '#skip_parse'
655
- </span><span class="marked0"><a name="line34" /> 34 insert_end content, filters
656
- </span><span class="inferred1"><a name="line35" /> 35 end
657
- </span><span class="inferred0"><a name="line36" /> 36
658
- </span><span class="inferred1"><a name="line37" /> 37
659
- </span><span class="inferred0"><a name="line38" /> 38 # private
660
- </span><span class="inferred1"><a name="line39" /> 39
661
- </span><span class="marked0"><a name="line40" /> 40 def insert_end( content, filters )
662
- </span><span class="marked1"><a name="line41" /> 41 @lines = content.split(&quot;\n&quot;)
663
- </span><span class="marked0"><a name="line42" /> 42 progress = 0
664
- </span><span class="marked1"><a name="line43" /> 43 while progress &lt; @lines.size
665
- </span><span class="marked0"><a name="line44" /> 44 lines = @lines[progress..-1]
666
- </span><span class="marked1"><a name="line45" /> 45 lines.each_index do |index|
667
- </span><span class="inferred0"><a name="line46" /> 46 # run through filters
668
- </span><span class="marked1"><a name="line47" /> 47 l = filter_for_to_rb(lines, index, filters)
669
- </span><span class="inferred0"><a name="line48" /> 48
670
- </span><span class="marked1"><a name="line49" /> 49 if start_anchor?(get_rest(l))
671
- </span><span class="marked0"><a name="line50" /> 50 relative_index_for_end = find_end( lines[index..-1], get_indent(l))
672
- </span><span class="marked1"><a name="line51" /> 51 unless relative_index_for_end
673
- </span><span class="uncovered0"><a name="line52" /> 52 progress += 1
674
- </span><span class="uncovered1"><a name="line53" /> 53 break
675
- </span><span class="uncovered0"><a name="line54" /> 54 end
676
- </span><span class="marked1"><a name="line55" /> 55 index_for_end = relative_index_for_end + index
677
- </span><span class="marked0"><a name="line56" /> 56 lines[index_for_end] = lines[index_for_end] + &quot;\n&quot; + ' ' * get_indent(l) + &quot;end&quot;
678
- </span><span class="marked1"><a name="line57" /> 57 head = @lines[0...progress]
679
- </span><span class="marked0"><a name="line58" /> 58 tail = lines[index..-1].join(&quot;\n&quot;).split(&quot;\n&quot;)
680
- </span><span class="marked1"><a name="line59" /> 59 @lines = head + tail
681
- </span><span class="marked0"><a name="line60" /> 60 progress += 1
682
- </span><span class="marked1"><a name="line61" /> 61 break
683
- </span><span class="inferred0"><a name="line62" /> 62 end
684
- </span><span class="marked1"><a name="line63" /> 63 progress += 1
685
- </span><span class="inferred0"><a name="line64" /> 64 end
686
- </span><span class="inferred1"><a name="line65" /> 65 end
687
- </span><span class="inferred0"><a name="line66" /> 66
688
- </span><span class="marked1"><a name="line67" /> 67 result = @lines.join(&quot;\n&quot;)
689
- </span><span class="inferred0"><a name="line68" /> 68 end
690
- </span><span class="inferred1"><a name="line69" /> 69
691
- </span><span class="marked0"><a name="line70" /> 70 def find_end( lines, indent )
692
- </span><span class="marked1"><a name="line71" /> 71 return 0 if lines.size == 1
693
- </span><span class="inferred0"><a name="line72" /> 72
694
- </span><span class="marked1"><a name="line73" /> 73 anchor = 0
695
- </span><span class="inferred0"><a name="line74" /> 74
696
- </span><span class="marked1"><a name="line75" /> 75 lines = lines[1..-1]
697
- </span><span class="marked0"><a name="line76" /> 76 lines.each_index do |i|
698
- </span><span class="marked1"><a name="line77" /> 77 l = lines[i]
699
- </span><span class="marked0"><a name="line78" /> 78 next if l.strip == ''
700
- </span><span class="marked1"><a name="line79" /> 79 if l.strip =~ /^#/
701
- </span><span class="marked0"><a name="line80" /> 80 if get_indent(l) &gt; indent
702
- </span><span class="marked1"><a name="line81" /> 81 anchor = i + 1
703
- </span><span class="inferred0"><a name="line82" /> 82 end
704
- </span><span class="marked1"><a name="line83" /> 83 next
705
- </span><span class="inferred0"><a name="line84" /> 84 end
706
- </span><span class="marked1"><a name="line85" /> 85 return anchor if get_indent(l) &lt; indent
707
- </span><span class="marked0"><a name="line86" /> 86 if get_indent(l) == indent
708
- </span><span class="marked1"><a name="line87" /> 87 rest = get_rest l
709
- </span><span class="marked0"><a name="line88" /> 88 if start_anchor? rest
710
- </span><span class="marked1"><a name="line89" /> 89 return anchor
711
- </span><span class="marked0"><a name="line90" /> 90 elsif end_anchor? rest
712
- </span><span class="uncovered1"><a name="line91" /> 91 return false
713
- </span><span class="marked0"><a name="line92" /> 92 elsif middle_anchor? rest
714
- </span><span class="marked1"><a name="line93" /> 93 anchor = i + 1
715
- </span><span class="marked0"><a name="line94" /> 94 next
716
- </span><span class="uncovered1"><a name="line95" /> 95 else
717
- </span><span class="uncovered0"><a name="line96" /> 96 return anchor
718
- </span><span class="uncovered1"><a name="line97" /> 97 end
719
- </span><span class="uncovered0"><a name="line98" /> 98 end
720
- </span><span class="marked1"><a name="line99" /> 99 anchor = i + 1
721
- </span><span class="inferred0"><a name="line100" />100 end
722
- </span><span class="marked1"><a name="line101" />101 return anchor
723
- </span><span class="inferred0"><a name="line102" />102 end
724
- </span><span class="inferred1"><a name="line103" />103
725
- </span><span class="marked0"><a name="line104" />104 def filter_for_to_rb(lines, index, filters)
726
- </span><span class="marked1"><a name="line105" />105 l = lines[index]
727
- </span><span class="marked0"><a name="line106" />106 if filters.include?( :optional_do )
728
- </span><span class="marked1"><a name="line107" />107 l = optional_do_filter_to_rb(lines, index)
729
- </span><span class="inferred0"><a name="line108" />108 end
730
- </span><span class="inferred1"><a name="line109" />109
731
- </span><span class="inferred0"><a name="line110" />110 # destructive behaviour
732
- </span><span class="marked1"><a name="line111" />111 lines[index] = l
733
- </span><span class="marked0"><a name="line112" />112 l
734
- </span><span class="inferred1"><a name="line113" />113 end
735
- </span><span class="inferred0"><a name="line114" />114
736
- </span><span class="marked1"><a name="line115" />115 def optional_do_filter_to_rb(lines, index)
737
- </span><span class="marked0"><a name="line116" />116 l = lines[index]
738
- </span><span class="marked1"><a name="line117" />117 return l if l.strip == ''
739
- </span><span class="marked0"><a name="line118" />118 rest = get_rest l
740
- </span><span class="marked1"><a name="line119" />119 return l if start_anchor?(rest) || middle_anchor?(rest) || end_anchor?(rest)
741
- </span><span class="inferred0"><a name="line120" />120
742
- </span><span class="marked1"><a name="line121" />121 l_check = clean_line l
743
- </span><span class="marked0"><a name="line122" />122 return l if nasty_line?(l_check)
744
- </span><span class="marked1"><a name="line123" />123 next_line = index + 1 &lt; lines.size ? lines[index+1] : nil
745
- </span><span class="marked0"><a name="line124" />124 return l unless next_line
746
- </span><span class="marked1"><a name="line125" />125 if get_indent(next_line) &gt; get_indent(l)
747
- </span><span class="marked0"><a name="line126" />126 return l.rstrip + ' do'
748
- </span><span class="inferred1"><a name="line127" />127 else
749
- </span><span class="marked0"><a name="line128" />128 return l
750
- </span><span class="inferred1"><a name="line129" />129 end
751
- </span><span class="inferred0"><a name="line130" />130 end
752
- </span><span class="inferred1"><a name="line131" />131
753
- </span><span class="inferred0"><a name="line132" />132
754
- </span><span class="marked1"><a name="line133" />133 def filter_for_to_py(lines, index, filters)
755
- </span><span class="marked0"><a name="line134" />134 l = lines[index]
756
- </span><span class="marked1"><a name="line135" />135 if filters.include?( :optional_do )
757
- </span><span class="marked0"><a name="line136" />136 l = optional_do_filter_to_py( lines, index )
758
- </span><span class="inferred1"><a name="line137" />137 end
759
- </span><span class="inferred0"><a name="line138" />138
760
- </span><span class="inferred1"><a name="line139" />139 # destructive behaviour
761
- </span><span class="marked0"><a name="line140" />140 lines[index] = l
762
- </span><span class="marked1"><a name="line141" />141 l
763
- </span><span class="inferred0"><a name="line142" />142 end
764
- </span><span class="inferred1"><a name="line143" />143
765
- </span><span class="marked0"><a name="line144" />144 def optional_do_filter_to_py(lines, index)
766
- </span><span class="marked1"><a name="line145" />145 l = lines[index]
767
- </span><span class="marked0"><a name="line146" />146 return l if l.strip == ''
768
- </span><span class="marked1"><a name="line147" />147 return l if l.strip[0..0] == '#'
769
- </span><span class="marked0"><a name="line148" />148 l_check = clean_line(l).strip
770
- </span><span class="marked1"><a name="line149" />149 if l_check.size &gt; 2 &amp;&amp; l.strip[-3..-1] == ' do' &amp;&amp; !nasty_line?(l_check)
771
- </span><span class="marked0"><a name="line150" />150 l = l.rstrip[0...-3].rstrip
772
- </span><span class="marked1"><a name="line151" />151 return l
773
- </span><span class="inferred0"><a name="line152" />152 end
774
- </span><span class="uncovered1"><a name="line153" />153 return l
775
- </span><span class="uncovered0"><a name="line154" />154 end
776
- </span><span class="uncovered1"><a name="line155" />155 end
777
- </span><span class="uncovered0"><a name="line156" />156 end
778
- </span></pre><hr /> <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a> version 0.8.0.</p><p>
779
- <a href='http://validator.w3.org/check/referer'>
780
- <img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88' />
781
- </a>
782
- <a href='http://jigsaw.w3.org/css-validator/check/referer'>
783
- <img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px' />
784
- </a>
785
- </p>
786
- </body>
787
- </html>