mirror of
https://github.com/ditkrg/simplecov-json.git
synced 2026-01-22 13:56:48 +00:00
80 lines
2.5 KiB
Ruby
80 lines
2.5 KiB
Ruby
require 'helper'
|
|
|
|
class TestSimpleCovHtml < Test::Unit::TestCase
|
|
def test_format
|
|
formatter = SimpleCov::Formatter::JSONFormatter.new
|
|
result = mock()
|
|
foo = mock()
|
|
bar = mock()
|
|
created_at = DateTime.now.to_s
|
|
result.expects(:created_at).returns(created_at)
|
|
result.expects(:command_name).returns('RSpec')
|
|
|
|
fooLineList = mock()
|
|
fooLineList.expects(:count).returns(2)
|
|
|
|
barLineList = mock()
|
|
barLineList.expects(:count).returns(5)
|
|
|
|
foo.expects(:filename).twice.returns('/lib/foo.rb')
|
|
foo.expects(:covered_percent).returns(50.0)
|
|
foo.expects(:coverage_data).returns([1, nil, 0, 0, nil, 1, nil])
|
|
foo.expects(:covered_strength).twice.returns(0.50)
|
|
foo.expects(:covered_lines).returns(fooLineList)
|
|
foo.expects(:lines_of_code).returns(4)
|
|
|
|
bar.expects(:filename).twice.returns('/lib/bar.rb')
|
|
bar.expects(:covered_percent).returns(71.42)
|
|
bar.expects(:coverage_data).returns([nil, 1, nil, 1, 1, 1, 0, 0, nil, 1, nil])
|
|
bar.expects(:covered_strength).twice.returns(0.71)
|
|
bar.expects(:covered_lines).returns(barLineList)
|
|
bar.expects(:lines_of_code).returns(7)
|
|
|
|
result.expects(:files).returns([foo, bar])
|
|
result.expects(:filenames).twice.returns(['/lib/foo.rb', '/lib/bar.rb'])
|
|
result.expects(:covered_percent).returns(73.33)
|
|
result.expects(:covered_strength).twice.returns(0.87)
|
|
result.expects(:covered_lines).returns(11)
|
|
result.expects(:total_lines).returns(15)
|
|
|
|
result.expects(:command_name).returns('RSpec')
|
|
result.expects(:covered_lines).returns(11)
|
|
result.expects(:total_lines).returns(15)
|
|
result.expects(:covered_percent).returns(73.33)
|
|
|
|
|
|
# filename
|
|
# covered_percent
|
|
# coverage
|
|
# covered_strength
|
|
# covered_lines
|
|
# lines_of_code
|
|
assert_equal(formatter.format(result), {
|
|
'timestamp' => created_at.to_i,
|
|
'command_name' => 'RSpec',
|
|
'files' => [
|
|
{'filename' => '/lib/foo.rb',
|
|
'covered_percent' => 50.0,
|
|
'coverage' => [1, nil, 0, 0, nil, 1, nil],
|
|
'covered_strength' => 0.50,
|
|
'covered_lines' => 2,
|
|
'lines_of_code' => 4
|
|
},
|
|
{'filename' => '/lib/bar.rb',
|
|
'covered_percent' => 71.42,
|
|
'coverage' => [nil, 1, nil, 1, 1, 1, 0, 0, nil, 1, nil],
|
|
'covered_strength' => 0.71,
|
|
'covered_lines' => 5,
|
|
'lines_of_code' => 7
|
|
},
|
|
],
|
|
'metrics' => {
|
|
'covered_percent' => 73.33,
|
|
'covered_strength' => 0.87,
|
|
'covered_lines' => 11,
|
|
'total_lines' => 15,
|
|
}
|
|
}.to_json)
|
|
end
|
|
end
|