simplecov 0.11.1 → 0.13.0

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.
@@ -1,108 +1,126 @@
1
1
  require "helper"
2
2
 
3
- describe "merge helpers" do
4
- describe "with two faked coverage resultsets" do
5
- before do
6
- SimpleCov.use_merging true
7
- @resultset1 = {
8
- source_fixture("sample.rb") => [nil, 1, 1, 1, nil, nil, 1, 1, nil, nil],
9
- source_fixture("app/models/user.rb") => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
10
- source_fixture("app/controllers/sample_controller.rb") => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
11
- source_fixture("resultset1.rb") => [1, 1, 1, 1],
12
- }
13
-
14
- @resultset2 = {
15
- source_fixture("sample.rb") => [1, nil, 1, 1, nil, nil, 1, 1, nil, nil],
16
- source_fixture("app/models/user.rb") => [nil, 1, 5, 1, nil, nil, 1, 0, nil, nil],
17
- source_fixture("app/controllers/sample_controller.rb") => [nil, 3, 1, nil, nil, nil, 1, 0, nil, nil],
18
- source_fixture("resultset2.rb") => [nil, 1, 1, nil],
19
- }
20
- end
21
-
22
- context "a merge" do
23
- subject do
24
- @resultset1.merge_resultset(@resultset2)
25
- end
26
-
27
- it "has proper results for sample.rb" do
28
- expect(subject[source_fixture("sample.rb")]).to eq([1, 1, 2, 2, nil, nil, 2, 2, nil, nil])
29
- end
30
-
31
- it "has proper results for user.rb" do
32
- expect(subject[source_fixture("app/models/user.rb")]).to eq([nil, 2, 6, 2, nil, nil, 2, 0, nil, nil])
3
+ if SimpleCov.usable?
4
+ describe "merge helpers" do
5
+ describe "with two faked coverage resultsets" do
6
+ before do
7
+ SimpleCov.use_merging true
8
+ @resultset1 = {
9
+ source_fixture("sample.rb") => [nil, 1, 1, 1, nil, nil, 1, 1, nil, nil],
10
+ source_fixture("app/models/user.rb") => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
11
+ source_fixture("app/controllers/sample_controller.rb") => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
12
+ source_fixture("resultset1.rb") => [1, 1, 1, 1],
13
+ source_fixture("parallel_tests.rb") => [nil, 0, nil, 0],
14
+ source_fixture("conditionally_loaded_1.rb") => [nil, 0, 1], # loaded only in the first resultset
15
+ }.extend(SimpleCov::HashMergeHelper)
16
+
17
+ @resultset2 = {
18
+ source_fixture("sample.rb") => [1, nil, 1, 1, nil, nil, 1, 1, nil, nil],
19
+ source_fixture("app/models/user.rb") => [nil, 1, 5, 1, nil, nil, 1, 0, nil, nil],
20
+ source_fixture("app/controllers/sample_controller.rb") => [nil, 3, 1, nil, nil, nil, 1, 0, nil, nil],
21
+ source_fixture("resultset2.rb") => [nil, 1, 1, nil],
22
+ source_fixture("parallel_tests.rb") => [nil, nil, 0, 0],
23
+ source_fixture("conditionally_loaded_2.rb") => [nil, 0, 1], # loaded only in the second resultset
24
+ }
33
25
  end
34
26
 
35
- it "has proper results for sample_controller.rb" do
36
- expect(subject[source_fixture("app/controllers/sample_controller.rb")]).to eq([nil, 4, 2, 1, nil, nil, 2, 0, nil, nil])
37
- end
27
+ context "a merge" do
28
+ subject do
29
+ @resultset1.merge_resultset(@resultset2)
30
+ end
38
31
 
39
- it "has proper results for resultset1.rb" do
40
- expect(subject[source_fixture("resultset1.rb")]).to eq([1, 1, 1, 1])
41
- end
32
+ it "has proper results for sample.rb" do
33
+ expect(subject[source_fixture("sample.rb")]).to eq([1, 1, 2, 2, nil, nil, 2, 2, nil, nil])
34
+ end
42
35
 
43
- it "has proper results for resultset2.rb" do
44
- expect(subject[source_fixture("resultset2.rb")]).to eq([nil, 1, 1, nil])
45
- end
46
- end
36
+ it "has proper results for user.rb" do
37
+ expect(subject[source_fixture("app/models/user.rb")]).to eq([nil, 2, 6, 2, nil, nil, 2, 0, nil, nil])
38
+ end
47
39
 
48
- # See Github issue #6
49
- it "returns an empty hash when the resultset cache file is empty" do
50
- File.open(SimpleCov::ResultMerger.resultset_path, "w+") { |f| f.puts "" }
51
- expect(SimpleCov::ResultMerger.resultset).to be_empty
52
- end
40
+ it "has proper results for sample_controller.rb" do
41
+ expect(subject[source_fixture("app/controllers/sample_controller.rb")]).to eq([nil, 4, 2, 1, nil, nil, 2, 0, nil, nil])
42
+ end
53
43
 
54
- # See Github issue #6
55
- it "returns an empty hash when the resultset cache file is not present" do
56
- system "rm #{SimpleCov::ResultMerger.resultset_path}" if File.exist?(SimpleCov::ResultMerger.resultset_path)
57
- expect(SimpleCov::ResultMerger.resultset).to be_empty
58
- end
44
+ it "has proper results for resultset1.rb" do
45
+ expect(subject[source_fixture("resultset1.rb")]).to eq([1, 1, 1, 1])
46
+ end
59
47
 
60
- context "and results generated from those" do
61
- before do
62
- system "rm #{SimpleCov::ResultMerger.resultset_path}" if File.exist?(SimpleCov::ResultMerger.resultset_path)
63
- @result1 = SimpleCov::Result.new(@resultset1)
64
- @result1.command_name = "result1"
65
- @result2 = SimpleCov::Result.new(@resultset2)
66
- @result2.command_name = "result2"
67
- end
48
+ it "has proper results for resultset2.rb" do
49
+ expect(subject[source_fixture("resultset2.rb")]).to eq([nil, 1, 1, nil])
50
+ end
68
51
 
69
- context "with stored results" do
70
- before do
71
- SimpleCov::ResultMerger.store_result(@result1)
72
- SimpleCov::ResultMerger.store_result(@result2)
52
+ it "has proper results for parallel_tests.rb" do
53
+ expect(subject[source_fixture("parallel_tests.rb")]).to eq([nil, nil, nil, 0])
73
54
  end
74
55
 
75
- it "has stored data in resultset_path JSON file" do
76
- expect(File.readlines(SimpleCov::ResultMerger.resultset_path).length).to be > 50
56
+ it "has proper results for conditionally_loaded_1.rb" do
57
+ expect(subject[source_fixture("conditionally_loaded_1.rb")]).to eq([nil, 0, 1])
77
58
  end
78
59
 
79
- it "returns a hash containing keys ['result1' and 'result2'] for resultset" do
80
- expect(SimpleCov::ResultMerger.resultset.keys.sort).to eq %w(result1 result2)
60
+ it "has proper results for conditionally_loaded_2.rb" do
61
+ expect(subject[source_fixture("conditionally_loaded_2.rb")]).to eq([nil, 0, 1])
81
62
  end
63
+ end
64
+
65
+ # See Github issue #6
66
+ it "returns an empty hash when the resultset cache file is empty" do
67
+ File.open(SimpleCov::ResultMerger.resultset_path, "w+") { |f| f.puts "" }
68
+ expect(SimpleCov::ResultMerger.resultset).to be_empty
69
+ end
70
+
71
+ # See Github issue #6
72
+ it "returns an empty hash when the resultset cache file is not present" do
73
+ system "rm #{SimpleCov::ResultMerger.resultset_path}" if File.exist?(SimpleCov::ResultMerger.resultset_path)
74
+ expect(SimpleCov::ResultMerger.resultset).to be_empty
75
+ end
82
76
 
83
- it "returns proper values for merged_result" do
84
- expect(SimpleCov::ResultMerger.merged_result.source_files.find { |s| s.filename =~ /user/ }.lines.map(&:coverage)).to eq([nil, 2, 6, 2, nil, nil, 2, 0, nil, nil])
77
+ context "and results generated from those" do
78
+ before do
79
+ system "rm #{SimpleCov::ResultMerger.resultset_path}" if File.exist?(SimpleCov::ResultMerger.resultset_path)
80
+ @result1 = SimpleCov::Result.new(@resultset1)
81
+ @result1.command_name = "result1"
82
+ @result2 = SimpleCov::Result.new(@resultset2)
83
+ @result2.command_name = "result2"
85
84
  end
86
85
 
87
- context "with second result way above the merge_timeout" do
86
+ context "with stored results" do
88
87
  before do
89
- @result2.created_at = Time.now - 172_800 # two days ago
88
+ SimpleCov::ResultMerger.store_result(@result1)
90
89
  SimpleCov::ResultMerger.store_result(@result2)
91
90
  end
92
91
 
93
- it "has only one result in SimpleCov::ResultMerger.results" do
94
- expect(SimpleCov::ResultMerger.results.length).to eq(1)
92
+ it "has stored data in resultset_path JSON file" do
93
+ expect(File.readlines(SimpleCov::ResultMerger.resultset_path).length).to be > 50
94
+ end
95
+
96
+ it "returns a hash containing keys ['result1' and 'result2'] for resultset" do
97
+ expect(SimpleCov::ResultMerger.resultset.keys.sort).to eq %w(result1 result2)
98
+ end
99
+
100
+ it "returns proper values for merged_result" do
101
+ expect(SimpleCov::ResultMerger.merged_result.source_files.find { |s| s.filename =~ /user/ }.lines.map(&:coverage)).to eq([nil, 2, 6, 2, nil, nil, 2, 0, nil, nil])
102
+ end
103
+
104
+ context "with second result way above the merge_timeout" do
105
+ before do
106
+ @result2.created_at = Time.now - 172_800 # two days ago
107
+ SimpleCov::ResultMerger.store_result(@result2)
108
+ end
109
+
110
+ it "has only one result in SimpleCov::ResultMerger.results" do
111
+ expect(SimpleCov::ResultMerger.results.length).to eq(1)
112
+ end
95
113
  end
96
- end
97
114
 
98
- context "with merging disabled" do
99
- before { SimpleCov.use_merging false }
115
+ context "with merging disabled" do
116
+ before { SimpleCov.use_merging false }
100
117
 
101
- it "returns nil for SimpleCov.result" do
102
- expect(SimpleCov.result).to be_nil
118
+ it "returns nil for SimpleCov.result" do
119
+ expect(SimpleCov.result).to be_nil
120
+ end
103
121
  end
104
122
  end
105
123
  end
106
124
  end
107
125
  end
108
- end if SimpleCov.usable?
126
+ end
data/spec/result_spec.rb CHANGED
@@ -1,207 +1,209 @@
1
1
  require "helper"
2
2
 
3
- describe "result" do
4
- context "with a (mocked) Coverage.result" do
5
- before do
6
- @prev_filters = SimpleCov.filters
7
- SimpleCov.filters = []
8
- @prev_groups = SimpleCov.groups
9
- SimpleCov.groups = {}
10
- @prev_formatter = SimpleCov.formatter
11
- SimpleCov.formatter = nil
12
- end
13
-
14
- after do
15
- SimpleCov.filters = @prev_filters
16
- SimpleCov.groups = @prev_groups
17
- SimpleCov.formatter = @prev_formatter
18
- end
19
-
20
- let(:original_result) do
21
- {
22
- source_fixture("sample.rb") => [nil, 1, 1, 1, nil, nil, 1, 1, nil, nil],
23
- source_fixture("app/models/user.rb") => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
24
- source_fixture("app/controllers/sample_controller.rb") => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
25
- }
26
- end
27
-
28
- context "a simple cov result initialized from that" do
29
- subject { SimpleCov::Result.new(original_result) }
30
-
31
- it "has 3 filenames" do
32
- expect(subject.filenames.count).to eq(3)
33
- end
34
-
35
- it "has 3 source files" do
36
- expect(subject.source_files.count).to eq(3)
37
- subject.source_files.each do |source_file|
38
- expect(source_file).to be_a SimpleCov::SourceFile
39
- end
3
+ if SimpleCov.usable?
4
+ describe "result" do
5
+ context "with a (mocked) Coverage.result" do
6
+ before do
7
+ @prev_filters = SimpleCov.filters
8
+ SimpleCov.filters = []
9
+ @prev_groups = SimpleCov.groups
10
+ SimpleCov.groups = {}
11
+ @prev_formatter = SimpleCov.formatter
12
+ SimpleCov.formatter = nil
40
13
  end
41
14
 
42
- it "returns an instance of SimpleCov::FileList for source_files and files" do
43
- expect(subject.files).to be_a SimpleCov::FileList
44
- expect(subject.source_files).to be_a SimpleCov::FileList
15
+ after do
16
+ SimpleCov.filters = @prev_filters
17
+ SimpleCov.groups = @prev_groups
18
+ SimpleCov.formatter = @prev_formatter
45
19
  end
46
20
 
47
- it "has files equal to source_files" do
48
- expect(subject.files).to eq(subject.source_files)
21
+ let(:original_result) do
22
+ {
23
+ source_fixture("sample.rb") => [nil, 1, 1, 1, nil, nil, 1, 1, nil, nil],
24
+ source_fixture("app/models/user.rb") => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
25
+ source_fixture("app/controllers/sample_controller.rb") => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
26
+ }
49
27
  end
50
28
 
51
- it "has accurate covered percent" do
52
- # in our fixture, there are 13 covered line (result in 1) in all 15 relevant line (result in non-nil)
53
- expect(subject.covered_percent).to eq(86.66666666666667)
54
- end
29
+ context "a simple cov result initialized from that" do
30
+ subject { SimpleCov::Result.new(original_result) }
55
31
 
56
- it "has accurate covered percentages" do
57
- expect(subject.covered_percentages).to eq([80.0, 80.0, 100.0])
58
- end
32
+ it "has 3 filenames" do
33
+ expect(subject.filenames.count).to eq(3)
34
+ end
59
35
 
60
- it "has accurate least covered file" do
61
- expect(subject.least_covered_file).to match(/sample_controller.rb/)
62
- end
36
+ it "has 3 source files" do
37
+ expect(subject.source_files.count).to eq(3)
38
+ subject.source_files.each do |source_file|
39
+ expect(source_file).to be_a SimpleCov::SourceFile
40
+ end
41
+ end
63
42
 
64
- [:covered_percent, :covered_percentages, :least_covered_file, :covered_strength, :covered_lines, :missed_lines, :total_lines].each do |msg|
65
- it "responds to #{msg}" do
66
- expect(subject).to respond_to(msg)
43
+ it "returns an instance of SimpleCov::FileList for source_files and files" do
44
+ expect(subject.files).to be_a SimpleCov::FileList
45
+ expect(subject.source_files).to be_a SimpleCov::FileList
67
46
  end
68
- end
69
47
 
70
- context "dumped with to_hash" do
71
- it "is a hash" do
72
- expect(subject.to_hash).to be_a Hash
48
+ it "has files equal to source_files" do
49
+ expect(subject.files).to eq(subject.source_files)
73
50
  end
74
51
 
75
- context "loaded back with from_hash" do
76
- let(:dumped_result) do
77
- SimpleCov::Result.from_hash(subject.to_hash)
78
- end
52
+ it "has accurate covered percent" do
53
+ # in our fixture, there are 13 covered line (result in 1) in all 15 relevant line (result in non-nil)
54
+ expect(subject.covered_percent).to eq(86.66666666666667)
55
+ end
79
56
 
80
- it "has 3 source files" do
81
- expect(dumped_result.source_files.count).to eq(subject.source_files.count)
82
- end
57
+ it "has accurate covered percentages" do
58
+ expect(subject.covered_percentages).to eq([80.0, 80.0, 100.0])
59
+ end
83
60
 
84
- it "has the same covered_percent" do
85
- expect(dumped_result.covered_percent).to eq(subject.covered_percent)
86
- end
61
+ it "has accurate least covered file" do
62
+ expect(subject.least_covered_file).to match(/sample_controller.rb/)
63
+ end
87
64
 
88
- it "has the same covered_percentages" do
89
- expect(dumped_result.covered_percentages).to eq(subject.covered_percentages)
65
+ [:covered_percent, :covered_percentages, :least_covered_file, :covered_strength, :covered_lines, :missed_lines, :total_lines].each do |msg|
66
+ it "responds to #{msg}" do
67
+ expect(subject).to respond_to(msg)
90
68
  end
69
+ end
91
70
 
92
- it "has the same timestamp" do
93
- expect(dumped_result.created_at.to_i).to eq(subject.created_at.to_i)
71
+ context "dumped with to_hash" do
72
+ it "is a hash" do
73
+ expect(subject.to_hash).to be_a Hash
94
74
  end
95
75
 
96
- it "has the same command_name" do
97
- expect(dumped_result.command_name).to eq(subject.command_name)
98
- end
76
+ context "loaded back with from_hash" do
77
+ let(:dumped_result) do
78
+ SimpleCov::Result.from_hash(subject.to_hash)
79
+ end
99
80
 
100
- it "has the same original_result" do
101
- expect(dumped_result.original_result).to eq(subject.original_result)
102
- end
103
- end
104
- end
105
- end
81
+ it "has 3 source files" do
82
+ expect(dumped_result.source_files.count).to eq(subject.source_files.count)
83
+ end
106
84
 
107
- context "with some filters set up" do
108
- before do
109
- SimpleCov.add_filter "sample.rb"
110
- end
85
+ it "has the same covered_percent" do
86
+ expect(dumped_result.covered_percent).to eq(subject.covered_percent)
87
+ end
111
88
 
112
- it "has 2 files in a new simple cov result" do
113
- expect(SimpleCov::Result.new(original_result).source_files.length).to eq(2)
114
- end
89
+ it "has the same covered_percentages" do
90
+ expect(dumped_result.covered_percentages).to eq(subject.covered_percentages)
91
+ end
115
92
 
116
- it "has 80 covered percent" do
117
- expect(SimpleCov::Result.new(original_result).covered_percent).to eq(80)
118
- end
93
+ it "has the same timestamp" do
94
+ expect(dumped_result.created_at.to_i).to eq(subject.created_at.to_i)
95
+ end
119
96
 
120
- it "has [80.0, 80.0] covered percentages" do
121
- expect(SimpleCov::Result.new(original_result).covered_percentages).to eq([80.0, 80.0])
122
- end
123
- end
97
+ it "has the same command_name" do
98
+ expect(dumped_result.command_name).to eq(subject.command_name)
99
+ end
124
100
 
125
- context "with groups set up for all files" do
126
- before do
127
- SimpleCov.add_group "Models", "app/models"
128
- SimpleCov.add_group "Controllers", ["app/controllers"]
129
- SimpleCov.add_group "Other" do |src_file|
130
- File.basename(src_file.filename) == "sample.rb"
101
+ it "has the same original_result" do
102
+ expect(dumped_result.original_result).to eq(subject.original_result)
103
+ end
104
+ end
131
105
  end
132
106
  end
133
107
 
134
- subject do
135
- SimpleCov::Result.new(original_result)
136
- end
108
+ context "with some filters set up" do
109
+ before do
110
+ SimpleCov.add_filter "sample.rb"
111
+ end
137
112
 
138
- it "has 3 groups" do
139
- expect(subject.groups.length).to eq(3)
140
- end
113
+ it "has 2 files in a new simple cov result" do
114
+ expect(SimpleCov::Result.new(original_result).source_files.length).to eq(2)
115
+ end
141
116
 
142
- it "has user.rb in 'Models' group" do
143
- expect(File.basename(subject.groups["Models"].first.filename)).to eq("user.rb")
144
- end
117
+ it "has 80 covered percent" do
118
+ expect(SimpleCov::Result.new(original_result).covered_percent).to eq(80)
119
+ end
145
120
 
146
- it "has sample_controller.rb in 'Controllers' group" do
147
- expect(File.basename(subject.groups["Controllers"].first.filename)).to eq("sample_controller.rb")
121
+ it "has [80.0, 80.0] covered percentages" do
122
+ expect(SimpleCov::Result.new(original_result).covered_percentages).to eq([80.0, 80.0])
123
+ end
148
124
  end
149
125
 
150
- context "and simple formatter being used" do
126
+ context "with groups set up for all files" do
151
127
  before do
152
- SimpleCov.formatter = SimpleCov::Formatter::SimpleFormatter
128
+ SimpleCov.add_group "Models", "app/models"
129
+ SimpleCov.add_group "Controllers", ["app/controllers"]
130
+ SimpleCov.add_group "Other" do |src_file|
131
+ File.basename(src_file.filename) == "sample.rb"
132
+ end
153
133
  end
154
134
 
155
- it "returns a formatted string with result.format!" do
156
- expect(subject.format!).to be_a String
135
+ subject do
136
+ SimpleCov::Result.new(original_result)
157
137
  end
158
- end
159
138
 
160
- context "and multi formatter being used" do
161
- before do
162
- SimpleCov.formatters = [
163
- SimpleCov::Formatter::SimpleFormatter,
164
- SimpleCov::Formatter::SimpleFormatter,
165
- ]
139
+ it "has 3 groups" do
140
+ expect(subject.groups.length).to eq(3)
166
141
  end
167
142
 
168
- it "returns an array containing formatted string with result.format!" do
169
- formatted = subject.format!
170
- expect(formatted.count).to eq(2)
171
- expect(formatted.first).to be_a String
143
+ it "has user.rb in 'Models' group" do
144
+ expect(File.basename(subject.groups["Models"].first.filename)).to eq("user.rb")
172
145
  end
173
- end
174
- end
175
146
 
176
- context "with groups set up that do not match all files" do
177
- before do
178
- SimpleCov.configure do
179
- add_group "Models", "app/models"
180
- add_group "Controllers", "app/controllers"
147
+ it "has sample_controller.rb in 'Controllers' group" do
148
+ expect(File.basename(subject.groups["Controllers"].first.filename)).to eq("sample_controller.rb")
181
149
  end
182
- end
183
150
 
184
- subject { SimpleCov::Result.new(original_result) }
151
+ context "and simple formatter being used" do
152
+ before do
153
+ SimpleCov.formatter = SimpleCov::Formatter::SimpleFormatter
154
+ end
185
155
 
186
- it "has 3 groups" do
187
- expect(subject.groups.length).to eq(3)
188
- end
156
+ it "returns a formatted string with result.format!" do
157
+ expect(subject.format!).to be_a String
158
+ end
159
+ end
189
160
 
190
- it "has 1 item per group" do
191
- subject.groups.each_value do |files|
192
- expect(files.length).to eq(1)
161
+ context "and multi formatter being used" do
162
+ before do
163
+ SimpleCov.formatters = [
164
+ SimpleCov::Formatter::SimpleFormatter,
165
+ SimpleCov::Formatter::SimpleFormatter,
166
+ ]
167
+ end
168
+
169
+ it "returns an array containing formatted string with result.format!" do
170
+ formatted = subject.format!
171
+ expect(formatted.count).to eq(2)
172
+ expect(formatted.first).to be_a String
173
+ end
193
174
  end
194
175
  end
195
176
 
196
- it 'has sample.rb in "Ungrouped" group' do
197
- expect(File.basename(subject.groups["Ungrouped"].first.filename)).to eq("sample.rb")
198
- end
177
+ context "with groups set up that do not match all files" do
178
+ before do
179
+ SimpleCov.configure do
180
+ add_group "Models", "app/models"
181
+ add_group "Controllers", "app/controllers"
182
+ end
183
+ end
199
184
 
200
- it "returns all groups as instances of SimpleCov::FileList" do
201
- subject.groups.each_value do |files|
202
- expect(files).to be_a SimpleCov::FileList
185
+ subject { SimpleCov::Result.new(original_result) }
186
+
187
+ it "has 3 groups" do
188
+ expect(subject.groups.length).to eq(3)
189
+ end
190
+
191
+ it "has 1 item per group" do
192
+ subject.groups.each_value do |files|
193
+ expect(files.length).to eq(1)
194
+ end
195
+ end
196
+
197
+ it 'has sample.rb in "Ungrouped" group' do
198
+ expect(File.basename(subject.groups["Ungrouped"].first.filename)).to eq("sample.rb")
199
+ end
200
+
201
+ it "returns all groups as instances of SimpleCov::FileList" do
202
+ subject.groups.each_value do |files|
203
+ expect(files).to be_a SimpleCov::FileList
204
+ end
203
205
  end
204
206
  end
205
207
  end
206
208
  end
207
- end if SimpleCov.usable?
209
+ end
@@ -4,14 +4,11 @@ require "helper"
4
4
  # See https://github.com/colszowka/simplecov/issues/5
5
5
  describe "return codes" do
6
6
  context "inside fixtures/frameworks" do
7
- before do
8
- @current_dir = Dir.getwd
9
- Dir.chdir(File.join(File.dirname(__FILE__), "fixtures", "frameworks"))
10
- FileUtils.rm_rf("./coverage")
11
- end
12
-
13
- after do
14
- Dir.chdir(@current_dir)
7
+ around do |test|
8
+ Dir.chdir(File.join(File.dirname(__FILE__), "fixtures", "frameworks")) do
9
+ FileUtils.rm_rf("./coverage")
10
+ test.call
11
+ end
15
12
  end
16
13
 
17
14
  it "has return code 0 when running testunit_good.rb" do