Skip to content

Commit

Permalink
chore: remove custom coverage typings (#7967)
Browse files Browse the repository at this point in the history
  • Loading branch information
SimenB committed Feb 23, 2019
1 parent 3e4dfd5 commit 7baf5fc
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 79 deletions.
2 changes: 1 addition & 1 deletion .eslintrc.js
Expand Up @@ -64,7 +64,7 @@ module.exports = {
},
},
{
files: 'types/**/*',
files: ['types/**/*', 'packages/jest-types/**/*'],
rules: {
'import/no-extraneous-dependencies': 0,
},
Expand Down
22 changes: 12 additions & 10 deletions packages/jest-phabricator/src/index.ts
Expand Up @@ -7,17 +7,24 @@

import {TestResult} from '@jest/types';

function summarize(coverageMap: TestResult.CoverageMap) {
type AggregatedResult = TestResult.AggregatedResult;
type CoverageMap = AggregatedResult['coverageMap'];

function summarize(coverageMap: CoverageMap): CoverageMap {
if (!coverageMap) {
return coverageMap;
}

const summaries = Object.create(null);

coverageMap.files().forEach(file => {
const covered = [];
const lineCoverage = coverageMap.fileCoverageFor(file).getLineCoverage();

Object.keys(lineCoverage).forEach(lineNumber => {
const number = parseInt(lineNumber, 10);
// Line numbers start at one
const number = parseInt(lineNumber, 10) - 1;
covered[number] = lineCoverage[lineNumber] ? 'C' : 'U';
covered[number - 1] = lineCoverage[number] ? 'C' : 'U';
});

for (let i = 0; i < covered.length; i++) {
Expand All @@ -32,11 +39,6 @@ function summarize(coverageMap: TestResult.CoverageMap) {
return summaries;
}

export = function(
results: TestResult.AggregatedResult,
): TestResult.AggregatedResult {
return {
...results,
coverageMap: results.coverageMap && summarize(results.coverageMap),
};
export = function(results: AggregatedResult): AggregatedResult {
return {...results, coverageMap: summarize(results.coverageMap)};
};
5 changes: 4 additions & 1 deletion packages/jest-types/package.json
Expand Up @@ -11,5 +11,8 @@
},
"license": "MIT",
"main": "build/index.js",
"types": "build/index.d.ts"
"types": "build/index.d.ts",
"dependencies": {
"@types/istanbul-lib-coverage": "^1.1.0"
}
}
70 changes: 3 additions & 67 deletions packages/jest-types/src/TestResult.ts
Expand Up @@ -5,73 +5,9 @@
* LICENSE file in the root directory of this source tree.
*/

import {CoverageMap, CoverageMapData} from 'istanbul-lib-coverage';
import {ConsoleBuffer} from './Console';

export type RawFileCoverage = {
path: string;
s: {
[statementId: number]: number;
};
b: {
[branchId: number]: number;
};
f: {
[functionId: number]: number;
};
l: {
[lineId: number]: number;
};
fnMap: {
[functionId: number]: any;
};
statementMap: {
[statementId: number]: any;
};
branchMap: {
[branchId: number]: any;
};
inputSourceMap?: Object;
};

export type RawCoverage = {
[filePath: string]: RawFileCoverage;
};
type FileCoverageTotal = {
total: number;
covered: number;
skipped: number;
pct: number;
};

export type CoverageSummary = {
lines: FileCoverageTotal;
statements: FileCoverageTotal;
branches: FileCoverageTotal;
functions: FileCoverageTotal;
merge: (other: CoverageSummary) => undefined;
};

export type FileCoverage = {
getLineCoverage: () => {[line: string]: string};
getUncoveredLines: () => Array<number>;
getBranchCoverageByLine: () => {[line: string]: string};
toJSON: () => {[line: string]: string};
merge: (other: Object) => undefined;
computeSimpleTotals: (property: string) => FileCoverageTotal;
computeBranchTotals: () => FileCoverageTotal;
resetHits: () => undefined;
toSummary: () => CoverageSummary;
};

export type CoverageMap = {
merge: (data: Object) => undefined;
getCoverageSummary: () => FileCoverage;
data: RawCoverage;
addFileCoverage: (fileCoverage: RawFileCoverage) => undefined;
files: () => Array<string>;
fileCoverageFor: (file: string) => FileCoverage;
};

export type SerializableError = {
code?: unknown;
message: string;
Expand Down Expand Up @@ -162,7 +98,7 @@ export type Suite = {

export type TestResult = {
console?: ConsoleBuffer | null;
coverage?: RawCoverage;
coverage?: CoverageMapData;
displayName?: string | null;
failureMessage?: string | null;
leaks: boolean;
Expand Down Expand Up @@ -226,7 +162,7 @@ export type FormattedTestResults = {
export type CodeCoverageReporter = any;

export type CodeCoverageFormatter = (
coverage: RawCoverage | null | undefined,
coverage: CoverageMapData | null | undefined,
reporter: CodeCoverageReporter,
) => Object | null | undefined;

Expand Down

0 comments on commit 7baf5fc

Please sign in to comment.