rcov 0.9.4 → 0.9.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.
@@ -126,8 +126,7 @@ module Rcov
126
126
  end
127
127
  end
128
128
  end
129
- @lines[lineno] && !@is_begin_comment[lineno] &&
130
- @lines[lineno] !~ /^\s*(#|$)/
129
+ @lines[lineno] && !@is_begin_comment[lineno] && @lines[lineno] !~ /^\s*(#|$)/
131
130
  end
132
131
 
133
132
  private
@@ -163,6 +162,20 @@ module Rcov
163
162
  end
164
163
  end
165
164
  end
165
+
166
+ def is_nocov?(line)
167
+ line =~ /#:nocov:/
168
+ end
169
+
170
+ def mark_nocov_regions(nocov_line_numbers, coverage)
171
+ while nocov_line_numbers.size > 0
172
+ begin_line, end_line = nocov_line_numbers.shift, nocov_line_numbers.shift
173
+ next unless begin_line && end_line
174
+ (begin_line..end_line).each do |line_num|
175
+ coverage[line_num] ||= :inferred
176
+ end
177
+ end
178
+ end
166
179
 
167
180
  def precompute_coverage(comments_run_by_default = true)
168
181
  changed = false
@@ -175,7 +188,11 @@ module Rcov
175
188
  @coverage[i] ||= :inferred
176
189
  end
177
190
  end
191
+ nocov_line_numbers = []
192
+
178
193
  (0...lines.size).each do |i|
194
+ nocov_line_numbers << i if is_nocov?(@lines[i])
195
+
179
196
  next if @coverage[i]
180
197
  line = @lines[i]
181
198
  if /^\s*(begin|ensure|else|case)\s*(?:#.*)?$/ =~ line && next_expr_marked?(i) or
@@ -190,7 +207,11 @@ module Rcov
190
207
  @coverage[i] ||= :inferred
191
208
  changed = true
192
209
  end
210
+
193
211
  end
212
+
213
+ mark_nocov_regions(nocov_line_numbers, @coverage)
214
+
194
215
  (@lines.size-1).downto(0) do |i|
195
216
  next if @coverage[i]
196
217
  if !is_code?(i) and @coverage[i+1]
@@ -3,7 +3,7 @@
3
3
  # See LICENSE for licensing information.
4
4
 
5
5
  module Rcov
6
- VERSION = "0.9.4"
6
+ VERSION = "0.9.5"
7
7
  RELEASE_DATE = "2009-10-16"
8
8
  RCOVRT_ABI = [2,0,0]
9
9
  UPSTREAM_URL = "http://github.com/relevance/rcov"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rcov
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Relevance