undercover 0.4.0 → 0.4.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5104b390e6cc5e103274e4621c3ec1f01a75091703e2a3549ad7a629b0edd9e1
4
- data.tar.gz: d7346137e3b284a8815e3b0c55c22ee154fbb2e781576204eef898e3f221218d
3
+ metadata.gz: 04fa40baf15828da2f2adfb2e339448b601b474ca88c32258154cdf5a1d7464c
4
+ data.tar.gz: d591475e8a41e993a9fe813d7fc56e40d0072f6d40db1941f9224db2baf7f3f8
5
5
  SHA512:
6
- metadata.gz: 5a7cda81269eb9f3e5cb1e752c83e5b203dc01b64409765ba69c2e9fb9ef8a456d324a631f7eb5341938a3781328a688556292c552d13b8ef431490e7304875b
7
- data.tar.gz: 980ecc847bee0a649ed9953e07118b22df8ed691ea5e72711511cd5759ad1ec507f56fdbc190f9824197f82f8d244fcb8a7f9545b75fda24d68cb5abb9311097
6
+ metadata.gz: 3f22a3d8e54f6ae67a59c08191b49127edb2c8f243dabcdb5e781422a82e40b00b0f0c2dc0a25a0ba3c74dafa32fa9d0c1db62121394b0ef2cbc32dcb3325864
7
+ data.tar.gz: 8578f0ac0e9100ab75c43c089db838b52658aed5c53b06c34d2935fd75964f406ee35e2e87c567a0b3cbdfb4af601acafc1d70db1271ae64e3a9224a0974ac65
data/CHANGELOG.md CHANGED
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ # [0.4.1] - 2021-03-11
10
+ ### Fixed
11
+ - Fix zero-division edge case resulting in NaN from Result#coverage_f
12
+
9
13
  # [0.4.0] - 2021-02-06
10
14
  ### Added
11
15
  - [Minimal implementation of branch coverage in LCOV parser](https://github.com/grodowski/undercover/pull/112) by [@magneland](https://github.com/magneland)
@@ -96,6 +100,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
96
100
  - First release of `undercover` 🎉
97
101
 
98
102
  [Unreleased]: https://github.com/grodowski/undercover/compare/v0.3.4...HEAD
103
+ [0.4.1]: https://github.com/grodowski/undercover/compare/v0.4.0...v0.4.1
104
+ [0.4.0]: https://github.com/grodowski/undercover/compare/v0.3.4...v0.4.0
99
105
  [0.3.4]: https://github.com/grodowski/undercover/compare/v0.3.3...v0.3.4
100
106
  [0.3.3]: https://github.com/grodowski/undercover/compare/v0.3.2...v0.3.3
101
107
  [0.3.2]: https://github.com/grodowski/undercover/compare/v0.3.1...v0.3.2
data/README.md CHANGED
@@ -51,6 +51,7 @@ SimpleCov.formatter = SimpleCov::Formatter::LcovFormatter
51
51
  SimpleCov.start do
52
52
  add_filter(/^\/spec\//) # For RSpec
53
53
  add_filter(/^\/test\//) # For Minitest
54
+ enable_coverage(:branch) # Report branch coverage to trigger branch-level undercover warnings
54
55
  end
55
56
 
56
57
  require 'undercover'
@@ -39,7 +39,7 @@ module Undercover
39
39
  # Method `coverage_f` returns the total coverage of this Undercover::Result
40
40
  # as a % value, taking into account missing branches. Line coverage will be counted
41
41
  # as 0 if any branch is untested.
42
- # rubocop:disable Metrics/AbcSize
42
+ # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
43
43
  def coverage_f
44
44
  lines = {}
45
45
  coverage.each do |ln, block_or_line_cov, _, branch_cov|
@@ -50,9 +50,11 @@ module Undercover
50
50
  lines[ln] = 0
51
51
  end
52
52
  end
53
+ return 1.0 if lines.keys.size.zero?
54
+
53
55
  (lines.values.sum.to_f / lines.keys.size).round(4)
54
56
  end
55
- # rubocop:enable Metrics/AbcSize
57
+ # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
56
58
 
57
59
  # TODO: create a formatter interface instead and add some tests.
58
60
  # TODO: re-enable rubocops
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Undercover
4
- VERSION = '0.4.0'
4
+ VERSION = '0.4.1'
5
5
  end
data/undercover.gemspec CHANGED
@@ -33,7 +33,7 @@ Gem::Specification.new do |spec|
33
33
  spec.add_development_dependency 'pry'
34
34
  spec.add_development_dependency 'rake', '~> 13.0'
35
35
  spec.add_development_dependency 'rspec', '~> 3.0'
36
- spec.add_development_dependency 'rubocop', '~> 1.9.1'
36
+ spec.add_development_dependency 'rubocop', '~> 1.11.0'
37
37
  spec.add_development_dependency 'simplecov'
38
38
  spec.add_development_dependency 'simplecov-html'
39
39
  spec.add_development_dependency 'simplecov-lcov', '~> 0.8'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: undercover
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Grodowski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-06 00:00:00.000000000 Z
11
+ date: 2021-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: imagen
@@ -126,14 +126,14 @@ dependencies:
126
126
  requirements:
127
127
  - - "~>"
128
128
  - !ruby/object:Gem::Version
129
- version: 1.9.1
129
+ version: 1.11.0
130
130
  type: :development
131
131
  prerelease: false
132
132
  version_requirements: !ruby/object:Gem::Requirement
133
133
  requirements:
134
134
  - - "~>"
135
135
  - !ruby/object:Gem::Version
136
- version: 1.9.1
136
+ version: 1.11.0
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: simplecov
139
139
  requirement: !ruby/object:Gem::Requirement