Skip to content

Commit

Permalink
Add specs to test each filetype
Browse files Browse the repository at this point in the history
  • Loading branch information
littleforest committed May 22, 2024
1 parent 32db018 commit ea9e589
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 7 deletions.
92 changes: 88 additions & 4 deletions spec/coverage_reporter/parser_spec.cr
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,94 @@ Spectator.describe CoverageReporter::Parser do

describe "#parse" do
context "for exact file" do
let(coverage_files) { ["spec/fixtures/lcov/test.lcov"] }
context "clover" do
let(coverage_files) { ["spec/fixtures/clover/clover-unleash.xml"] }

it "returns reports for one file" do
reports = subject.parse
it "returns reports for one file" do
reports = subject.parse

expect(reports.size).to be > 0
end
end

context "cobertura" do
let(coverage_files) { ["spec/fixtures/cobertura/cobertura.xml"] }

it "returns reports" do
reports = subject.parse

expect(reports.size).to be > 0
end
end

context "jacoco" do
let(coverage_files) { ["spec/fixtures/jacoco/jacoco-report.xml"] }

it "returns reports" do
reports = subject.parse

expect(reports.size).to be > 0
end
end

context "golang" do
let(coverage_files) { ["spec/fixtures/golang/coverage.out"] }

it "returns reports" do
reports = subject.parse

expect(reports.size).to be > 0
end
end

context "python" do
let(coverage_files) { ["spec/fixtures/python/.coverage"] }

it "returns reports" do
reports = subject.parse

expect(reports.size).to eq 2
expect(reports.size).to be > 0
end
end

context "coveralls" do
let(coverage_files) { ["spec/fixtures/coveralls/coveralls.json"] }

it "returns reports" do
reports = subject.parse

expect(reports.size).to be > 0
end
end

context "lcov" do
let(coverage_files) { ["spec/fixtures/lcov/test.lcov"] }

it "returns reports for one file" do
reports = subject.parse

expect(reports.size).to be > 0
end
end

context "simplecov" do
let(coverage_files) { ["spec/fixtures/simplecov/with-only-lines.resultset.json"] }

it "returns reports" do
reports = subject.parse

expect(reports.size).to be > 0
end
end

context "gcov" do
let(coverage_files) { ["spec/fixtures/gcov/main.c.gcov"] }

it "returns reports" do
reports = subject.parse

expect(reports.size).to be > 0
end
end

context "for non-existing file" do
Expand All @@ -37,6 +119,7 @@ Spectator.describe CoverageReporter::Parser do
end

context "when coverage format forced (lcov)" do
let(coverage_files) { ["spec/fixtures/lcov/test.lcov"] }
let(coverage_format) { "lcov" }

it "returns report only for specified format" do
Expand Down Expand Up @@ -97,6 +180,7 @@ Spectator.describe CoverageReporter::Parser do
end

context "for unknown coverage format" do
let(coverage_files) { ["spec/fixtures/lcov/test.lcov"] }
let(coverage_format) { "unknown" }

it "raises error" do
Expand Down
3 changes: 2 additions & 1 deletion src/coverage_reporter/parsers/gcov_parser.cr
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ module CoverageReporter
end

def matches?(filename : String) : Bool
true
!filename.ends_with?(".resultset.json") &&
!filename.ends_with?(".lcov") && !filename.ends_with?("lcov.info")
end

def parse(filename : String) : Array(FileReport)
Expand Down
2 changes: 1 addition & 1 deletion src/coverage_reporter/parsers/lcov_parser.cr
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ module CoverageReporter
end

def matches?(filename : String) : Bool
true
!filename.ends_with?(".resultset.json") && !filename.ends_with?(".gcov")
end

def parse(filename : String) : Array(FileReport)
Expand Down
3 changes: 2 additions & 1 deletion src/coverage_reporter/parsers/simplecov_parser.cr
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ module CoverageReporter
end

def matches?(filename : String) : Bool
true
!filename.ends_with?(".gcov") &&
!filename.ends_with?(".lcov") && !filename.ends_with?("lcov.info")
end

def parse(filename : String) : Array(FileReport)
Expand Down

0 comments on commit ea9e589

Please sign in to comment.