Skip to content

Commit 205c169

Browse files
committed
BREAKING: rename CLI args
1 parent cc5321f commit 205c169

File tree

5 files changed

+51
-57
lines changed

5 files changed

+51
-57
lines changed

src/cli/arguments.test.ts

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { test, expect } from '@playwright/test'
22
import { parse_arguments, validate_arguments } from './arguments'
33

44
test.describe('--coverage-dir', () => {
5-
let cov = '--min-line-coverage=1'
5+
let cov = '--min-coverage=1'
66

77
test('missing --coverage-dir', () => {
88
expect(() => validate_arguments(parse_arguments([cov]))).toThrowError()
@@ -18,51 +18,51 @@ test.describe('--coverage-dir', () => {
1818
})
1919
})
2020

21-
test.describe('--min-line-coverage', () => {
21+
test.describe('--min-coverage', () => {
2222
let dir = '--coverage-dir=coverage'
2323

24-
test('missing --min-line-coverage', () => {
24+
test('missing --min-coverage', () => {
2525
expect(() => validate_arguments(parse_arguments([dir]))).toThrowError()
2626
})
2727

28-
test('empty --min-line-coverage', () => {
29-
expect(() => validate_arguments(parse_arguments([dir, '--min-line-coverage']))).toThrowError()
28+
test('empty --min-coverage', () => {
29+
expect(() => validate_arguments(parse_arguments([dir, '--min-coverage']))).toThrowError()
3030
})
3131

32-
test('invalid --min-line-coverage=-1', () => {
33-
expect(() => validate_arguments(parse_arguments([dir, '--min-line-coverage=-1']))).toThrowError()
32+
test('invalid --min-coverage=-1', () => {
33+
expect(() => validate_arguments(parse_arguments([dir, '--min-coverage=-1']))).toThrowError()
3434
})
3535

36-
test('valid --min-line-coverage=.8', () => {
37-
let result = validate_arguments(parse_arguments([dir, '--min-line-coverage=.8']))
38-
expect(result['min-line-coverage']).toEqual(0.8)
36+
test('valid --min-coverage=.8', () => {
37+
let result = validate_arguments(parse_arguments([dir, '--min-coverage=.8']))
38+
expect(result['min-coverage']).toEqual(0.8)
3939
})
4040
})
4141

42-
test.describe('--min-file-line-coverage', () => {
43-
let args = ['--coverage-dir=coverage', '--min-line-coverage=1']
42+
test.describe('--min-file-coverage', () => {
43+
let args = ['--coverage-dir=coverage', '--min-coverage=1']
4444

45-
test('missing --min-file-line-coverage', () => {
45+
test('missing --min-file-coverage', () => {
4646
expect.soft(() => validate_arguments(parse_arguments([...args]))).not.toThrowError()
47-
expect.soft(validate_arguments(parse_arguments([...args]))['min-file-line-coverage']).toEqual(0)
47+
expect.soft(validate_arguments(parse_arguments([...args]))['min-file-coverage']).toEqual(0)
4848
})
4949

50-
test('empty --min-file-line-coverage', () => {
51-
expect.soft(() => validate_arguments(parse_arguments([...args, '--min-file-line-coverage']))).toThrowError()
50+
test('empty --min-file-coverage', () => {
51+
expect.soft(() => validate_arguments(parse_arguments([...args, '--min-file-coverage']))).toThrowError()
5252
})
5353

54-
test('invalid --min-file-line-coverage=-1', () => {
55-
expect(() => validate_arguments(parse_arguments([...args, '--min-file-line-coverage=-1']))).toThrowError()
54+
test('invalid --min-file-coverage=-1', () => {
55+
expect(() => validate_arguments(parse_arguments([...args, '--min-file-coverage=-1']))).toThrowError()
5656
})
5757

58-
test('valid --min-file-line-coverage=.8', () => {
59-
let result = validate_arguments(parse_arguments([...args, '--min-file-line-coverage=.8']))
60-
expect(result['min-file-line-coverage']).toEqual(0.8)
58+
test('valid --min-file-coverage=.8', () => {
59+
let result = validate_arguments(parse_arguments([...args, '--min-file-coverage=.8']))
60+
expect(result['min-file-coverage']).toEqual(0.8)
6161
})
6262
})
6363

6464
test.describe('--reporter', () => {
65-
let args = ['--coverage-dir=coverage', '--min-line-coverage=1']
65+
let args = ['--coverage-dir=coverage', '--min-coverage=1']
6666

6767
test('missing --reporter', () => {
6868
expect.soft(() => validate_arguments(parse_arguments([...args]))).not.toThrowError()
@@ -89,7 +89,7 @@ test.describe('--reporter', () => {
8989
})
9090

9191
test.describe('--show-uncovered', () => {
92-
let args = ['--coverage-dir=coverage', '--min-line-coverage=1']
92+
let args = ['--coverage-dir=coverage', '--min-coverage=1']
9393

9494
test('missing --show-uncovered', () => {
9595
expect.soft(() => validate_arguments(parse_arguments([...args]))).not.toThrowError()

src/cli/arguments.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@ let ReporterSchema = v.pipe(v.string(), v.enum(reporters))
2121

2222
let CliArgumentsSchema = v.object({
2323
'coverage-dir': CoverageDirSchema,
24-
'min-line-coverage': RatioPercentageSchema,
25-
'min-file-line-coverage': v.optional(RatioPercentageSchema),
24+
'min-coverage': RatioPercentageSchema,
25+
'min-file-coverage': v.optional(RatioPercentageSchema),
2626
'show-uncovered': v.optional(ShowUncoveredSchema, show_uncovered_options.violations),
2727
reporter: v.optional(ReporterSchema, reporters.pretty),
2828
})
2929

3030
export type CliArguments = {
3131
'coverage-dir': string
32-
'min-line-coverage': number
33-
'min-file-line-coverage'?: number
32+
'min-coverage': number
33+
'min-file-coverage'?: number
3434
'show-uncovered': keyof typeof show_uncovered_options
3535
reporter: keyof typeof reporters
3636
}
@@ -69,10 +69,10 @@ export function parse_arguments(args: string[]) {
6969
'coverage-dir': {
7070
type: 'string',
7171
},
72-
'min-line-coverage': {
72+
'min-coverage': {
7373
type: 'string',
7474
},
75-
'min-file-line-coverage': {
75+
'min-file-coverage': {
7676
type: 'string',
7777
default: '0',
7878
},

src/cli/cli.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ async function cli(cli_args: string[]) {
1111
let coverage_data = await read(params['coverage-dir'])
1212
let report = program(
1313
{
14-
min_file_coverage: params['min-line-coverage'],
15-
min_file_line_coverage: params['min-file-line-coverage'],
14+
min_coverage: params['min-coverage'],
15+
min_file_coverage: params['min-file-coverage'],
1616
},
1717
coverage_data,
1818
)

src/cli/program.test.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,31 @@ let coverage = [
1212
] satisfies Coverage[]
1313

1414
test('returns context', () => {
15-
let result = program({ min_file_coverage: 0.5 }, coverage)
15+
let result = program({ min_coverage: 0.5 }, coverage)
1616
expect.soft(result.context.coverage.covered_lines).toEqual(4)
1717
expect.soft(result.context.coverage.total_files_found).toEqual(1)
1818
})
1919

20-
test.describe('--min-file-coverage', () => {
21-
test('Success: --min-file-coverage=0.5', () => {
22-
let result = program({ min_file_coverage: 0.5 }, coverage)
20+
test.describe('--min-coverage', () => {
21+
test('Success: --min-coverage=0.5', () => {
22+
let result = program({ min_coverage: 0.5 }, coverage)
2323
expect(result.report.ok).toBeTruthy()
2424
})
2525

26-
test('Failure: --min-file-coverage=1', () => {
27-
let result = program({ min_file_coverage: 1 }, coverage)
26+
test('Failure: --min-coverage=1', () => {
27+
let result = program({ min_coverage: 1 }, coverage)
2828
expect(result.report.ok).toBeFalsy()
2929
})
3030
})
3131

32-
test.describe('--min-file-line-coverage', () => {
33-
test('Success: --min-file-line-coverage=0.5', () => {
34-
let result = program({ min_file_coverage: 0, min_file_line_coverage: 0.5 }, coverage)
32+
test.describe('--min-file-coverage', () => {
33+
test('Success: --min-file-coverage=0.5', () => {
34+
let result = program({ min_coverage: 0, min_file_coverage: 0.5 }, coverage)
3535
expect(result.report.ok).toBeTruthy()
3636
})
3737

38-
test('Failure: --min-file-line-coverage=1', () => {
39-
let result = program({ min_file_coverage: 0, min_file_line_coverage: 1 }, coverage)
38+
test('Failure: --min-file-coverage=1', () => {
39+
let result = program({ min_coverage: 0, min_file_coverage: 1 }, coverage)
4040
expect(result.report.ok).toBeFalsy()
4141
})
4242
})

src/cli/program.ts

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
import { calculate_coverage, type Coverage, type CoverageResult } from '../lib/index.js'
22

3-
class MissingDataError extends Error {
4-
constructor() {
5-
super('No data to analyze')
6-
}
7-
}
8-
93
export type Report = {
104
context: {
115
coverage: CoverageResult
@@ -51,29 +45,29 @@ function validate_min_file_line_coverage(actual: number, expected: number | unde
5145

5246
export function program(
5347
{
48+
min_coverage,
5449
min_file_coverage,
55-
min_file_line_coverage,
5650
}: {
57-
min_file_coverage: number
58-
min_file_line_coverage?: number
51+
min_coverage: number
52+
min_file_coverage?: number
5953
},
6054
coverage_data: Coverage[],
6155
) {
6256
let coverage = calculate_coverage(coverage_data)
63-
let min_line_coverage_result = validate_min_line_coverage(coverage.line_coverage_ratio, min_file_coverage)
64-
let min_file_line_coverage_result = validate_min_file_line_coverage(
57+
let min_coverage_result = validate_min_line_coverage(coverage.line_coverage_ratio, min_coverage)
58+
let min_file_coverage_result = validate_min_file_line_coverage(
6559
Math.min(...coverage.coverage_per_stylesheet.map((sheet) => sheet.line_coverage_ratio)),
66-
min_file_line_coverage,
60+
min_file_coverage,
6761
)
6862

6963
let result: Report = {
7064
context: {
7165
coverage,
7266
},
7367
report: {
74-
ok: min_line_coverage_result.ok && min_file_line_coverage_result.ok,
75-
min_line_coverage: min_line_coverage_result,
76-
min_file_line_coverage: min_file_line_coverage_result,
68+
ok: min_coverage_result.ok && min_file_coverage_result.ok,
69+
min_line_coverage: min_coverage_result,
70+
min_file_line_coverage: min_file_coverage_result,
7771
},
7872
}
7973

0 commit comments

Comments
 (0)