forked from Madrapps/jacoco-report
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ffbedd1
commit 65ff716
Showing
7 changed files
with
463 additions
and
380 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
node_modules | ||
.idea | ||
.idea | ||
coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,157 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" | ||
"report.dtd"> | ||
<report name="jacoco-playground"> | ||
<sessioninfo id="Apples-MacBook-Pro.local-454f6086" start="1612575925213" dump="1612575926219"/> | ||
<sessioninfo id="Apples-MacBook-Pro.local-da407ff" start="1613997096666" dump="1613997097758"/> | ||
<package name="com/madrapps/jacoco"> | ||
<class name="com/madrapps/jacoco/Arithmetic"> | ||
<method name="add" desc="(II)I" line="6"> | ||
<counter type="INSTRUCTION" missed="0" covered="4"/> | ||
<counter type="LINE" missed="0" covered="1"/> | ||
<counter type="COMPLEXITY" missed="0" covered="1"/> | ||
<counter type="METHOD" missed="0" covered="1"/> | ||
</method> | ||
<method name="subtract" desc="(II)I" line="10"> | ||
<counter type="INSTRUCTION" missed="4" covered="0"/> | ||
<counter type="LINE" missed="1" covered="0"/> | ||
<counter type="COMPLEXITY" missed="1" covered="0"/> | ||
<counter type="METHOD" missed="1" covered="0"/> | ||
</method> | ||
<method name="multiply" desc="(II)I" line="14"> | ||
<counter type="INSTRUCTION" missed="4" covered="0"/> | ||
<counter type="LINE" missed="1" covered="0"/> | ||
<counter type="COMPLEXITY" missed="1" covered="0"/> | ||
<counter type="METHOD" missed="1" covered="0"/> | ||
</method> | ||
<method name="<init>" desc="()V" line="3"> | ||
<counter type="INSTRUCTION" missed="0" covered="3"/> | ||
<counter type="LINE" missed="0" covered="1"/> | ||
<counter type="COMPLEXITY" missed="0" covered="1"/> | ||
<counter type="METHOD" missed="0" covered="1"/> | ||
</method> | ||
<counter type="INSTRUCTION" missed="8" covered="7"/> | ||
<counter type="LINE" missed="2" covered="2"/> | ||
<counter type="COMPLEXITY" missed="2" covered="2"/> | ||
<counter type="METHOD" missed="2" covered="2"/> | ||
<counter type="CLASS" missed="0" covered="1"/> | ||
</class> | ||
<class name="com/madrapps/jacoco/Utils"> | ||
<method name="<init>" desc="()V" line="3"> | ||
<counter type="INSTRUCTION" missed="0" covered="3"/> | ||
<counter type="LINE" missed="0" covered="1"/> | ||
<counter type="COMPLEXITY" missed="0" covered="1"/> | ||
<counter type="METHOD" missed="0" covered="1"/> | ||
</method> | ||
<method name="add" desc="(II)I" line="6"> | ||
<method name="multiply" desc="(II)I" line="6"> | ||
<counter type="INSTRUCTION" missed="4" covered="0"/> | ||
<counter type="LINE" missed="1" covered="0"/> | ||
<counter type="COMPLEXITY" missed="1" covered="0"/> | ||
<counter type="METHOD" missed="1" covered="0"/> | ||
</method> | ||
<method name="add" desc="(II)I" line="10"> | ||
<counter type="INSTRUCTION" missed="0" covered="4"/> | ||
<counter type="LINE" missed="0" covered="1"/> | ||
<counter type="COMPLEXITY" missed="0" covered="1"/> | ||
<counter type="METHOD" missed="0" covered="1"/> | ||
</method> | ||
<method name="subtract" desc="(II)I" line="10"> | ||
<method name="square" desc="(I)I" line="14"> | ||
<counter type="INSTRUCTION" missed="4" covered="0"/> | ||
<counter type="LINE" missed="1" covered="0"/> | ||
<counter type="COMPLEXITY" missed="1" covered="0"/> | ||
<counter type="METHOD" missed="1" covered="0"/> | ||
</method> | ||
<counter type="INSTRUCTION" missed="4" covered="7"/> | ||
<counter type="LINE" missed="1" covered="2"/> | ||
<counter type="COMPLEXITY" missed="1" covered="2"/> | ||
<counter type="METHOD" missed="1" covered="2"/> | ||
<method name="subtract" desc="(II)I" line="18"> | ||
<counter type="INSTRUCTION" missed="0" covered="4"/> | ||
<counter type="LINE" missed="0" covered="1"/> | ||
<counter type="COMPLEXITY" missed="0" covered="1"/> | ||
<counter type="METHOD" missed="0" covered="1"/> | ||
</method> | ||
<method name="divide" desc="(II)I" line="22"> | ||
<counter type="INSTRUCTION" missed="4" covered="0"/> | ||
<counter type="LINE" missed="1" covered="0"/> | ||
<counter type="COMPLEXITY" missed="1" covered="0"/> | ||
<counter type="METHOD" missed="1" covered="0"/> | ||
</method> | ||
<method name="cube" desc="(I)I" line="26"> | ||
<counter type="INSTRUCTION" missed="6" covered="0"/> | ||
<counter type="LINE" missed="1" covered="0"/> | ||
<counter type="COMPLEXITY" missed="1" covered="0"/> | ||
<counter type="METHOD" missed="1" covered="0"/> | ||
</method> | ||
<counter type="INSTRUCTION" missed="18" covered="11"/> | ||
<counter type="LINE" missed="4" covered="3"/> | ||
<counter type="COMPLEXITY" missed="4" covered="3"/> | ||
<counter type="METHOD" missed="4" covered="3"/> | ||
<counter type="CLASS" missed="0" covered="1"/> | ||
</class> | ||
<sourcefile name="Utils.java"> | ||
<line nr="3" mi="0" ci="3" mb="0" cb="0"/> | ||
<line nr="6" mi="4" ci="0" mb="0" cb="0"/> | ||
<line nr="10" mi="0" ci="4" mb="0" cb="0"/> | ||
<line nr="14" mi="4" ci="0" mb="0" cb="0"/> | ||
<line nr="18" mi="0" ci="4" mb="0" cb="0"/> | ||
<line nr="22" mi="4" ci="0" mb="0" cb="0"/> | ||
<line nr="26" mi="6" ci="0" mb="0" cb="0"/> | ||
<counter type="INSTRUCTION" missed="18" covered="11"/> | ||
<counter type="LINE" missed="4" covered="3"/> | ||
<counter type="COMPLEXITY" missed="4" covered="3"/> | ||
<counter type="METHOD" missed="4" covered="3"/> | ||
<counter type="CLASS" missed="0" covered="1"/> | ||
</sourcefile> | ||
<sourcefile name="Math.kt"> | ||
<line nr="3" mi="0" ci="3" mb="0" cb="0"/> | ||
<line nr="6" mi="0" ci="4" mb="0" cb="0"/> | ||
<line nr="10" mi="4" ci="0" mb="0" cb="0"/> | ||
<counter type="INSTRUCTION" missed="4" covered="7"/> | ||
<counter type="LINE" missed="1" covered="2"/> | ||
<counter type="COMPLEXITY" missed="1" covered="2"/> | ||
<counter type="METHOD" missed="1" covered="2"/> | ||
<line nr="14" mi="4" ci="0" mb="0" cb="0"/> | ||
<counter type="INSTRUCTION" missed="8" covered="7"/> | ||
<counter type="LINE" missed="2" covered="2"/> | ||
<counter type="COMPLEXITY" missed="2" covered="2"/> | ||
<counter type="METHOD" missed="2" covered="2"/> | ||
<counter type="CLASS" missed="0" covered="1"/> | ||
</sourcefile> | ||
<counter type="INSTRUCTION" missed="26" covered="18"/> | ||
<counter type="LINE" missed="6" covered="5"/> | ||
<counter type="COMPLEXITY" missed="6" covered="5"/> | ||
<counter type="METHOD" missed="6" covered="5"/> | ||
<counter type="CLASS" missed="0" covered="2"/> | ||
</package> | ||
<package name="com/madrapps/jacoco/operation"> | ||
<class name="com/madrapps/jacoco/operation/StringOp"> | ||
<method name="<init>" desc="()V" line="3"> | ||
<counter type="INSTRUCTION" missed="0" covered="3"/> | ||
<counter type="LINE" missed="0" covered="1"/> | ||
<counter type="COMPLEXITY" missed="0" covered="1"/> | ||
<counter type="METHOD" missed="0" covered="1"/> | ||
</method> | ||
<method name="endsWith" desc="(Ljava/lang/String;Ljava/lang/String;)Z" line="6"> | ||
<counter type="INSTRUCTION" missed="0" covered="4"/> | ||
<counter type="LINE" missed="0" covered="1"/> | ||
<counter type="COMPLEXITY" missed="0" covered="1"/> | ||
<counter type="METHOD" missed="0" covered="1"/> | ||
</method> | ||
<counter type="INSTRUCTION" missed="0" covered="7"/> | ||
<counter type="LINE" missed="0" covered="2"/> | ||
<counter type="COMPLEXITY" missed="0" covered="2"/> | ||
<counter type="METHOD" missed="0" covered="2"/> | ||
<counter type="CLASS" missed="0" covered="1"/> | ||
</class> | ||
<sourcefile name="StringOp.java"> | ||
<line nr="3" mi="0" ci="3" mb="0" cb="0"/> | ||
<line nr="6" mi="0" ci="4" mb="0" cb="0"/> | ||
<counter type="INSTRUCTION" missed="0" covered="7"/> | ||
<counter type="LINE" missed="0" covered="2"/> | ||
<counter type="COMPLEXITY" missed="0" covered="2"/> | ||
<counter type="METHOD" missed="0" covered="2"/> | ||
<counter type="CLASS" missed="0" covered="1"/> | ||
</sourcefile> | ||
<counter type="INSTRUCTION" missed="4" covered="7"/> | ||
<counter type="LINE" missed="1" covered="2"/> | ||
<counter type="COMPLEXITY" missed="1" covered="2"/> | ||
<counter type="METHOD" missed="1" covered="2"/> | ||
<counter type="INSTRUCTION" missed="0" covered="7"/> | ||
<counter type="LINE" missed="0" covered="2"/> | ||
<counter type="COMPLEXITY" missed="0" covered="2"/> | ||
<counter type="METHOD" missed="0" covered="2"/> | ||
<counter type="CLASS" missed="0" covered="1"/> | ||
</package> | ||
<counter type="INSTRUCTION" missed="4" covered="7"/> | ||
<counter type="LINE" missed="1" covered="2"/> | ||
<counter type="COMPLEXITY" missed="1" covered="2"/> | ||
<counter type="METHOD" missed="1" covered="2"/> | ||
<counter type="CLASS" missed="0" covered="1"/> | ||
</report> | ||
<counter type="INSTRUCTION" missed="26" covered="25"/> | ||
<counter type="LINE" missed="6" covered="7"/> | ||
<counter type="COMPLEXITY" missed="6" covered="7"/> | ||
<counter type="METHOD" missed="6" covered="7"/> | ||
<counter type="CLASS" missed="0" covered="3"/> | ||
</report> |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
const fs = require('fs'); | ||
const parser = require('xml2js'); | ||
const process = require('../src/process'); | ||
|
||
test("get overall coverage", async () => { | ||
const report = await getReport(); | ||
const coverage = process.getOverallCoverage(report); | ||
expect(coverage).toBeCloseTo(49.01, 1); | ||
}) | ||
|
||
describe("get file coverage", function () { | ||
|
||
it("no files changed", async () => { | ||
const report = await getReport(); | ||
const changedFiles = []; | ||
const actual = process.getFileCoverage(report, changedFiles); | ||
expect(actual).toEqual([]); | ||
}); | ||
|
||
it("one file changed", async () => { | ||
const report = await getReport(); | ||
const changedFiles = [ | ||
{ | ||
filePath: "src/main/java/com/madrapps/jacoco/operation/StringOp.java", | ||
url: "https://github.com/thsaravana/jacoco-playground/blob/77b14eb61efcd211ee93a7d8bac80cf292d207cc/src/main/java/com/madrapps/jacoco/operation/StringOp.java" | ||
} | ||
]; | ||
const actual = process.getFileCoverage(report, changedFiles); | ||
expect(actual).toEqual([ | ||
{ | ||
"filePath": "src/main/java/com/madrapps/jacoco/operation/StringOp.java", | ||
"url": "https://github.com/thsaravana/jacoco-playground/blob/77b14eb61efcd211ee93a7d8bac80cf292d207cc/src/main/java/com/madrapps/jacoco/operation/StringOp.java", | ||
"name": "StringOp.java", | ||
"coverage": 100, | ||
} | ||
]); | ||
}); | ||
|
||
it("multiple files changed", async () => { | ||
const report = await getReport(); | ||
const changedFiles = [ | ||
{ | ||
filePath: "src/main/java/com/madrapps/jacoco/operation/StringOp.java", | ||
url: "https://github.com/thsaravana/jacoco-playground/blob/77b14eb61efcd211ee93a7d8bac80cf292d207cc/src/main/java/com/madrapps/jacoco/operation/StringOp.java" | ||
}, | ||
{ | ||
filePath: 'src/main/kotlin/com/madrapps/jacoco/Math.kt', | ||
url: 'https://github.com/thsaravana/jacoco-playground/blob/77b14eb61efcd211ee93a7d8bac80cf292d207cc/src/main/kotlin/com/madrapps/jacoco/Math.kt' | ||
}, | ||
{ | ||
filePath: 'src/test/java/com/madrapps/jacoco/operation/StringOpTest.java', | ||
url: 'https://github.com/thsaravana/jacoco-playground/blob/77b14eb61efcd211ee93a7d8bac80cf292d207cc/src/test/java/com/madrapps/jacoco/operation/StringOpTest.java' | ||
}, | ||
]; | ||
const actual = process.getFileCoverage(report, changedFiles); | ||
expect(actual).toEqual([ | ||
{ | ||
"coverage": 46.67, | ||
"filePath": "src/main/kotlin/com/madrapps/jacoco/Math.kt", | ||
"name": "Math.kt", | ||
"url": "https://github.com/thsaravana/jacoco-playground/blob/77b14eb61efcd211ee93a7d8bac80cf292d207cc/src/main/kotlin/com/madrapps/jacoco/Math.kt", | ||
}, | ||
{ | ||
"filePath": "src/main/java/com/madrapps/jacoco/operation/StringOp.java", | ||
"url": "https://github.com/thsaravana/jacoco-playground/blob/77b14eb61efcd211ee93a7d8bac80cf292d207cc/src/main/java/com/madrapps/jacoco/operation/StringOp.java", | ||
"name": "StringOp.java", | ||
"coverage": 100, | ||
}, | ||
]); | ||
}); | ||
}) | ||
|
||
async function getReport() { | ||
const reportPath = "./__tests__/__fixtures__/report.xml"; | ||
const reportXml = await fs.promises.readFile(reportPath, "utf-8"); | ||
const json = await parser.parseStringPromise(reportXml); | ||
return json["report"]; | ||
} |
Oops, something went wrong.