Skip to content

Commit 97c94a0

Browse files
committed
test: Add test for invalid branch syntax
1 parent 468b47b commit 97c94a0

2 files changed

Lines changed: 31 additions & 0 deletions

File tree

tests/coverage/cobertura.test.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,20 @@ describe('CoberturaCoverageParser', () => {
210210
// 4 lines with hits (covered or partial), 1 not covered
211211
expect(file.coverage).toEqual({ linesCovered: 4, totalLines: 5, branchesCovered: 3, totalBranches: 6, lineCoverage: 0.8, branchCoverage: 3 / 6 })
212212
})
213+
214+
it('ignores branch data if invalid syntax was provided', async () => {
215+
const content = await loadResource('branch-invalid-syntax.xml')
216+
const report = await parser.parse(content, undefined)
217+
218+
const file = report.packages[0]!.files[0]!
219+
expect(file.lines[0]).toEqual<LineCoverage>({ lineNumber: 1, covered: true, branchesCovered: 0, totalBranches: 0 }) // No branch
220+
expect(file.lines[1]).toEqual<LineCoverage>({ lineNumber: 2, covered: true, branchesCovered: 0, totalBranches: 0 })
221+
expect(file.lines[2]).toEqual<LineCoverage>({ lineNumber: 3, covered: true, branchesCovered: 0, totalBranches: 0 })
222+
expect(file.lines[3]).toEqual<LineCoverage>({ lineNumber: 4, covered: true, branchesCovered: 0, totalBranches: 0 })
223+
224+
// All lines covered
225+
expect(file.coverage).toEqual({ linesCovered: 4, totalLines: 4, branchesCovered: 0, totalBranches: 0, lineCoverage: 1, branchCoverage: undefined })
226+
})
213227
})
214228

215229
describe('class merging', () => {
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<coverage line-rate="1.0" branch-rate="0.33" lines-covered="3" lines-valid="3" branches-covered="2" branches-valid="6">
3+
<packages>
4+
<package name="branch.invalid" line-rate="1.0" branch-rate="0.5" complexity="2">
5+
<classes>
6+
<class name="InvalidBranchClass" filename="src/branch-invalid.ts" line-rate="1.0" branch-rate="0.5" complexity="2">
7+
<lines>
8+
<line number="1" hits="5" branch="False" />
9+
<line number="2" hits="3" branch="True" condition-coverage="50% (1/)" />
10+
<line number="3" hits="2" branch="True" condition-coverage="50% (a/2)" />
11+
<line number="4" hits="2" branch="True" condition-coverage="50% (3/c)" />
12+
</lines>
13+
</class>
14+
</classes>
15+
</package>
16+
</packages>
17+
</coverage>

0 commit comments

Comments
 (0)