Skip to content

Commit 5987457

Browse files
committed
add specs for method cov merging
1 parent 15c03b2 commit 5987457

File tree

2 files changed

+69
-2
lines changed

2 files changed

+69
-2
lines changed

spec/result_merger_spec.rb

+67
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,73 @@
165165
expect_resultset_1_and_2_merged(result_hash)
166166
end
167167
end
168+
169+
describe "method coverage" do
170+
before do
171+
SimpleCov.enable_coverage :method
172+
store_result(result3, path: resultset3_path)
173+
end
174+
175+
after do
176+
SimpleCov.clear_coverage_criteria
177+
end
178+
179+
let(:resultset1) do
180+
{
181+
source_fixture("methods.rb") => {
182+
methods: {
183+
["A", :method1, 2, 2, 5, 5] => 1,
184+
["A", :method2, 9, 2, 11, 5] => 0,
185+
["A", :method3, 13, 2, 15, 5] => 0
186+
}
187+
}
188+
}
189+
end
190+
191+
let(:resultset2) do
192+
{
193+
source_fixture("methods.rb") => {
194+
methods: {
195+
["A", :method1, 2, 2, 5, 5] => 0,
196+
["A", :method2, 9, 2, 11, 5] => 1,
197+
["A", :method3, 13, 2, 15, 5] => 0
198+
}
199+
}
200+
}
201+
end
202+
203+
let(:resultset3) do
204+
{
205+
source_fixture("methods.rb") => {
206+
methods: {
207+
["B", :method1, 2, 2, 5, 5] => 1,
208+
["B", :method2, 9, 2, 11, 5] => 0,
209+
["B", :method3, 13, 2, 15, 5] => 0
210+
}
211+
}
212+
}
213+
end
214+
215+
let(:result3) { SimpleCov::Result.new(resultset3, command_name: "result3") }
216+
let(:resultset3_path) { "#{resultset_prefix}3.json" }
217+
218+
it "correctly merges the 3 results" do
219+
result = SimpleCov::ResultMerger.merge_and_store(
220+
resultset1_path, resultset2_path, resultset3_path
221+
)
222+
223+
merged_coverage = result.original_result.fetch(source_fixture("methods.rb"))
224+
225+
expect(merged_coverage.fetch(:methods)).to eq(
226+
["A", :method1, 2, 2, 5, 5] => 1,
227+
["A", :method2, 9, 2, 11, 5] => 1,
228+
["A", :method3, 13, 2, 15, 5] => 0,
229+
["B", :method1, 2, 2, 5, 5] => 1,
230+
["B", :method2, 9, 2, 11, 5] => 0,
231+
["B", :method3, 13, 2, 15, 5] => 0
232+
)
233+
end
234+
end
168235
end
169236

170237
context "pre 0.18 result format" do

spec/source_file_spec.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,9 @@
189189
lines: [1, 1, 1, 1, nil, nil, 1, nil, 1, 1, nil, nil, 1, 0, nil, nil, nil, 1],
190190
branches: {},
191191
methods: {
192-
["A", :method3, 13, 2, 15, 5] => 0,
192+
["A", :method1, 2, 2, 5, 5] => 1,
193193
["A", :method2, 9, 2, 11, 5] => 1,
194-
["A", :method1, 2, 2, 5, 5] => 1
194+
["A", :method3, 13, 2, 15, 5] => 0
195195
}
196196
}
197197
end

0 commit comments

Comments
 (0)