rcov 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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