rspec-steps 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. data/doc/README +109 -25
  2. metadata +10 -240
  3. data/doc/coverage/index.html +0 -154
  4. data/doc/coverage/jquery-1.3.2.min.js +0 -19
  5. data/doc/coverage/jquery.tablesorter.min.js +0 -15
  6. data/doc/coverage/lib-rspec-steps-duckpunch-example-group_rb.html +0 -129
  7. data/doc/coverage/lib-rspec-steps-duckpunch-object-extensions_rb.html +0 -123
  8. data/doc/coverage/lib-rspec-steps-stepwise_rb.html +0 -297
  9. data/doc/coverage/lib-rspec-steps_rb.html +0 -81
  10. data/doc/coverage/print.css +0 -12
  11. data/doc/coverage/rcov-ruby-1_8-gems-diff-lcs-1_1_2-lib-diff-lcs-block_rb.html +0 -369
  12. data/doc/coverage/rcov-ruby-1_8-gems-diff-lcs-1_1_2-lib-diff-lcs-callbacks_rb.html +0 -1995
  13. data/doc/coverage/rcov-ruby-1_8-gems-diff-lcs-1_1_2-lib-diff-lcs-change_rb.html +0 -1077
  14. data/doc/coverage/rcov-ruby-1_8-gems-diff-lcs-1_1_2-lib-diff-lcs-hunk_rb.html +0 -1605
  15. data/doc/coverage/rcov-ruby-1_8-gems-diff-lcs-1_1_2-lib-diff-lcs_rb.html +0 -6693
  16. data/doc/coverage/rcov-ruby-1_8-gems-rcov-0_9_9-lib-rcov-code_coverage_analyzer_rb.html +0 -1689
  17. data/doc/coverage/rcov-ruby-1_8-gems-rcov-0_9_9-lib-rcov-differential_analyzer_rb.html +0 -759
  18. data/doc/coverage/rcov-ruby-1_8-gems-rspec-2_5_0-lib-rspec-version_rb.html +0 -93
  19. data/doc/coverage/rcov-ruby-1_8-gems-rspec-2_5_0-lib-rspec_rb.html +0 -87
  20. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-backward_compatibility_rb.html +0 -351
  21. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-command_line_configuration_rb.html +0 -435
  22. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-command_line_rb.html +0 -273
  23. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-configuration_options_rb.html +0 -819
  24. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-configuration_rb.html +0 -2883
  25. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-deprecation_rb.html +0 -333
  26. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-drb_command_line_rb.html +0 -237
  27. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-errors_rb.html +0 -147
  28. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-example_group_rb.html +0 -1863
  29. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-example_rb.html +0 -1065
  30. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-expecting-with_rspec_rb.html +0 -129
  31. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-extensions-instance_eval_with_args_rb.html +0 -297
  32. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-extensions-kernel_rb.html +0 -93
  33. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-extensions-module_eval_with_args_rb.html +0 -267
  34. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-extensions-object_rb.html +0 -147
  35. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-extensions_rb.html +0 -87
  36. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-formatters-base_formatter_rb.html +0 -1035
  37. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-formatters-base_text_formatter_rb.html +0 -1053
  38. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-formatters-documentation_formatter_rb.html +0 -489
  39. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-formatters-helpers_rb.html +0 -231
  40. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-hooks_rb.html +0 -957
  41. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-let_rb.html +0 -669
  42. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-load_path_rb.html +0 -81
  43. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-metadata_rb.html +0 -1185
  44. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-mocking-with_rspec_rb.html +0 -189
  45. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-option_parser_rb.html +0 -855
  46. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-pending_rb.html +0 -243
  47. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-reporter_rb.html +0 -537
  48. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-ruby_project_rb.html +0 -327
  49. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-runner_rb.html +0 -429
  50. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-shared_context_rb.html +0 -159
  51. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-shared_example_group_rb.html +0 -381
  52. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-subject_rb.html +0 -1125
  53. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-version_rb.html +0 -105
  54. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-world_rb.html +0 -675
  55. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core_rb.html +0 -453
  56. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-monkey-spork-test_framework-rspec_rb.html +0 -105
  57. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-monkey_rb.html +0 -69
  58. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-backward_compatibility_rb.html +0 -159
  59. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-deprecation_rb.html +0 -279
  60. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-differ_rb.html +0 -435
  61. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-errors_rb.html +0 -135
  62. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-extensions-array_rb.html +0 -105
  63. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-extensions-kernel_rb.html +0 -375
  64. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-extensions_rb.html +0 -75
  65. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-fail_with_rb.html +0 -369
  66. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-handler_rb.html +0 -363
  67. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-version_rb.html +0 -105
  68. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations_rb.html +0 -297
  69. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-be_close_rb.html +0 -165
  70. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-be_instance_of_rb.html +0 -219
  71. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-be_kind_of_rb.html +0 -219
  72. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-be_rb.html +0 -1395
  73. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-be_within_rb.html +0 -303
  74. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-block_aliases_rb.html +0 -177
  75. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-change_rb.html +0 -1203
  76. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-compatibility_rb.html +0 -147
  77. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-dsl_rb.html +0 -189
  78. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-eq_rb.html +0 -363
  79. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-eql_rb.html +0 -333
  80. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-equal_rb.html +0 -381
  81. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-errors_rb.html +0 -93
  82. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-exist_rb.html +0 -219
  83. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-extensions-instance_exec_rb.html +0 -249
  84. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-generated_descriptions_rb.html +0 -279
  85. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-has_rb.html +0 -273
  86. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-have_rb.html +0 -969
  87. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-include_rb.html +0 -387
  88. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-match_array_rb.html +0 -489
  89. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-match_rb.html +0 -189
  90. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-matcher_rb.html +0 -1029
  91. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-method_missing_rb.html +0 -135
  92. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-operator_matcher_rb.html +0 -585
  93. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-pretty_rb.html +0 -285
  94. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-raise_error_rb.html +0 -843
  95. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-respond_to_rb.html +0 -573
  96. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-satisfy_rb.html +0 -369
  97. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-throw_symbol_rb.html +0 -789
  98. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers_rb.html +0 -1239
  99. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-argument_expectation_rb.html +0 -381
  100. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-argument_matchers_rb.html +0 -1461
  101. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-error_generator_rb.html +0 -645
  102. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-errors_rb.html +0 -123
  103. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-extensions-instance_exec_rb.html +0 -249
  104. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-extensions-marshal_rb.html +0 -225
  105. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-framework_rb.html +0 -165
  106. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-message_expectation_rb.html +0 -2169
  107. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-method_double_rb.html +0 -1053
  108. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-methods_rb.html +0 -663
  109. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-mock_rb.html +0 -537
  110. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-order_group_rb.html +0 -237
  111. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-proxy_rb.html +0 -1011
  112. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-serialization_rb.html +0 -219
  113. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-space_rb.html +0 -231
  114. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-spec_methods_rb.html +0 -381
  115. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-version_rb.html +0 -105
  116. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks_rb.html +0 -1239
  117. data/doc/coverage/rcov.js +0 -42
  118. data/doc/coverage/screen.css +0 -270
@@ -1,1689 +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>rcov/ruby/1.8/gems/rcov-0.9.9/lib/rcov/code_coverage_analyzer.rb</title>
5
- <link href="screen.css" media="all" rel="stylesheet" type="text/css" />
6
- <link href="print.css" media="print" rel="stylesheet" type="text/css" />
7
-
8
- <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
9
- <script type="text/javascript" src="rcov.js"></script>
10
- </head>
11
- <body>
12
- <h1>Rspec Steps C0 Coverage Information - RCov</h1>
13
- <h2>rcov/ruby/1.8/gems/rcov-0.9.9/lib/rcov/code_coverage_analyzer.rb</h2>
14
-
15
-
16
-
17
- <div class="report_table_wrapper">
18
- <table class='report' id='report_table'>
19
- <thead>
20
- <tr>
21
- <th class="left_align">Name</th>
22
- <th class="right_align">Total Lines</th>
23
- <th class="right_align">Lines of Code</th>
24
- <th class="left_align">Total Coverage</th>
25
- <th class="left_align">Code Coverage</th>
26
- </tr>
27
- </thead>
28
- <tbody>
29
- <tr>
30
- <td class="left_align"><a href="rcov-ruby-1_8-gems-rcov-0_9_9-lib-rcov-code_coverage_analyzer_rb.html">rcov/ruby/1.8/gems/rcov-0.9.9/lib/rcov/code_coverage_analyzer.rb</a></td>
31
- <td class='right_align'><tt>271</tt></td>
32
- <td class='right_align'><tt>156</tt></td>
33
- <td class="left_align"><div class="percent_graph_legend"><tt class=''>7.01%</tt></div>
34
- <div class="percent_graph">
35
- <div class="covered" style="width:7px"></div>
36
- <div class="uncovered" style="width:93px"></div>
37
- </div></td>
38
- <td class="left_align"><div class="percent_graph_legend"><tt class=''>5.13%</tt></div>
39
- <div class="percent_graph">
40
- <div class="covered" style="width:5px"></div>
41
- <div class="uncovered" style="width:95px"></div>
42
- </div></td>
43
- </tr>
44
- </tbody>
45
- </table>
46
- </div>
47
-
48
- <h3>Key</h3>
49
-
50
- <div class="key"><pre><span class='marked'>Code reported as executed by Ruby looks like this...</span><span class='marked1'>and this: this line is also marked as covered.</span><span class='inferred'>Lines considered as run by rcov, but not reported by Ruby, look like this,</span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).</span><span class='uncovered'>Finally, here's a line marked as not executed.</span></pre></div>
51
-
52
- <h3>Coverage Details</h3>
53
-
54
- <table class="details">
55
- <tbody>
56
-
57
-
58
-
59
- <tr class="uncovered">
60
- <td><pre><a name="line1">1</a> module Rcov</pre></td>
61
- </tr>
62
-
63
-
64
-
65
- <tr class="uncovered">
66
- <td><pre><a name="line2">2</a> # A CodeCoverageAnalyzer is responsible for tracing code execution and</pre></td>
67
- </tr>
68
-
69
-
70
-
71
- <tr class="uncovered">
72
- <td><pre><a name="line3">3</a> # returning code coverage and execution count information.</pre></td>
73
- </tr>
74
-
75
-
76
-
77
- <tr class="uncovered">
78
- <td><pre><a name="line4">4</a> #</pre></td>
79
- </tr>
80
-
81
-
82
-
83
- <tr class="uncovered">
84
- <td><pre><a name="line5">5</a> # Note that you must &lt;tt&gt;require 'rcov'&lt;/tt&gt; before the code you want to</pre></td>
85
- </tr>
86
-
87
-
88
-
89
- <tr class="uncovered">
90
- <td><pre><a name="line6">6</a> # analyze is parsed (i.e. before it gets loaded or required). You can do that</pre></td>
91
- </tr>
92
-
93
-
94
-
95
- <tr class="uncovered">
96
- <td><pre><a name="line7">7</a> # by either invoking ruby with the &lt;tt&gt;-rrcov&lt;/tt&gt; command-line option or</pre></td>
97
- </tr>
98
-
99
-
100
-
101
- <tr class="uncovered">
102
- <td><pre><a name="line8">8</a> # just:</pre></td>
103
- </tr>
104
-
105
-
106
-
107
- <tr class="uncovered">
108
- <td><pre><a name="line9">9</a> # require 'rcov'</pre></td>
109
- </tr>
110
-
111
-
112
-
113
- <tr class="uncovered">
114
- <td><pre><a name="line10">10</a> # require 'mycode'</pre></td>
115
- </tr>
116
-
117
-
118
-
119
- <tr class="uncovered">
120
- <td><pre><a name="line11">11</a> # # ....</pre></td>
121
- </tr>
122
-
123
-
124
-
125
- <tr class="uncovered">
126
- <td><pre><a name="line12">12</a> #</pre></td>
127
- </tr>
128
-
129
-
130
-
131
- <tr class="uncovered">
132
- <td><pre><a name="line13">13</a> # == Example</pre></td>
133
- </tr>
134
-
135
-
136
-
137
- <tr class="uncovered">
138
- <td><pre><a name="line14">14</a> #</pre></td>
139
- </tr>
140
-
141
-
142
-
143
- <tr class="uncovered">
144
- <td><pre><a name="line15">15</a> # analyzer = Rcov::CodeCoverageAnalyzer.new</pre></td>
145
- </tr>
146
-
147
-
148
-
149
- <tr class="uncovered">
150
- <td><pre><a name="line16">16</a> # analyzer.run_hooked do </pre></td>
151
- </tr>
152
-
153
-
154
-
155
- <tr class="uncovered">
156
- <td><pre><a name="line17">17</a> # do_foo </pre></td>
157
- </tr>
158
-
159
-
160
-
161
- <tr class="uncovered">
162
- <td><pre><a name="line18">18</a> # # all the code executed as a result of this method call is traced</pre></td>
163
- </tr>
164
-
165
-
166
-
167
- <tr class="uncovered">
168
- <td><pre><a name="line19">19</a> # end</pre></td>
169
- </tr>
170
-
171
-
172
-
173
- <tr class="uncovered">
174
- <td><pre><a name="line20">20</a> # # ....</pre></td>
175
- </tr>
176
-
177
-
178
-
179
- <tr class="uncovered">
180
- <td><pre><a name="line21">21</a> # </pre></td>
181
- </tr>
182
-
183
-
184
-
185
- <tr class="uncovered">
186
- <td><pre><a name="line22">22</a> # analyzer.run_hooked do </pre></td>
187
- </tr>
188
-
189
-
190
-
191
- <tr class="uncovered">
192
- <td><pre><a name="line23">23</a> # do_bar</pre></td>
193
- </tr>
194
-
195
-
196
-
197
- <tr class="uncovered">
198
- <td><pre><a name="line24">24</a> # # the code coverage information generated in this run is aggregated</pre></td>
199
- </tr>
200
-
201
-
202
-
203
- <tr class="uncovered">
204
- <td><pre><a name="line25">25</a> # # to the previously recorded one</pre></td>
205
- </tr>
206
-
207
-
208
-
209
- <tr class="uncovered">
210
- <td><pre><a name="line26">26</a> # end</pre></td>
211
- </tr>
212
-
213
-
214
-
215
- <tr class="uncovered">
216
- <td><pre><a name="line27">27</a> #</pre></td>
217
- </tr>
218
-
219
-
220
-
221
- <tr class="uncovered">
222
- <td><pre><a name="line28">28</a> # analyzer.analyzed_files # =&gt; [&quot;foo.rb&quot;, &quot;bar.rb&quot;, ... ]</pre></td>
223
- </tr>
224
-
225
-
226
-
227
- <tr class="uncovered">
228
- <td><pre><a name="line29">29</a> # lines, marked_info, count_info = analyzer.data(&quot;foo.rb&quot;)</pre></td>
229
- </tr>
230
-
231
-
232
-
233
- <tr class="uncovered">
234
- <td><pre><a name="line30">30</a> #</pre></td>
235
- </tr>
236
-
237
-
238
-
239
- <tr class="uncovered">
240
- <td><pre><a name="line31">31</a> # In this example, two pieces of code are monitored, and the data generated in</pre></td>
241
- </tr>
242
-
243
-
244
-
245
- <tr class="uncovered">
246
- <td><pre><a name="line32">32</a> # both runs are aggregated. +lines+ is an array of strings representing the </pre></td>
247
- </tr>
248
-
249
-
250
-
251
- <tr class="uncovered">
252
- <td><pre><a name="line33">33</a> # source code of &lt;tt&gt;foo.rb&lt;/tt&gt;. +marked_info+ is an array holding false,</pre></td>
253
- </tr>
254
-
255
-
256
-
257
- <tr class="uncovered">
258
- <td><pre><a name="line34">34</a> # true values indicating whether the corresponding lines of code were reported</pre></td>
259
- </tr>
260
-
261
-
262
-
263
- <tr class="uncovered">
264
- <td><pre><a name="line35">35</a> # as executed by Ruby. +count_info+ is an array of integers representing how</pre></td>
265
- </tr>
266
-
267
-
268
-
269
- <tr class="uncovered">
270
- <td><pre><a name="line36">36</a> # many times each line of code has been executed (more precisely, how many</pre></td>
271
- </tr>
272
-
273
-
274
-
275
- <tr class="uncovered">
276
- <td><pre><a name="line37">37</a> # events where reported by Ruby --- a single line might correspond to several</pre></td>
277
- </tr>
278
-
279
-
280
-
281
- <tr class="uncovered">
282
- <td><pre><a name="line38">38</a> # events, e.g. many method calls).</pre></td>
283
- </tr>
284
-
285
-
286
-
287
- <tr class="uncovered">
288
- <td><pre><a name="line39">39</a> #</pre></td>
289
- </tr>
290
-
291
-
292
-
293
- <tr class="uncovered">
294
- <td><pre><a name="line40">40</a> # You can have several CodeCoverageAnalyzer objects at a time, and it is</pre></td>
295
- </tr>
296
-
297
-
298
-
299
- <tr class="uncovered">
300
- <td><pre><a name="line41">41</a> # possible to nest the #run_hooked / #install_hook/#remove_hook blocks: each</pre></td>
301
- </tr>
302
-
303
-
304
-
305
- <tr class="uncovered">
306
- <td><pre><a name="line42">42</a> # analyzer will manage its data separately. Note however that no special</pre></td>
307
- </tr>
308
-
309
-
310
-
311
- <tr class="uncovered">
312
- <td><pre><a name="line43">43</a> # provision is taken to ignore code executed &quot;inside&quot; the CodeCoverageAnalyzer</pre></td>
313
- </tr>
314
-
315
-
316
-
317
- <tr class="uncovered">
318
- <td><pre><a name="line44">44</a> # class. At any rate this will not pose a problem since it's easy to ignore it</pre></td>
319
- </tr>
320
-
321
-
322
-
323
- <tr class="uncovered">
324
- <td><pre><a name="line45">45</a> # manually: just don't do</pre></td>
325
- </tr>
326
-
327
-
328
-
329
- <tr class="uncovered">
330
- <td><pre><a name="line46">46</a> # lines, coverage, counts = analyzer.data(&quot;/path/to/lib/rcov.rb&quot;)</pre></td>
331
- </tr>
332
-
333
-
334
-
335
- <tr class="uncovered">
336
- <td><pre><a name="line47">47</a> # if you're not interested in that information.</pre></td>
337
- </tr>
338
-
339
-
340
-
341
- <tr class="uncovered">
342
- <td><pre><a name="line48">48</a> class CodeCoverageAnalyzer &lt; DifferentialAnalyzer</pre></td>
343
- </tr>
344
-
345
-
346
-
347
- <tr class="uncovered">
348
- <td><pre><a name="line49">49</a> @hook_level = 0</pre></td>
349
- </tr>
350
-
351
-
352
-
353
- <tr class="inferred">
354
- <td><pre><a name="line50">50</a> # defined this way instead of attr_accessor so that it's covered</pre></td>
355
- </tr>
356
-
357
-
358
-
359
- <tr class="marked">
360
- <td><pre><a name="line51">51</a> def self.hook_level # :nodoc:</pre></td>
361
- </tr>
362
-
363
-
364
-
365
- <tr class="marked">
366
- <td><pre><a name="line52">52</a> @hook_level </pre></td>
367
- </tr>
368
-
369
-
370
-
371
- <tr class="inferred">
372
- <td><pre><a name="line53">53</a> end</pre></td>
373
- </tr>
374
-
375
-
376
-
377
- <tr class="inferred">
378
- <td><pre><a name="line54">54</a> </pre></td>
379
- </tr>
380
-
381
-
382
-
383
- <tr class="marked">
384
- <td><pre><a name="line55">55</a> def self.hook_level=(x) # :nodoc: </pre></td>
385
- </tr>
386
-
387
-
388
-
389
- <tr class="marked">
390
- <td><pre><a name="line56">56</a> @hook_level = x </pre></td>
391
- </tr>
392
-
393
-
394
-
395
- <tr class="inferred">
396
- <td><pre><a name="line57">57</a> end </pre></td>
397
- </tr>
398
-
399
-
400
-
401
- <tr class="uncovered">
402
- <td><pre><a name="line58">58</a> </pre></td>
403
- </tr>
404
-
405
-
406
-
407
- <tr class="uncovered">
408
- <td><pre><a name="line59">59</a> def initialize</pre></td>
409
- </tr>
410
-
411
-
412
-
413
- <tr class="uncovered">
414
- <td><pre><a name="line60">60</a> @script_lines__ = SCRIPT_LINES__</pre></td>
415
- </tr>
416
-
417
-
418
-
419
- <tr class="uncovered">
420
- <td><pre><a name="line61">61</a> super(:install_coverage_hook, :remove_coverage_hook,</pre></td>
421
- </tr>
422
-
423
-
424
-
425
- <tr class="uncovered">
426
- <td><pre><a name="line62">62</a> :reset_coverage)</pre></td>
427
- </tr>
428
-
429
-
430
-
431
- <tr class="uncovered">
432
- <td><pre><a name="line63">63</a> end</pre></td>
433
- </tr>
434
-
435
-
436
-
437
- <tr class="uncovered">
438
- <td><pre><a name="line64">64</a> </pre></td>
439
- </tr>
440
-
441
-
442
-
443
- <tr class="uncovered">
444
- <td><pre><a name="line65">65</a> # Return an array with the names of the files whose code was executed inside</pre></td>
445
- </tr>
446
-
447
-
448
-
449
- <tr class="uncovered">
450
- <td><pre><a name="line66">66</a> # the block given to #run_hooked or between #install_hook and #remove_hook.</pre></td>
451
- </tr>
452
-
453
-
454
-
455
- <tr class="uncovered">
456
- <td><pre><a name="line67">67</a> def analyzed_files</pre></td>
457
- </tr>
458
-
459
-
460
-
461
- <tr class="uncovered">
462
- <td><pre><a name="line68">68</a> update_script_lines__</pre></td>
463
- </tr>
464
-
465
-
466
-
467
- <tr class="uncovered">
468
- <td><pre><a name="line69">69</a> raw_data_relative.select do |file, lines|</pre></td>
469
- </tr>
470
-
471
-
472
-
473
- <tr class="uncovered">
474
- <td><pre><a name="line70">70</a> @script_lines__.has_key?(file)</pre></td>
475
- </tr>
476
-
477
-
478
-
479
- <tr class="uncovered">
480
- <td><pre><a name="line71">71</a> end.map{|fname,| fname}</pre></td>
481
- </tr>
482
-
483
-
484
-
485
- <tr class="uncovered">
486
- <td><pre><a name="line72">72</a> end</pre></td>
487
- </tr>
488
-
489
-
490
-
491
- <tr class="uncovered">
492
- <td><pre><a name="line73">73</a> </pre></td>
493
- </tr>
494
-
495
-
496
-
497
- <tr class="uncovered">
498
- <td><pre><a name="line74">74</a> # Return the available data about the requested file, or nil if none of its</pre></td>
499
- </tr>
500
-
501
-
502
-
503
- <tr class="uncovered">
504
- <td><pre><a name="line75">75</a> # code was executed or it cannot be found.</pre></td>
505
- </tr>
506
-
507
-
508
-
509
- <tr class="uncovered">
510
- <td><pre><a name="line76">76</a> # The return value is an array with three elements:</pre></td>
511
- </tr>
512
-
513
-
514
-
515
- <tr class="uncovered">
516
- <td><pre><a name="line77">77</a> # lines, marked_info, count_info = analyzer.data(&quot;foo.rb&quot;)</pre></td>
517
- </tr>
518
-
519
-
520
-
521
- <tr class="uncovered">
522
- <td><pre><a name="line78">78</a> # +lines+ is an array of strings representing the </pre></td>
523
- </tr>
524
-
525
-
526
-
527
- <tr class="uncovered">
528
- <td><pre><a name="line79">79</a> # source code of &lt;tt&gt;foo.rb&lt;/tt&gt;. +marked_info+ is an array holding false,</pre></td>
529
- </tr>
530
-
531
-
532
-
533
- <tr class="uncovered">
534
- <td><pre><a name="line80">80</a> # true values indicating whether the corresponding lines of code were reported</pre></td>
535
- </tr>
536
-
537
-
538
-
539
- <tr class="uncovered">
540
- <td><pre><a name="line81">81</a> # as executed by Ruby. +count_info+ is an array of integers representing how</pre></td>
541
- </tr>
542
-
543
-
544
-
545
- <tr class="uncovered">
546
- <td><pre><a name="line82">82</a> # many times each line of code has been executed (more precisely, how many</pre></td>
547
- </tr>
548
-
549
-
550
-
551
- <tr class="uncovered">
552
- <td><pre><a name="line83">83</a> # events where reported by Ruby --- a single line might correspond to several</pre></td>
553
- </tr>
554
-
555
-
556
-
557
- <tr class="uncovered">
558
- <td><pre><a name="line84">84</a> # events, e.g. many method calls).</pre></td>
559
- </tr>
560
-
561
-
562
-
563
- <tr class="uncovered">
564
- <td><pre><a name="line85">85</a> #</pre></td>
565
- </tr>
566
-
567
-
568
-
569
- <tr class="uncovered">
570
- <td><pre><a name="line86">86</a> # The returned data corresponds to the aggregation of all the statistics</pre></td>
571
- </tr>
572
-
573
-
574
-
575
- <tr class="uncovered">
576
- <td><pre><a name="line87">87</a> # collected in each #run_hooked or #install_hook/#remove_hook runs. You can</pre></td>
577
- </tr>
578
-
579
-
580
-
581
- <tr class="uncovered">
582
- <td><pre><a name="line88">88</a> # reset the data at any time with #reset to start from scratch.</pre></td>
583
- </tr>
584
-
585
-
586
-
587
- <tr class="uncovered">
588
- <td><pre><a name="line89">89</a> def data(filename)</pre></td>
589
- </tr>
590
-
591
-
592
-
593
- <tr class="uncovered">
594
- <td><pre><a name="line90">90</a> raw_data = raw_data_relative</pre></td>
595
- </tr>
596
-
597
-
598
-
599
- <tr class="uncovered">
600
- <td><pre><a name="line91">91</a> update_script_lines__</pre></td>
601
- </tr>
602
-
603
-
604
-
605
- <tr class="uncovered">
606
- <td><pre><a name="line92">92</a> unless @script_lines__.has_key?(filename) &amp;&amp; </pre></td>
607
- </tr>
608
-
609
-
610
-
611
- <tr class="uncovered">
612
- <td><pre><a name="line93">93</a> raw_data.has_key?(filename)</pre></td>
613
- </tr>
614
-
615
-
616
-
617
- <tr class="uncovered">
618
- <td><pre><a name="line94">94</a> return nil </pre></td>
619
- </tr>
620
-
621
-
622
-
623
- <tr class="uncovered">
624
- <td><pre><a name="line95">95</a> end</pre></td>
625
- </tr>
626
-
627
-
628
-
629
- <tr class="uncovered">
630
- <td><pre><a name="line96">96</a> refine_coverage_info(@script_lines__[filename], raw_data[filename])</pre></td>
631
- </tr>
632
-
633
-
634
-
635
- <tr class="uncovered">
636
- <td><pre><a name="line97">97</a> end</pre></td>
637
- </tr>
638
-
639
-
640
-
641
- <tr class="uncovered">
642
- <td><pre><a name="line98">98</a> </pre></td>
643
- </tr>
644
-
645
-
646
-
647
- <tr class="uncovered">
648
- <td><pre><a name="line99">99</a> # Data for the first file matching the given regexp.</pre></td>
649
- </tr>
650
-
651
-
652
-
653
- <tr class="uncovered">
654
- <td><pre><a name="line100">100</a> # See #data.</pre></td>
655
- </tr>
656
-
657
-
658
-
659
- <tr class="uncovered">
660
- <td><pre><a name="line101">101</a> def data_matching(filename_re)</pre></td>
661
- </tr>
662
-
663
-
664
-
665
- <tr class="uncovered">
666
- <td><pre><a name="line102">102</a> raw_data = raw_data_relative</pre></td>
667
- </tr>
668
-
669
-
670
-
671
- <tr class="uncovered">
672
- <td><pre><a name="line103">103</a> update_script_lines__</pre></td>
673
- </tr>
674
-
675
-
676
-
677
- <tr class="uncovered">
678
- <td><pre><a name="line104">104</a> </pre></td>
679
- </tr>
680
-
681
-
682
-
683
- <tr class="uncovered">
684
- <td><pre><a name="line105">105</a> match = raw_data.keys.sort.grep(filename_re).first</pre></td>
685
- </tr>
686
-
687
-
688
-
689
- <tr class="uncovered">
690
- <td><pre><a name="line106">106</a> return nil unless match</pre></td>
691
- </tr>
692
-
693
-
694
-
695
- <tr class="uncovered">
696
- <td><pre><a name="line107">107</a> </pre></td>
697
- </tr>
698
-
699
-
700
-
701
- <tr class="uncovered">
702
- <td><pre><a name="line108">108</a> refine_coverage_info(@script_lines__[match], raw_data[match])</pre></td>
703
- </tr>
704
-
705
-
706
-
707
- <tr class="uncovered">
708
- <td><pre><a name="line109">109</a> end</pre></td>
709
- </tr>
710
-
711
-
712
-
713
- <tr class="uncovered">
714
- <td><pre><a name="line110">110</a> </pre></td>
715
- </tr>
716
-
717
-
718
-
719
- <tr class="uncovered">
720
- <td><pre><a name="line111">111</a> # Execute the code in the given block, monitoring it in order to gather</pre></td>
721
- </tr>
722
-
723
-
724
-
725
- <tr class="uncovered">
726
- <td><pre><a name="line112">112</a> # information about which code was executed.</pre></td>
727
- </tr>
728
-
729
-
730
-
731
- <tr class="uncovered">
732
- <td><pre><a name="line113">113</a> def run_hooked; super end</pre></td>
733
- </tr>
734
-
735
-
736
-
737
- <tr class="inferred">
738
- <td><pre><a name="line114">114</a> </pre></td>
739
- </tr>
740
-
741
-
742
-
743
- <tr class="inferred">
744
- <td><pre><a name="line115">115</a> # Start monitoring execution to gather code coverage and execution count</pre></td>
745
- </tr>
746
-
747
-
748
-
749
- <tr class="inferred">
750
- <td><pre><a name="line116">116</a> # information. Such data will be collected until #remove_hook is called.</pre></td>
751
- </tr>
752
-
753
-
754
-
755
- <tr class="inferred">
756
- <td><pre><a name="line117">117</a> #</pre></td>
757
- </tr>
758
-
759
-
760
-
761
- <tr class="inferred">
762
- <td><pre><a name="line118">118</a> # Use #run_hooked instead if possible.</pre></td>
763
- </tr>
764
-
765
-
766
-
767
- <tr class="marked">
768
- <td><pre><a name="line119">119</a> def install_hook; super end</pre></td>
769
- </tr>
770
-
771
-
772
-
773
- <tr class="inferred">
774
- <td><pre><a name="line120">120</a> </pre></td>
775
- </tr>
776
-
777
-
778
-
779
- <tr class="inferred">
780
- <td><pre><a name="line121">121</a> # Stop collecting code coverage and execution count information.</pre></td>
781
- </tr>
782
-
783
-
784
-
785
- <tr class="inferred">
786
- <td><pre><a name="line122">122</a> # #remove_hook will also stop collecting info if it is run inside a</pre></td>
787
- </tr>
788
-
789
-
790
-
791
- <tr class="inferred">
792
- <td><pre><a name="line123">123</a> # #run_hooked block.</pre></td>
793
- </tr>
794
-
795
-
796
-
797
- <tr class="marked">
798
- <td><pre><a name="line124">124</a> def remove_hook; super end</pre></td>
799
- </tr>
800
-
801
-
802
-
803
- <tr class="uncovered">
804
- <td><pre><a name="line125">125</a> </pre></td>
805
- </tr>
806
-
807
-
808
-
809
- <tr class="uncovered">
810
- <td><pre><a name="line126">126</a> # Remove the data collected so far. The coverage and execution count</pre></td>
811
- </tr>
812
-
813
-
814
-
815
- <tr class="uncovered">
816
- <td><pre><a name="line127">127</a> # &quot;history&quot; will be erased, and further collection will start from scratch:</pre></td>
817
- </tr>
818
-
819
-
820
-
821
- <tr class="uncovered">
822
- <td><pre><a name="line128">128</a> # no code is considered executed, and therefore all execution counts are 0.</pre></td>
823
- </tr>
824
-
825
-
826
-
827
- <tr class="uncovered">
828
- <td><pre><a name="line129">129</a> # Right after #reset, #analyzed_files will return an empty array, and</pre></td>
829
- </tr>
830
-
831
-
832
-
833
- <tr class="uncovered">
834
- <td><pre><a name="line130">130</a> # #data(filename) will return nil.</pre></td>
835
- </tr>
836
-
837
-
838
-
839
- <tr class="uncovered">
840
- <td><pre><a name="line131">131</a> def reset; super end</pre></td>
841
- </tr>
842
-
843
-
844
-
845
- <tr class="uncovered">
846
- <td><pre><a name="line132">132</a> </pre></td>
847
- </tr>
848
-
849
-
850
-
851
- <tr class="uncovered">
852
- <td><pre><a name="line133">133</a> def dump_coverage_info(formatters) # :nodoc:</pre></td>
853
- </tr>
854
-
855
-
856
-
857
- <tr class="uncovered">
858
- <td><pre><a name="line134">134</a> update_script_lines__</pre></td>
859
- </tr>
860
-
861
-
862
-
863
- <tr class="uncovered">
864
- <td><pre><a name="line135">135</a> raw_data_relative.each do |file, lines|</pre></td>
865
- </tr>
866
-
867
-
868
-
869
- <tr class="uncovered">
870
- <td><pre><a name="line136">136</a> next if @script_lines__.has_key?(file) == false</pre></td>
871
- </tr>
872
-
873
-
874
-
875
- <tr class="uncovered">
876
- <td><pre><a name="line137">137</a> lines = @script_lines__[file]</pre></td>
877
- </tr>
878
-
879
-
880
-
881
- <tr class="uncovered">
882
- <td><pre><a name="line138">138</a> raw_coverage_array = raw_data_relative[file]</pre></td>
883
- </tr>
884
-
885
-
886
-
887
- <tr class="uncovered">
888
- <td><pre><a name="line139">139</a> </pre></td>
889
- </tr>
890
-
891
-
892
-
893
- <tr class="uncovered">
894
- <td><pre><a name="line140">140</a> line_info, marked_info, </pre></td>
895
- </tr>
896
-
897
-
898
-
899
- <tr class="uncovered">
900
- <td><pre><a name="line141">141</a> count_info = refine_coverage_info(lines, raw_coverage_array)</pre></td>
901
- </tr>
902
-
903
-
904
-
905
- <tr class="uncovered">
906
- <td><pre><a name="line142">142</a> formatters.each do |formatter|</pre></td>
907
- </tr>
908
-
909
-
910
-
911
- <tr class="uncovered">
912
- <td><pre><a name="line143">143</a> formatter.add_file(file, line_info, marked_info, count_info)</pre></td>
913
- </tr>
914
-
915
-
916
-
917
- <tr class="uncovered">
918
- <td><pre><a name="line144">144</a> end</pre></td>
919
- </tr>
920
-
921
-
922
-
923
- <tr class="uncovered">
924
- <td><pre><a name="line145">145</a> end</pre></td>
925
- </tr>
926
-
927
-
928
-
929
- <tr class="uncovered">
930
- <td><pre><a name="line146">146</a> formatters.each{|formatter| formatter.execute}</pre></td>
931
- </tr>
932
-
933
-
934
-
935
- <tr class="uncovered">
936
- <td><pre><a name="line147">147</a> end</pre></td>
937
- </tr>
938
-
939
-
940
-
941
- <tr class="uncovered">
942
- <td><pre><a name="line148">148</a> </pre></td>
943
- </tr>
944
-
945
-
946
-
947
- <tr class="uncovered">
948
- <td><pre><a name="line149">149</a> private</pre></td>
949
- </tr>
950
-
951
-
952
-
953
- <tr class="uncovered">
954
- <td><pre><a name="line150">150</a> </pre></td>
955
- </tr>
956
-
957
-
958
-
959
- <tr class="uncovered">
960
- <td><pre><a name="line151">151</a> def data_default; {} end</pre></td>
961
- </tr>
962
-
963
-
964
-
965
- <tr class="uncovered">
966
- <td><pre><a name="line152">152</a> </pre></td>
967
- </tr>
968
-
969
-
970
-
971
- <tr class="uncovered">
972
- <td><pre><a name="line153">153</a> def raw_data_absolute</pre></td>
973
- </tr>
974
-
975
-
976
-
977
- <tr class="uncovered">
978
- <td><pre><a name="line154">154</a> Rcov::RCOV__.generate_coverage_info</pre></td>
979
- </tr>
980
-
981
-
982
-
983
- <tr class="uncovered">
984
- <td><pre><a name="line155">155</a> end</pre></td>
985
- </tr>
986
-
987
-
988
-
989
- <tr class="uncovered">
990
- <td><pre><a name="line156">156</a> </pre></td>
991
- </tr>
992
-
993
-
994
-
995
- <tr class="uncovered">
996
- <td><pre><a name="line157">157</a> def aggregate_data(aggregated_data, delta)</pre></td>
997
- </tr>
998
-
999
-
1000
-
1001
- <tr class="uncovered">
1002
- <td><pre><a name="line158">158</a> delta.each_pair do |file, cov_arr|</pre></td>
1003
- </tr>
1004
-
1005
-
1006
-
1007
- <tr class="uncovered">
1008
- <td><pre><a name="line159">159</a> dest = (aggregated_data[file] ||= Array.new(cov_arr.size, 0))</pre></td>
1009
- </tr>
1010
-
1011
-
1012
-
1013
- <tr class="uncovered">
1014
- <td><pre><a name="line160">160</a> cov_arr.each_with_index do |x,i| </pre></td>
1015
- </tr>
1016
-
1017
-
1018
-
1019
- <tr class="uncovered">
1020
- <td><pre><a name="line161">161</a> dest[i] ||= 0</pre></td>
1021
- </tr>
1022
-
1023
-
1024
-
1025
- <tr class="uncovered">
1026
- <td><pre><a name="line162">162</a> dest[i] += x.to_i</pre></td>
1027
- </tr>
1028
-
1029
-
1030
-
1031
- <tr class="uncovered">
1032
- <td><pre><a name="line163">163</a> end</pre></td>
1033
- </tr>
1034
-
1035
-
1036
-
1037
- <tr class="uncovered">
1038
- <td><pre><a name="line164">164</a> end</pre></td>
1039
- </tr>
1040
-
1041
-
1042
-
1043
- <tr class="uncovered">
1044
- <td><pre><a name="line165">165</a> end</pre></td>
1045
- </tr>
1046
-
1047
-
1048
-
1049
- <tr class="uncovered">
1050
- <td><pre><a name="line166">166</a> </pre></td>
1051
- </tr>
1052
-
1053
-
1054
-
1055
- <tr class="uncovered">
1056
- <td><pre><a name="line167">167</a> def compute_raw_data_difference(first, last)</pre></td>
1057
- </tr>
1058
-
1059
-
1060
-
1061
- <tr class="uncovered">
1062
- <td><pre><a name="line168">168</a> difference = {}</pre></td>
1063
- </tr>
1064
-
1065
-
1066
-
1067
- <tr class="uncovered">
1068
- <td><pre><a name="line169">169</a> last.each_pair do |fname, cov_arr|</pre></td>
1069
- </tr>
1070
-
1071
-
1072
-
1073
- <tr class="uncovered">
1074
- <td><pre><a name="line170">170</a> unless first.has_key?(fname)</pre></td>
1075
- </tr>
1076
-
1077
-
1078
-
1079
- <tr class="uncovered">
1080
- <td><pre><a name="line171">171</a> difference[fname] = cov_arr.clone</pre></td>
1081
- </tr>
1082
-
1083
-
1084
-
1085
- <tr class="uncovered">
1086
- <td><pre><a name="line172">172</a> else</pre></td>
1087
- </tr>
1088
-
1089
-
1090
-
1091
- <tr class="uncovered">
1092
- <td><pre><a name="line173">173</a> orig_arr = first[fname]</pre></td>
1093
- </tr>
1094
-
1095
-
1096
-
1097
- <tr class="uncovered">
1098
- <td><pre><a name="line174">174</a> diff_arr = Array.new(cov_arr.size, 0)</pre></td>
1099
- </tr>
1100
-
1101
-
1102
-
1103
- <tr class="uncovered">
1104
- <td><pre><a name="line175">175</a> changed = false</pre></td>
1105
- </tr>
1106
-
1107
-
1108
-
1109
- <tr class="uncovered">
1110
- <td><pre><a name="line176">176</a> cov_arr.each_with_index do |x, i|</pre></td>
1111
- </tr>
1112
-
1113
-
1114
-
1115
- <tr class="uncovered">
1116
- <td><pre><a name="line177">177</a> diff_arr[i] = diff = (x || 0) - (orig_arr[i] || 0)</pre></td>
1117
- </tr>
1118
-
1119
-
1120
-
1121
- <tr class="uncovered">
1122
- <td><pre><a name="line178">178</a> changed = true if diff != 0</pre></td>
1123
- </tr>
1124
-
1125
-
1126
-
1127
- <tr class="uncovered">
1128
- <td><pre><a name="line179">179</a> end</pre></td>
1129
- </tr>
1130
-
1131
-
1132
-
1133
- <tr class="uncovered">
1134
- <td><pre><a name="line180">180</a> difference[fname] = diff_arr if changed</pre></td>
1135
- </tr>
1136
-
1137
-
1138
-
1139
- <tr class="uncovered">
1140
- <td><pre><a name="line181">181</a> end</pre></td>
1141
- </tr>
1142
-
1143
-
1144
-
1145
- <tr class="uncovered">
1146
- <td><pre><a name="line182">182</a> end</pre></td>
1147
- </tr>
1148
-
1149
-
1150
-
1151
- <tr class="uncovered">
1152
- <td><pre><a name="line183">183</a> difference</pre></td>
1153
- </tr>
1154
-
1155
-
1156
-
1157
- <tr class="uncovered">
1158
- <td><pre><a name="line184">184</a> end</pre></td>
1159
- </tr>
1160
-
1161
-
1162
-
1163
- <tr class="uncovered">
1164
- <td><pre><a name="line185">185</a> </pre></td>
1165
- </tr>
1166
-
1167
-
1168
-
1169
- <tr class="uncovered">
1170
- <td><pre><a name="line186">186</a> def refine_coverage_info(lines, covers)</pre></td>
1171
- </tr>
1172
-
1173
-
1174
-
1175
- <tr class="uncovered">
1176
- <td><pre><a name="line187">187</a> marked_info = []</pre></td>
1177
- </tr>
1178
-
1179
-
1180
-
1181
- <tr class="uncovered">
1182
- <td><pre><a name="line188">188</a> count_info = []</pre></td>
1183
- </tr>
1184
-
1185
-
1186
-
1187
- <tr class="uncovered">
1188
- <td><pre><a name="line189">189</a> lines.size.times do |i|</pre></td>
1189
- </tr>
1190
-
1191
-
1192
-
1193
- <tr class="uncovered">
1194
- <td><pre><a name="line190">190</a> c = covers[i]</pre></td>
1195
- </tr>
1196
-
1197
-
1198
-
1199
- <tr class="uncovered">
1200
- <td><pre><a name="line191">191</a> marked_info &lt;&lt; ((c &amp;&amp; c &gt; 0) ? true : false)</pre></td>
1201
- </tr>
1202
-
1203
-
1204
-
1205
- <tr class="uncovered">
1206
- <td><pre><a name="line192">192</a> count_info &lt;&lt; (c || 0)</pre></td>
1207
- </tr>
1208
-
1209
-
1210
-
1211
- <tr class="uncovered">
1212
- <td><pre><a name="line193">193</a> end</pre></td>
1213
- </tr>
1214
-
1215
-
1216
-
1217
- <tr class="uncovered">
1218
- <td><pre><a name="line194">194</a> </pre></td>
1219
- </tr>
1220
-
1221
-
1222
-
1223
- <tr class="uncovered">
1224
- <td><pre><a name="line195">195</a> script_lines_workaround(lines, marked_info, count_info)</pre></td>
1225
- </tr>
1226
-
1227
-
1228
-
1229
- <tr class="uncovered">
1230
- <td><pre><a name="line196">196</a> end</pre></td>
1231
- </tr>
1232
-
1233
-
1234
-
1235
- <tr class="uncovered">
1236
- <td><pre><a name="line197">197</a> </pre></td>
1237
- </tr>
1238
-
1239
-
1240
-
1241
- <tr class="uncovered">
1242
- <td><pre><a name="line198">198</a> # Try to detect repeated data, based on observed repetitions in line_info:</pre></td>
1243
- </tr>
1244
-
1245
-
1246
-
1247
- <tr class="uncovered">
1248
- <td><pre><a name="line199">199</a> # this is a workaround for SCRIPT_LINES__[filename] including as many copies</pre></td>
1249
- </tr>
1250
-
1251
-
1252
-
1253
- <tr class="uncovered">
1254
- <td><pre><a name="line200">200</a> # of the file as the number of times it was parsed.</pre></td>
1255
- </tr>
1256
-
1257
-
1258
-
1259
- <tr class="uncovered">
1260
- <td><pre><a name="line201">201</a> def script_lines_workaround(line_info, coverage_info, count_info)</pre></td>
1261
- </tr>
1262
-
1263
-
1264
-
1265
- <tr class="uncovered">
1266
- <td><pre><a name="line202">202</a> is_repeated = lambda do |div|</pre></td>
1267
- </tr>
1268
-
1269
-
1270
-
1271
- <tr class="uncovered">
1272
- <td><pre><a name="line203">203</a> n = line_info.size / div</pre></td>
1273
- </tr>
1274
-
1275
-
1276
-
1277
- <tr class="uncovered">
1278
- <td><pre><a name="line204">204</a> break false unless line_info.size % div == 0 &amp;&amp; n &gt; 1</pre></td>
1279
- </tr>
1280
-
1281
-
1282
-
1283
- <tr class="uncovered">
1284
- <td><pre><a name="line205">205</a> different = false</pre></td>
1285
- </tr>
1286
-
1287
-
1288
-
1289
- <tr class="uncovered">
1290
- <td><pre><a name="line206">206</a> n.times do |i|</pre></td>
1291
- </tr>
1292
-
1293
-
1294
-
1295
- <tr class="uncovered">
1296
- <td><pre><a name="line207">207</a> </pre></td>
1297
- </tr>
1298
-
1299
-
1300
-
1301
- <tr class="uncovered">
1302
- <td><pre><a name="line208">208</a> things = (0...div).map { |j| line_info[i + j * n] }</pre></td>
1303
- </tr>
1304
-
1305
-
1306
-
1307
- <tr class="uncovered">
1308
- <td><pre><a name="line209">209</a> if things.uniq.size != 1</pre></td>
1309
- </tr>
1310
-
1311
-
1312
-
1313
- <tr class="uncovered">
1314
- <td><pre><a name="line210">210</a> different = true</pre></td>
1315
- </tr>
1316
-
1317
-
1318
-
1319
- <tr class="uncovered">
1320
- <td><pre><a name="line211">211</a> break</pre></td>
1321
- </tr>
1322
-
1323
-
1324
-
1325
- <tr class="uncovered">
1326
- <td><pre><a name="line212">212</a> end</pre></td>
1327
- </tr>
1328
-
1329
-
1330
-
1331
- <tr class="uncovered">
1332
- <td><pre><a name="line213">213</a> end</pre></td>
1333
- </tr>
1334
-
1335
-
1336
-
1337
- <tr class="uncovered">
1338
- <td><pre><a name="line214">214</a> </pre></td>
1339
- </tr>
1340
-
1341
-
1342
-
1343
- <tr class="uncovered">
1344
- <td><pre><a name="line215">215</a> ! different</pre></td>
1345
- </tr>
1346
-
1347
-
1348
-
1349
- <tr class="uncovered">
1350
- <td><pre><a name="line216">216</a> end</pre></td>
1351
- </tr>
1352
-
1353
-
1354
-
1355
- <tr class="uncovered">
1356
- <td><pre><a name="line217">217</a> </pre></td>
1357
- </tr>
1358
-
1359
-
1360
-
1361
- <tr class="uncovered">
1362
- <td><pre><a name="line218">218</a> factors = braindead_factorize(line_info.size)</pre></td>
1363
- </tr>
1364
-
1365
-
1366
-
1367
- <tr class="uncovered">
1368
- <td><pre><a name="line219">219</a> factors.each do |n|</pre></td>
1369
- </tr>
1370
-
1371
-
1372
-
1373
- <tr class="uncovered">
1374
- <td><pre><a name="line220">220</a> if is_repeated[n]</pre></td>
1375
- </tr>
1376
-
1377
-
1378
-
1379
- <tr class="uncovered">
1380
- <td><pre><a name="line221">221</a> line_info = line_info[0, line_info.size / n]</pre></td>
1381
- </tr>
1382
-
1383
-
1384
-
1385
- <tr class="uncovered">
1386
- <td><pre><a name="line222">222</a> coverage_info = coverage_info[0, coverage_info.size / n]</pre></td>
1387
- </tr>
1388
-
1389
-
1390
-
1391
- <tr class="uncovered">
1392
- <td><pre><a name="line223">223</a> count_info = count_info[0, count_info.size / n]</pre></td>
1393
- </tr>
1394
-
1395
-
1396
-
1397
- <tr class="uncovered">
1398
- <td><pre><a name="line224">224</a> end</pre></td>
1399
- </tr>
1400
-
1401
-
1402
-
1403
- <tr class="uncovered">
1404
- <td><pre><a name="line225">225</a> end if factors.size &gt; 1 # don't even try if it's prime</pre></td>
1405
- </tr>
1406
-
1407
-
1408
-
1409
- <tr class="uncovered">
1410
- <td><pre><a name="line226">226</a> </pre></td>
1411
- </tr>
1412
-
1413
-
1414
-
1415
- <tr class="uncovered">
1416
- <td><pre><a name="line227">227</a> [line_info, coverage_info, count_info]</pre></td>
1417
- </tr>
1418
-
1419
-
1420
-
1421
- <tr class="uncovered">
1422
- <td><pre><a name="line228">228</a> end</pre></td>
1423
- </tr>
1424
-
1425
-
1426
-
1427
- <tr class="uncovered">
1428
- <td><pre><a name="line229">229</a> </pre></td>
1429
- </tr>
1430
-
1431
-
1432
-
1433
- <tr class="uncovered">
1434
- <td><pre><a name="line230">230</a> def braindead_factorize(num)</pre></td>
1435
- </tr>
1436
-
1437
-
1438
-
1439
- <tr class="uncovered">
1440
- <td><pre><a name="line231">231</a> return [0] if num == 0</pre></td>
1441
- </tr>
1442
-
1443
-
1444
-
1445
- <tr class="uncovered">
1446
- <td><pre><a name="line232">232</a> return [-1] + braindead_factorize(-num) if num &lt; 0</pre></td>
1447
- </tr>
1448
-
1449
-
1450
-
1451
- <tr class="uncovered">
1452
- <td><pre><a name="line233">233</a> factors = []</pre></td>
1453
- </tr>
1454
-
1455
-
1456
-
1457
- <tr class="uncovered">
1458
- <td><pre><a name="line234">234</a> while num % 2 == 0</pre></td>
1459
- </tr>
1460
-
1461
-
1462
-
1463
- <tr class="uncovered">
1464
- <td><pre><a name="line235">235</a> factors &lt;&lt; 2</pre></td>
1465
- </tr>
1466
-
1467
-
1468
-
1469
- <tr class="uncovered">
1470
- <td><pre><a name="line236">236</a> num /= 2</pre></td>
1471
- </tr>
1472
-
1473
-
1474
-
1475
- <tr class="uncovered">
1476
- <td><pre><a name="line237">237</a> end</pre></td>
1477
- </tr>
1478
-
1479
-
1480
-
1481
- <tr class="uncovered">
1482
- <td><pre><a name="line238">238</a> size = num</pre></td>
1483
- </tr>
1484
-
1485
-
1486
-
1487
- <tr class="uncovered">
1488
- <td><pre><a name="line239">239</a> n = 3</pre></td>
1489
- </tr>
1490
-
1491
-
1492
-
1493
- <tr class="uncovered">
1494
- <td><pre><a name="line240">240</a> max = Math.sqrt(num)</pre></td>
1495
- </tr>
1496
-
1497
-
1498
-
1499
- <tr class="uncovered">
1500
- <td><pre><a name="line241">241</a> while n &lt;= max &amp;&amp; n &lt;= size</pre></td>
1501
- </tr>
1502
-
1503
-
1504
-
1505
- <tr class="uncovered">
1506
- <td><pre><a name="line242">242</a> while size % n == 0</pre></td>
1507
- </tr>
1508
-
1509
-
1510
-
1511
- <tr class="uncovered">
1512
- <td><pre><a name="line243">243</a> size /= n</pre></td>
1513
- </tr>
1514
-
1515
-
1516
-
1517
- <tr class="uncovered">
1518
- <td><pre><a name="line244">244</a> factors &lt;&lt; n</pre></td>
1519
- </tr>
1520
-
1521
-
1522
-
1523
- <tr class="uncovered">
1524
- <td><pre><a name="line245">245</a> end</pre></td>
1525
- </tr>
1526
-
1527
-
1528
-
1529
- <tr class="uncovered">
1530
- <td><pre><a name="line246">246</a> n += 2</pre></td>
1531
- </tr>
1532
-
1533
-
1534
-
1535
- <tr class="uncovered">
1536
- <td><pre><a name="line247">247</a> end</pre></td>
1537
- </tr>
1538
-
1539
-
1540
-
1541
- <tr class="uncovered">
1542
- <td><pre><a name="line248">248</a> factors &lt;&lt; size if size != 1</pre></td>
1543
- </tr>
1544
-
1545
-
1546
-
1547
- <tr class="uncovered">
1548
- <td><pre><a name="line249">249</a> factors</pre></td>
1549
- </tr>
1550
-
1551
-
1552
-
1553
- <tr class="uncovered">
1554
- <td><pre><a name="line250">250</a> end</pre></td>
1555
- </tr>
1556
-
1557
-
1558
-
1559
- <tr class="uncovered">
1560
- <td><pre><a name="line251">251</a> </pre></td>
1561
- </tr>
1562
-
1563
-
1564
-
1565
- <tr class="uncovered">
1566
- <td><pre><a name="line252">252</a> def update_script_lines__</pre></td>
1567
- </tr>
1568
-
1569
-
1570
-
1571
- <tr class="uncovered">
1572
- <td><pre><a name="line253">253</a> @script_lines__ = @script_lines__.merge(SCRIPT_LINES__)</pre></td>
1573
- </tr>
1574
-
1575
-
1576
-
1577
- <tr class="uncovered">
1578
- <td><pre><a name="line254">254</a> end</pre></td>
1579
- </tr>
1580
-
1581
-
1582
-
1583
- <tr class="uncovered">
1584
- <td><pre><a name="line255">255</a> </pre></td>
1585
- </tr>
1586
-
1587
-
1588
-
1589
- <tr class="uncovered">
1590
- <td><pre><a name="line256">256</a> public</pre></td>
1591
- </tr>
1592
-
1593
-
1594
-
1595
- <tr class="uncovered">
1596
- <td><pre><a name="line257">257</a> </pre></td>
1597
- </tr>
1598
-
1599
-
1600
-
1601
- <tr class="uncovered">
1602
- <td><pre><a name="line258">258</a> def marshal_dump # :nodoc:</pre></td>
1603
- </tr>
1604
-
1605
-
1606
-
1607
- <tr class="uncovered">
1608
- <td><pre><a name="line259">259</a> # @script_lines__ is updated just before serialization so as to avoid</pre></td>
1609
- </tr>
1610
-
1611
-
1612
-
1613
- <tr class="uncovered">
1614
- <td><pre><a name="line260">260</a> # missing files in SCRIPT_LINES__</pre></td>
1615
- </tr>
1616
-
1617
-
1618
-
1619
- <tr class="uncovered">
1620
- <td><pre><a name="line261">261</a> ivs = {}</pre></td>
1621
- </tr>
1622
-
1623
-
1624
-
1625
- <tr class="uncovered">
1626
- <td><pre><a name="line262">262</a> update_script_lines__</pre></td>
1627
- </tr>
1628
-
1629
-
1630
-
1631
- <tr class="uncovered">
1632
- <td><pre><a name="line263">263</a> instance_variables.each{|iv| ivs[iv] = instance_variable_get(iv)}</pre></td>
1633
- </tr>
1634
-
1635
-
1636
-
1637
- <tr class="uncovered">
1638
- <td><pre><a name="line264">264</a> ivs</pre></td>
1639
- </tr>
1640
-
1641
-
1642
-
1643
- <tr class="uncovered">
1644
- <td><pre><a name="line265">265</a> end</pre></td>
1645
- </tr>
1646
-
1647
-
1648
-
1649
- <tr class="uncovered">
1650
- <td><pre><a name="line266">266</a> </pre></td>
1651
- </tr>
1652
-
1653
-
1654
-
1655
- <tr class="uncovered">
1656
- <td><pre><a name="line267">267</a> def marshal_load(ivs) # :nodoc:</pre></td>
1657
- </tr>
1658
-
1659
-
1660
-
1661
- <tr class="uncovered">
1662
- <td><pre><a name="line268">268</a> ivs.each_pair{|iv, val| instance_variable_set(iv, val)}</pre></td>
1663
- </tr>
1664
-
1665
-
1666
-
1667
- <tr class="uncovered">
1668
- <td><pre><a name="line269">269</a> end</pre></td>
1669
- </tr>
1670
-
1671
-
1672
-
1673
- <tr class="uncovered">
1674
- <td><pre><a name="line270">270</a> end # CodeCoverageAnalyzer</pre></td>
1675
- </tr>
1676
-
1677
-
1678
-
1679
- <tr class="uncovered">
1680
- <td><pre><a name="line271">271</a> end</pre></td>
1681
- </tr>
1682
-
1683
- </tbody>
1684
- </table>
1685
-
1686
- <p>Generated on Fri Apr 22 17:22:41 -0700 2011 with <a href="http://github.com/relevance/rcov">rcov 0.9.8</a></p>
1687
-
1688
- </body>
1689
- </html>