apex-code-coverage-transformer 1.5.0 → 1.6.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/helpers/convertToGenericCoverageReport.js +28 -8
- package/lib/helpers/convertToGenericCoverageReport.js.map +1 -1
- package/lib/helpers/getTotalLines.d.ts +1 -0
- package/lib/helpers/getTotalLines.js +7 -0
- package/lib/helpers/getTotalLines.js.map +1 -0
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
import { getTotalLines } from './getTotalLines.js';
|
|
2
3
|
import { findFilePath } from './findFilePath.js';
|
|
3
4
|
export async function convertToGenericCoverageReport(data, dxConfigFile) {
|
|
4
5
|
let xml = '<?xml version="1.0"?>\n<coverage version="1">\n';
|
|
@@ -11,15 +12,34 @@ export async function convertToGenericCoverageReport(data, dxConfigFile) {
|
|
|
11
12
|
if (filePath === undefined) {
|
|
12
13
|
throw Error(`The file name ${formattedFileName} was not found in any package directory.`);
|
|
13
14
|
}
|
|
15
|
+
// Extract the "uncovered lines" from the JSON data
|
|
16
|
+
const uncoveredLines = Object.keys(fileInfo.s)
|
|
17
|
+
.filter(lineNumber => fileInfo.s[lineNumber] === 0)
|
|
18
|
+
.map(Number);
|
|
19
|
+
const coveredLines = Object.keys(fileInfo.s)
|
|
20
|
+
.filter(lineNumber => fileInfo.s[lineNumber] === 1)
|
|
21
|
+
.map(Number);
|
|
22
|
+
const randomLines = [];
|
|
23
|
+
const totalLines = getTotalLines(filePath);
|
|
14
24
|
xml += `\t<file path="${filePath}">\n`;
|
|
15
|
-
for (const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
for (const uncoveredLine of uncoveredLines) {
|
|
26
|
+
xml += `\t\t<lineToCover lineNumber="${uncoveredLine}" covered="false"/>\n`;
|
|
27
|
+
}
|
|
28
|
+
for (const coveredLine of coveredLines) {
|
|
29
|
+
if (coveredLine > totalLines) {
|
|
30
|
+
for (let randomLineNumber = 1; randomLineNumber <= totalLines; randomLineNumber++) {
|
|
31
|
+
if (!uncoveredLines.includes(randomLineNumber) &&
|
|
32
|
+
!coveredLines.includes(randomLineNumber) &&
|
|
33
|
+
!randomLines.includes(randomLineNumber)) {
|
|
34
|
+
xml += `\t\t<lineToCover lineNumber="${randomLineNumber}" covered="true"/>\n`;
|
|
35
|
+
randomLines.push(randomLineNumber);
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
xml += `\t\t<lineToCover lineNumber="${coveredLine}" covered="true"/>\n`;
|
|
42
|
+
}
|
|
23
43
|
}
|
|
24
44
|
xml += '\t</file>\n';
|
|
25
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertToGenericCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/convertToGenericCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,IAAkB,EAAE,YAAoB;IAC3F,IAAI,GAAG,GAAG,iDAAiD,CAAC;IAE5D,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,SAAS;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QACrE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,iBAAiB,iBAAiB,0CAA0C,CAAC,CAAC;QAC5F,CAAC;QACD,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"convertToGenericCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/convertToGenericCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,IAAkB,EAAE,YAAoB;IAC3F,IAAI,GAAG,GAAG,iDAAiD,CAAC;IAE5D,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,SAAS;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QACrE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,iBAAiB,iBAAiB,0CAA0C,CAAC,CAAC;QAC5F,CAAC;QACD,mDAAmD;QACnD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC3C,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAClD,GAAG,CAAC,MAAM,CAAC,CAAC;QACf,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aACzC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAClD,GAAG,CAAC,MAAM,CAAC,CAAC;QACf,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAE3C,GAAG,IAAI,iBAAiB,QAAQ,MAAM,CAAC;QAEvC,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YAC3C,GAAG,IAAI,gCAAgC,aAAa,uBAAuB,CAAC;QAC9E,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,WAAW,GAAG,UAAU,EAAE,CAAC;gBAC7B,KAAK,IAAI,gBAAgB,GAAG,CAAC,EAAE,gBAAgB,IAAI,UAAU,EAAE,gBAAgB,EAAE,EAAE,CAAC;oBAClF,IACE,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC;wBAC1C,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC;wBACxC,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACvC,CAAC;wBACD,GAAG,IAAI,gCAAgC,gBAAgB,sBAAsB,CAAC;wBAC9E,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBACnC,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,gCAAgC,WAAW,sBAAsB,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,GAAG,IAAI,aAAa,CAAC;IACvB,CAAC;IACD,GAAG,IAAI,aAAa,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getTotalLines(filePath: string): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTotalLines.js","sourceRoot":"","sources":["../../src/helpers/getTotalLines.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC"}
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apex-code-coverage-transformer",
|
|
3
3
|
"description": "Transforms the Apex Code Coverage JSON into the Generic Test Data Report.",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.6.0-beta.1",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@oclif/core": "^3.18.1",
|
|
7
7
|
"@salesforce/core": "^6.4.7",
|