simplecov 0.14.1 → 0.15.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 +5 -5
- data/.rubocop.yml +6 -2
- data/.travis.yml +4 -4
- data/CHANGELOG.md +24 -1
- data/Gemfile +2 -2
- data/MIT-LICENSE +1 -1
- data/README.md +52 -7
- data/Rakefile +0 -2
- data/doc/alternate-formatters.md +6 -1
- data/doc/editor-integration.md +6 -1
- data/features/config_tracked_files.feature +1 -1
- data/features/config_tracked_files_relevant_lines.feature +31 -0
- data/features/step_definitions/transformers.rb +1 -1
- data/features/support/aruba_freedom_patch.rb +53 -0
- data/features/support/env.rb +5 -5
- data/lib/simplecov/configuration.rb +5 -9
- data/lib/simplecov/defaults.rb +5 -5
- data/lib/simplecov/file_list.rb +5 -5
- data/lib/simplecov/filter.rb +39 -4
- data/lib/simplecov/formatter/simple_formatter.rb +1 -1
- data/lib/simplecov/lines_classifier.rb +32 -0
- data/lib/simplecov/result_merger.rb +42 -13
- data/lib/simplecov/source_file.rb +6 -1
- data/lib/simplecov/version.rb +1 -23
- data/lib/simplecov.rb +16 -10
- data/spec/defaults_spec.rb +41 -0
- data/spec/filters_spec.rb +104 -0
- data/spec/lines_classifier_spec.rb +103 -0
- data/spec/result_merger_spec.rb +89 -6
- data/spec/simplecov_spec.rb +109 -0
- data/spec/source_file_spec.rb +4 -0
- metadata +21 -15
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
require "helper"
|
|
2
|
+
|
|
3
|
+
if SimpleCov.usable?
|
|
4
|
+
describe SimpleCov do
|
|
5
|
+
describe ".result" do
|
|
6
|
+
before do
|
|
7
|
+
SimpleCov.clear_result
|
|
8
|
+
allow(Coverage).to receive(:result).once.and_return({})
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
context "with merging disabled" do
|
|
12
|
+
before do
|
|
13
|
+
allow(SimpleCov).to receive(:use_merging).once.and_return(false)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
context "when not running" do
|
|
17
|
+
before do
|
|
18
|
+
allow(SimpleCov).to receive(:running).and_return(false)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it "returns nil" do
|
|
22
|
+
expect(SimpleCov.result).to be_nil
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
context "when running" do
|
|
27
|
+
before do
|
|
28
|
+
allow(SimpleCov).to receive(:running).and_return(true, false)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it "uses the result from Coverage" do
|
|
32
|
+
expect(Coverage).to receive(:result).once.and_return(__FILE__ => [0, 1])
|
|
33
|
+
expect(SimpleCov.result.filenames).to eq [__FILE__]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it "adds not-loaded-files" do
|
|
37
|
+
expect(SimpleCov).to receive(:add_not_loaded_files).once.and_return({})
|
|
38
|
+
SimpleCov.result
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it "doesn't store the current coverage" do
|
|
42
|
+
expect(SimpleCov::ResultMerger).not_to receive(:store_result)
|
|
43
|
+
SimpleCov.result
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it "doesn't merge the result" do
|
|
47
|
+
expect(SimpleCov::ResultMerger).not_to receive(:merged_result)
|
|
48
|
+
SimpleCov.result
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it "caches its result" do
|
|
52
|
+
result = SimpleCov.result
|
|
53
|
+
expect(SimpleCov.result).to be(result)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
context "with merging enabled" do
|
|
59
|
+
let(:the_merged_result) { double }
|
|
60
|
+
|
|
61
|
+
before do
|
|
62
|
+
allow(SimpleCov).to receive(:use_merging).once.and_return(true)
|
|
63
|
+
allow(SimpleCov::ResultMerger).to receive(:store_result).once
|
|
64
|
+
allow(SimpleCov::ResultMerger).to receive(:merged_result).once.and_return(the_merged_result)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
context "when not running" do
|
|
68
|
+
before do
|
|
69
|
+
allow(SimpleCov).to receive(:running).and_return(false)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
it "merges the result" do
|
|
73
|
+
expect(SimpleCov.result).to be(the_merged_result)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
context "when running" do
|
|
78
|
+
before do
|
|
79
|
+
allow(SimpleCov).to receive(:running).and_return(true, false)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
it "uses the result from Coverage" do
|
|
83
|
+
expect(Coverage).to receive(:result).once.and_return({})
|
|
84
|
+
SimpleCov.result
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
it "adds not-loaded-files" do
|
|
88
|
+
expect(SimpleCov).to receive(:add_not_loaded_files).once.and_return({})
|
|
89
|
+
SimpleCov.result
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
it "stores the current coverage" do
|
|
93
|
+
expect(SimpleCov::ResultMerger).to receive(:store_result).once
|
|
94
|
+
SimpleCov.result
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
it "merges the result" do
|
|
98
|
+
expect(SimpleCov.result).to be(the_merged_result)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
it "caches its result" do
|
|
102
|
+
result = SimpleCov.result
|
|
103
|
+
expect(SimpleCov.result).to be(result)
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
data/spec/source_file_spec.rb
CHANGED
|
@@ -16,6 +16,10 @@ if SimpleCov.usable?
|
|
|
16
16
|
expect(subject.src).to eq(subject.source)
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
+
it "has a project filename which removes the project directory" do
|
|
20
|
+
expect(subject.project_filename).to eq("/spec/fixtures/sample.rb")
|
|
21
|
+
end
|
|
22
|
+
|
|
19
23
|
it "has source_lines equal to lines" do
|
|
20
24
|
expect(subject.lines).to eq(subject.source_lines)
|
|
21
25
|
end
|
metadata
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: simplecov
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.15.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Christoph Olszowka
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-09-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: json
|
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
|
16
15
|
requirements:
|
|
17
16
|
- - ">="
|
|
@@ -20,8 +19,9 @@ dependencies:
|
|
|
20
19
|
- - "<"
|
|
21
20
|
- !ruby/object:Gem::Version
|
|
22
21
|
version: '3'
|
|
23
|
-
|
|
22
|
+
name: json
|
|
24
23
|
prerelease: false
|
|
24
|
+
type: :runtime
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
27
|
- - ">="
|
|
@@ -31,42 +31,42 @@ dependencies:
|
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
32
|
version: '3'
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
|
-
name: simplecov-html
|
|
35
34
|
requirement: !ruby/object:Gem::Requirement
|
|
36
35
|
requirements:
|
|
37
36
|
- - "~>"
|
|
38
37
|
- !ruby/object:Gem::Version
|
|
39
38
|
version: 0.10.0
|
|
40
|
-
|
|
39
|
+
name: simplecov-html
|
|
41
40
|
prerelease: false
|
|
41
|
+
type: :runtime
|
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
44
|
- - "~>"
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
46
|
version: 0.10.0
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
|
-
name: docile
|
|
49
48
|
requirement: !ruby/object:Gem::Requirement
|
|
50
49
|
requirements:
|
|
51
50
|
- - "~>"
|
|
52
51
|
- !ruby/object:Gem::Version
|
|
53
52
|
version: 1.1.0
|
|
54
|
-
|
|
53
|
+
name: docile
|
|
55
54
|
prerelease: false
|
|
55
|
+
type: :runtime
|
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - "~>"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
60
|
version: 1.1.0
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
|
-
name: bundler
|
|
63
62
|
requirement: !ruby/object:Gem::Requirement
|
|
64
63
|
requirements:
|
|
65
64
|
- - "~>"
|
|
66
65
|
- !ruby/object:Gem::Version
|
|
67
66
|
version: '1.9'
|
|
68
|
-
|
|
67
|
+
name: bundler
|
|
69
68
|
prerelease: false
|
|
69
|
+
type: :development
|
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
@@ -106,6 +106,7 @@ files:
|
|
|
106
106
|
- features/config_project_name.feature
|
|
107
107
|
- features/config_styles.feature
|
|
108
108
|
- features/config_tracked_files.feature
|
|
109
|
+
- features/config_tracked_files_relevant_lines.feature
|
|
109
110
|
- features/cucumber_basic.feature
|
|
110
111
|
- features/maximum_coverage_drop.feature
|
|
111
112
|
- features/merging_test_unit_and_rspec.feature
|
|
@@ -122,6 +123,7 @@ files:
|
|
|
122
123
|
- features/step_definitions/simplecov_steps.rb
|
|
123
124
|
- features/step_definitions/transformers.rb
|
|
124
125
|
- features/step_definitions/web_steps.rb
|
|
126
|
+
- features/support/aruba_freedom_patch.rb
|
|
125
127
|
- features/support/env.rb
|
|
126
128
|
- features/test_unit_basic.feature
|
|
127
129
|
- features/test_unit_groups_and_filters_basic.feature
|
|
@@ -141,6 +143,7 @@ files:
|
|
|
141
143
|
- lib/simplecov/formatter/simple_formatter.rb
|
|
142
144
|
- lib/simplecov/jruby_fix.rb
|
|
143
145
|
- lib/simplecov/last_run.rb
|
|
146
|
+
- lib/simplecov/lines_classifier.rb
|
|
144
147
|
- lib/simplecov/load_global_config.rb
|
|
145
148
|
- lib/simplecov/no_defaults.rb
|
|
146
149
|
- lib/simplecov/profiles.rb
|
|
@@ -156,6 +159,7 @@ files:
|
|
|
156
159
|
- spec/command_guesser_spec.rb
|
|
157
160
|
- spec/config_loader_spec.rb
|
|
158
161
|
- spec/configuration_spec.rb
|
|
162
|
+
- spec/defaults_spec.rb
|
|
159
163
|
- spec/deleted_source_spec.rb
|
|
160
164
|
- spec/faked_project/Gemfile
|
|
161
165
|
- spec/faked_project/Rakefile
|
|
@@ -196,11 +200,13 @@ files:
|
|
|
196
200
|
- spec/fixtures/utf-8.rb
|
|
197
201
|
- spec/helper.rb
|
|
198
202
|
- spec/last_run_spec.rb
|
|
203
|
+
- spec/lines_classifier_spec.rb
|
|
199
204
|
- spec/multi_formatter_spec.rb
|
|
200
205
|
- spec/raw_coverage_spec.rb
|
|
201
206
|
- spec/result_merger_spec.rb
|
|
202
207
|
- spec/result_spec.rb
|
|
203
208
|
- spec/return_codes_spec.rb
|
|
209
|
+
- spec/simplecov_spec.rb
|
|
204
210
|
- spec/source_file_line_spec.rb
|
|
205
211
|
- spec/source_file_spec.rb
|
|
206
212
|
- spec/support/fail_rspec_on_ruby_warning.rb
|
|
@@ -208,7 +214,7 @@ homepage: http://github.com/colszowka/simplecov
|
|
|
208
214
|
licenses:
|
|
209
215
|
- MIT
|
|
210
216
|
metadata: {}
|
|
211
|
-
post_install_message:
|
|
217
|
+
post_install_message:
|
|
212
218
|
rdoc_options: []
|
|
213
219
|
require_paths:
|
|
214
220
|
- lib
|
|
@@ -223,9 +229,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
223
229
|
- !ruby/object:Gem::Version
|
|
224
230
|
version: '0'
|
|
225
231
|
requirements: []
|
|
226
|
-
rubyforge_project:
|
|
227
|
-
rubygems_version: 2.6.
|
|
228
|
-
signing_key:
|
|
232
|
+
rubyforge_project:
|
|
233
|
+
rubygems_version: 2.6.11
|
|
234
|
+
signing_key:
|
|
229
235
|
specification_version: 4
|
|
230
236
|
summary: Code coverage for Ruby 1.9+ with a powerful configuration library and automatic
|
|
231
237
|
merging of coverage across test suites
|