diff --git a/test/fixtures/test-runner/coverage-snap/a.mjs b/test/fixtures/test-runner/coverage-snap/a.mjs new file mode 100644 index 00000000000000..d9519c6d1b78eb --- /dev/null +++ b/test/fixtures/test-runner/coverage-snap/a.mjs @@ -0,0 +1,49 @@ +// Empty functions that don't do anything +function doNothing1() { + // Not implemented +} + +function doNothing2() { + // No logic here +} + +function unusedFunction1() { + // Intentionally left empty +} + +function unusedFunction2() { + // Another empty function +} + +// Unused variables +const unusedVariable1 = "This is never used"; +const unusedVariable2 = 42; +let unusedVariable3; + +// Empty class with no methods +class UnusedClass { + constructor() { + // Constructor does nothing + } +} + +// Empty object literal +const emptyObject = {}; + +// Empty array +const emptyArray = []; + +// Function with parameters but no body +function doNothingWithParams(param1, param2) { + // No implementation +} + +// Function that returns nothing +function returnsNothing() { + // No return statement +} + +// Another unused function +function unusedFunction3() { + // More empty code +} \ No newline at end of file diff --git a/test/fixtures/test-runner/coverage-snap/b.mjs b/test/fixtures/test-runner/coverage-snap/b.mjs new file mode 100644 index 00000000000000..1acff061fca21c --- /dev/null +++ b/test/fixtures/test-runner/coverage-snap/b.mjs @@ -0,0 +1,8 @@ +// Empty functions that don't do anything +function doNothing1() { + // Not implemented +} + +function doNothing2() { + // No logic here +} diff --git a/test/fixtures/test-runner/coverage-snap/many-uncovered-lines.mjs b/test/fixtures/test-runner/coverage-snap/many-uncovered-lines.mjs new file mode 100644 index 00000000000000..51fd63b3e0d90d --- /dev/null +++ b/test/fixtures/test-runner/coverage-snap/many-uncovered-lines.mjs @@ -0,0 +1,225 @@ +// Empty functions that don't do anything +function doNothing1() { + // Not implemented +} + +function doNothing2() { + // No logic here +} + +function unusedFunction1() { + // Intentionally left empty +} + +function unusedFunction2() { + // Another empty function +} + +// Unused variables +const unusedVariable1 = "This is never used"; +const unusedVariable2 = 42; +let unusedVariable3; + +// Empty class with no methods +class UnusedClass { + constructor() { + // Constructor does nothing + } +} + +// Empty object literal +const emptyObject = {}; + +// Empty array +const emptyArray = []; + +// Function with parameters but no body +function doNothingWithParams(param1, param2) { + // No implementation +} + +// Function that returns nothing +function returnsNothing() { + // No return statement +} + +// Another unused function +function unusedFunction3() { + // More empty code +} + +// Empty functions with different signatures +function doNothing4() { + // No logic here +} + +function doNothing5() { + // Another placeholder +} + +function doNothingWithRestParams(...args) { + // Function with rest parameters but no logic +} + +function doNothingWithCallback(callback) { + // Callback not called +} + +// Unused variables of different types +const unusedVariable7 = null; +const unusedVariable8 = undefined; +const unusedVariable9 = Symbol('unused'); +let unusedVariable10; + +// Another empty class +class YetAnotherUnusedClass { + // No properties or methods +} + +// Unused object with nested array +const unusedObjectWithArray = { + innerArray: [] +}; + +// Another empty array +const anotherEmptyArray = []; + +// Function with default and rest parameters +function anotherComplexFunction(param1 = 10, ...rest) { + // No implementation +} + +// More unused functions +function unusedFunction5() { + // Placeholder +} + +function unusedFunction6() { + // Empty again +} + +function unusedFunction7() { + // Still nothing here +} + +// Empty static method in class +class UnusedClassWithStaticMethod { + static unusedStaticMethod() { + // No logic inside static method + } +} + +// Empty getter and setter in a class +class ClassWithGetterSetter { + get unusedGetter() { + // Empty getter + } + + set unusedSetter(value) { + // Empty setter + } +} + +// Unused function returning undefined +function returnsUndefined() { + return undefined; +} + +// Empty promise-returning function +function emptyPromiseFunction() { + return new Promise((resolve, reject) => { + // No promise logic + }); +} + +// Empty immediately-invoked function expression (IIFE) +(function emptyIIFE() { + // No implementation +})(); + +// Unused generator function with parameters +function* unusedGeneratorFunctionWithParams(param1, param2) { + // No yielding of values +} + +// Unused async arrow function +const unusedAsyncArrowFunction = async () => { + // No async logic here +}; + +// Unused map function with no logic +const unusedMapFunction = new Map(); + +// Unused set function with no logic +const unusedSetFunction = new Set(); + +// Empty for loop +for (let i = 0; i < 10; i++) { + // Loop does nothing +} + +// Empty while loop +while (false) { + // Never executes +} + +// Empty try-catch-finally block +try { + // Nothing to try +} catch (error) { + // No error handling +} finally { + // Nothing to finalize +} + +// Empty if-else block +if (false) { + // No logic here +} else { + // Nothing here either +} + +// Empty switch statement +switch (false) { + case true: + // No case logic + break; + default: + // Default does nothing + break; +} + +// Empty nested function +function outerFunction() { + function innerFunction() { + // Empty inner function + } +} + +// More unused arrow functions +const unusedArrowFunction1 = () => {}; +const unusedArrowFunction2 = param => {}; + +// Empty function with a try-catch block +function emptyTryCatchFunction() { + try { + // Nothing to try + } catch (error) { + // No error handling + } +} + +// Unused async generator function +async function* unusedAsyncGenerator() { + // No async yielding +} + +// Unused function returning an empty array +function returnsEmptyArray() { + return []; +} + +// Unused function returning an empty object +function returnsEmptyObject() { + return {}; +} diff --git a/test/fixtures/test-runner/output/coverage-width-100-uncovered-lines.js b/test/fixtures/test-runner/output/coverage-width-100-uncovered-lines.js new file mode 100644 index 00000000000000..a48a59150d016c --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-100-uncovered-lines.js @@ -0,0 +1,9 @@ +// Flags: --experimental-test-coverage +import * as a from '../coverage-snap/b.mjs'; +import * as b from '../coverage-snap/a.mjs'; +import * as c from '../coverage-snap/many-uncovered-lines.mjs'; +import { test } from 'node:test'; + +process.stdout.columns = 100; + +test(`Coverage Print Fixed Width ${process.stdout.columns}`); \ No newline at end of file diff --git a/test/fixtures/test-runner/output/coverage-width-100-uncovered-lines.snapshot b/test/fixtures/test-runner/output/coverage-width-100-uncovered-lines.snapshot new file mode 100644 index 00000000000000..fcecb2c0e230ec --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-100-uncovered-lines.snapshot @@ -0,0 +1,27 @@ +TAP version 13 +# Subtest: Coverage Print Fixed Width 100 +ok 1 - Coverage Print Fixed Width 100 + --- + duration_ms: * + ... +1..1 +# tests 1 +# suites 0 +# pass 1 +# fail 0 +# cancelled 0 +# skipped 0 +# todo 0 +# duration_ms * +# start of coverage report +# -------------------------------------------------------------------------------------------------- +# file | line % | branch % | funcs % | uncovered lines +# -------------------------------------------------------------------------------------------------- +# …runner/coverage-snap/a.mjs | 53.06 | 100.00 | 0.00 | 2-4 6-8 10-12 14-16 26-27 37-39 42-4… +# …runner/coverage-snap/b.mjs | 25.00 | 100.00 | 0.00 | 2-4 6-8 +# …p/many-uncovered-lines.mjs | 59.11 | 42.86 | 3.23 | 2-4 6-8 10-12 14-16 26-27 37-39 42-4… +# …dth-100-uncovered-lines.js | 100.00 | 100.00 | 100.00 | +# -------------------------------------------------------------------------------------------------- +# all files | 58.42 | 60.00 | 2.44 | +# -------------------------------------------------------------------------------------------------- +# end of coverage report diff --git a/test/fixtures/test-runner/output/coverage-width-100.js b/test/fixtures/test-runner/output/coverage-width-100.js new file mode 100644 index 00000000000000..c10910176eb618 --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-100.js @@ -0,0 +1,8 @@ +// Flags: --experimental-test-coverage +import * as a from '../coverage-snap/b.mjs'; +import * as b from '../coverage-snap/a.mjs'; +import { test } from 'node:test'; + +process.stdout.columns = 100; + +test(`Coverage Print Fixed Width ${process.stdout.columns}`); \ No newline at end of file diff --git a/test/fixtures/test-runner/output/coverage-width-100.snapshot b/test/fixtures/test-runner/output/coverage-width-100.snapshot new file mode 100644 index 00000000000000..1402678b39f803 --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-100.snapshot @@ -0,0 +1,26 @@ +TAP version 13 +# Subtest: Coverage Print Fixed Width 100 +ok 1 - Coverage Print Fixed Width 100 + --- + duration_ms: * + ... +1..1 +# tests 1 +# suites 0 +# pass 1 +# fail 0 +# cancelled 0 +# skipped 0 +# todo 0 +# duration_ms * +# start of coverage report +# -------------------------------------------------------------------------------------------------- +# file | line % | branch % | funcs % | uncovered lines +# -------------------------------------------------------------------------------------------------- +# test/fixtures/test-runner/coverage-snap/a.mjs | 53.06 | 100.00 | 0.00 | 2-4 6-8 10-12 1… +# test/fixtures/test-runner/coverage-snap/b.mjs | 25.00 | 100.00 | 0.00 | 2-4 6-8 +# …xtures/test-runner/output/coverage-width-100.js | 100.00 | 100.00 | 100.00 | +# -------------------------------------------------------------------------------------------------- +# all files | 55.38 | 100.00 | 0.00 | +# -------------------------------------------------------------------------------------------------- +# end of coverage report diff --git a/test/fixtures/test-runner/output/coverage-width-150-uncovered-lines.js b/test/fixtures/test-runner/output/coverage-width-150-uncovered-lines.js new file mode 100644 index 00000000000000..06a06c63550900 --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-150-uncovered-lines.js @@ -0,0 +1,9 @@ +// Flags: --experimental-test-coverage +import * as a from '../coverage-snap/b.mjs'; +import * as b from '../coverage-snap/a.mjs'; +import * as c from '../coverage-snap/many-uncovered-lines.mjs'; +import { test } from 'node:test'; + +process.stdout.columns = 150; + +test(`Coverage Print Fixed Width ${process.stdout.columns}`); \ No newline at end of file diff --git a/test/fixtures/test-runner/output/coverage-width-150-uncovered-lines.snapshot b/test/fixtures/test-runner/output/coverage-width-150-uncovered-lines.snapshot new file mode 100644 index 00000000000000..923d65a82f6f97 --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-150-uncovered-lines.snapshot @@ -0,0 +1,27 @@ +TAP version 13 +# Subtest: Coverage Print Fixed Width 150 +ok 1 - Coverage Print Fixed Width 150 + --- + duration_ms: * + ... +1..1 +# tests 1 +# suites 0 +# pass 1 +# fail 0 +# cancelled 0 +# skipped 0 +# todo 0 +# duration_ms * +# start of coverage report +# ---------------------------------------------------------------------------------------------------------------------------------------------------- +# file | line % | branch % | funcs % | uncovered lines +# ---------------------------------------------------------------------------------------------------------------------------------------------------- +# …ures/test-runner/coverage-snap/a.mjs | 53.06 | 100.00 | 0.00 | 2-4 6-8 10-12 14-16 26-27 37-39 42-44 47-49 +# …ures/test-runner/coverage-snap/b.mjs | 25.00 | 100.00 | 0.00 | 2-4 6-8 +# …verage-snap/many-uncovered-lines.mjs | 59.11 | 42.86 | 3.23 | 2-4 6-8 10-12 14-16 26-27 37-39 42-44 47-49 52-54 56-58 60-62 64-66 88-90 93… +# …overage-width-150-uncovered-lines.js | 100.00 | 100.00 | 100.00 | +# ---------------------------------------------------------------------------------------------------------------------------------------------------- +# all files | 58.42 | 60.00 | 2.44 | +# ---------------------------------------------------------------------------------------------------------------------------------------------------- +# end of coverage report diff --git a/test/fixtures/test-runner/output/coverage-width-150.js b/test/fixtures/test-runner/output/coverage-width-150.js new file mode 100644 index 00000000000000..44137c3f75d05f --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-150.js @@ -0,0 +1,8 @@ +// Flags: --experimental-test-coverage +import * as a from '../coverage-snap/b.mjs'; +import * as b from '../coverage-snap/a.mjs'; +import { test } from 'node:test'; + +process.stdout.columns = 150; + +test(`Coverage Print Fixed Width ${process.stdout.columns}`); \ No newline at end of file diff --git a/test/fixtures/test-runner/output/coverage-width-150.snapshot b/test/fixtures/test-runner/output/coverage-width-150.snapshot new file mode 100644 index 00000000000000..5f5a86304f6c32 --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-150.snapshot @@ -0,0 +1,26 @@ +TAP version 13 +# Subtest: Coverage Print Fixed Width 150 +ok 1 - Coverage Print Fixed Width 150 + --- + duration_ms: * + ... +1..1 +# tests 1 +# suites 0 +# pass 1 +# fail 0 +# cancelled 0 +# skipped 0 +# todo 0 +# duration_ms * +# start of coverage report +# ----------------------------------------------------------------------------------------------------------------------------------- +# file | line % | branch % | funcs % | uncovered lines +# ----------------------------------------------------------------------------------------------------------------------------------- +# test/fixtures/test-runner/coverage-snap/a.mjs | 53.06 | 100.00 | 0.00 | 2-4 6-8 10-12 14-16 26-27 37-39 42-44 47-49 +# test/fixtures/test-runner/coverage-snap/b.mjs | 25.00 | 100.00 | 0.00 | 2-4 6-8 +# test/fixtures/test-runner/output/coverage-width-150.js | 100.00 | 100.00 | 100.00 | +# ----------------------------------------------------------------------------------------------------------------------------------- +# all files | 55.38 | 100.00 | 0.00 | +# ----------------------------------------------------------------------------------------------------------------------------------- +# end of coverage report diff --git a/test/fixtures/test-runner/output/coverage-width-80-uncovered-lines.js b/test/fixtures/test-runner/output/coverage-width-80-uncovered-lines.js new file mode 100644 index 00000000000000..744cbbec68fcbd --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-80-uncovered-lines.js @@ -0,0 +1,9 @@ +// Flags: --experimental-test-coverage +import * as a from '../coverage-snap/b.mjs'; +import * as b from '../coverage-snap/a.mjs'; +import * as c from '../coverage-snap/many-uncovered-lines.mjs'; +import { test } from 'node:test'; + +process.stdout.columns = 80; + +test(`Coverage Print Fixed Width ${process.stdout.columns}`); \ No newline at end of file diff --git a/test/fixtures/test-runner/output/coverage-width-80-uncovered-lines.snapshot b/test/fixtures/test-runner/output/coverage-width-80-uncovered-lines.snapshot new file mode 100644 index 00000000000000..ec41cdb62ad439 --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-80-uncovered-lines.snapshot @@ -0,0 +1,27 @@ +TAP version 13 +# Subtest: Coverage Print Fixed Width 80 +ok 1 - Coverage Print Fixed Width 80 + --- + duration_ms: * + ... +1..1 +# tests 1 +# suites 0 +# pass 1 +# fail 0 +# cancelled 0 +# skipped 0 +# todo 0 +# duration_ms * +# start of coverage report +# ------------------------------------------------------------------------------ +# file | line % | branch % | funcs % | uncovered lines +# ------------------------------------------------------------------------------ +# …er/coverage-snap/a.mjs | 53.06 | 100.00 | 0.00 | 2-4 6-8 10-12 14-16 … +# …er/coverage-snap/b.mjs | 25.00 | 100.00 | 0.00 | 2-4 6-8 +# …ny-uncovered-lines.mjs | 59.11 | 42.86 | 3.23 | 2-4 6-8 10-12 14-16 … +# …-80-uncovered-lines.js | 100.00 | 100.00 | 100.00 | +# ------------------------------------------------------------------------------ +# all files | 58.42 | 60.00 | 2.44 | +# ------------------------------------------------------------------------------ +# end of coverage report diff --git a/test/fixtures/test-runner/output/coverage-width-80.js b/test/fixtures/test-runner/output/coverage-width-80.js new file mode 100644 index 00000000000000..cacaa2cca40050 --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-80.js @@ -0,0 +1,8 @@ +// Flags: --experimental-test-coverage +import * as a from '../coverage-snap/b.mjs'; +import * as b from '../coverage-snap/a.mjs'; +import { test } from 'node:test'; + +process.stdout.columns = 80; + +test(`Coverage Print Fixed Width ${process.stdout.columns}`); \ No newline at end of file diff --git a/test/fixtures/test-runner/output/coverage-width-80.snapshot b/test/fixtures/test-runner/output/coverage-width-80.snapshot new file mode 100644 index 00000000000000..a5ee3774595c5a --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-80.snapshot @@ -0,0 +1,26 @@ +TAP version 13 +# Subtest: Coverage Print Fixed Width 80 +ok 1 - Coverage Print Fixed Width 80 + --- + duration_ms: * + ... +1..1 +# tests 1 +# suites 0 +# pass 1 +# fail 0 +# cancelled 0 +# skipped 0 +# todo 0 +# duration_ms * +# start of coverage report +# ------------------------------------------------------------------------------ +# file | line % | branch % | funcs % | … +# ------------------------------------------------------------------------------ +# …t/fixtures/test-runner/coverage-snap/a.mjs | 53.06 | 100.00 | 0.00 | … +# …t/fixtures/test-runner/coverage-snap/b.mjs | 25.00 | 100.00 | 0.00 | … +# …es/test-runner/output/coverage-width-80.js | 100.00 | 100.00 | 100.00 | +# ------------------------------------------------------------------------------ +# all files | 55.38 | 100.00 | 0.00 | +# ------------------------------------------------------------------------------ +# end of coverage report diff --git a/test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.js b/test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.js new file mode 100644 index 00000000000000..c59d5af5c36014 --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.js @@ -0,0 +1,9 @@ +// Flags: --experimental-test-coverage +import * as a from '../coverage-snap/b.mjs'; +import * as b from '../coverage-snap/a.mjs'; +import * as c from '../coverage-snap/many-uncovered-lines.mjs'; +import { test } from 'node:test'; + +process.stdout.columns = Infinity; + +test(`Coverage Print Fixed Width ${process.stdout.columns}`); \ No newline at end of file diff --git a/test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.snapshot b/test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.snapshot new file mode 100644 index 00000000000000..b63bfd96bdbb0d --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.snapshot @@ -0,0 +1,27 @@ +TAP version 13 +# Subtest: Coverage Print Fixed Width Infinity +ok 1 - Coverage Print Fixed Width Infinity + --- + duration_ms: * + ... +1..1 +# tests 1 +# suites 0 +# pass 1 +# fail 0 +# cancelled 0 +# skipped 0 +# todo 0 +# duration_ms * +# start of coverage report +# ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +# file | line % | branch % | funcs % | uncovered lines +# ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +# test/fixtures/test-runner/coverage-snap/a.mjs | 53.06 | 100.00 | 0.00 | 2-4 6-8 10-12 14-16 26-27 37-39 42-44 47-49 +# test/fixtures/test-runner/coverage-snap/b.mjs | 25.00 | 100.00 | 0.00 | 2-4 6-8 +# test/fixtures/test-runner/coverage-snap/many-uncovered-lines.mjs | 59.11 | 42.86 | 3.23 | 2-4 6-8 10-12 14-16 26-27 37-39 42-44 47-49 52-54 56-58 60-62 64-66 88-90 93-95 97-99 101-103 108-109 115-116 119-120 124-126 129-133 141-143 147 163-164 170 177 185-186 193-197 204-210 213-215 218-220 223-225 +# test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.js | 100.00 | 100.00 | 100.00 | +# ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +# all files | 58.42 | 60.00 | 2.44 | +# ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +# end of coverage report diff --git a/test/fixtures/test-runner/output/coverage-width-infinity.js b/test/fixtures/test-runner/output/coverage-width-infinity.js new file mode 100644 index 00000000000000..25b32066097d57 --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-infinity.js @@ -0,0 +1,8 @@ +// Flags: --experimental-test-coverage +import * as a from '../coverage-snap/b.mjs'; +import * as b from '../coverage-snap/a.mjs'; +import { test } from 'node:test'; + +process.stdout.columns = Infinity; + +test(`Coverage Print Fixed Width ${process.stdout.columns}`); \ No newline at end of file diff --git a/test/fixtures/test-runner/output/coverage-width-infinity.snapshot b/test/fixtures/test-runner/output/coverage-width-infinity.snapshot new file mode 100644 index 00000000000000..20a54f93874fde --- /dev/null +++ b/test/fixtures/test-runner/output/coverage-width-infinity.snapshot @@ -0,0 +1,26 @@ +TAP version 13 +# Subtest: Coverage Print Fixed Width Infinity +ok 1 - Coverage Print Fixed Width Infinity + --- + duration_ms: * + ... +1..1 +# tests 1 +# suites 0 +# pass 1 +# fail 0 +# cancelled 0 +# skipped 0 +# todo 0 +# duration_ms * +# start of coverage report +# ---------------------------------------------------------------------------------------------------------------------------------------- +# file | line % | branch % | funcs % | uncovered lines +# ---------------------------------------------------------------------------------------------------------------------------------------- +# test/fixtures/test-runner/coverage-snap/a.mjs | 53.06 | 100.00 | 0.00 | 2-4 6-8 10-12 14-16 26-27 37-39 42-44 47-49 +# test/fixtures/test-runner/coverage-snap/b.mjs | 25.00 | 100.00 | 0.00 | 2-4 6-8 +# test/fixtures/test-runner/output/coverage-width-infinity.js | 100.00 | 100.00 | 100.00 | +# ---------------------------------------------------------------------------------------------------------------------------------------- +# all files | 55.38 | 100.00 | 0.00 | +# ---------------------------------------------------------------------------------------------------------------------------------------- +# end of coverage report diff --git a/test/parallel/test-runner-output.mjs b/test/parallel/test-runner-output.mjs index 0125a8168e4464..95ed7f3bf62df8 100644 --- a/test/parallel/test-runner-output.mjs +++ b/test/parallel/test-runner-output.mjs @@ -151,6 +151,14 @@ const tests = [ { name: 'test-runner/output/test-runner-plan.js' }, process.features.inspector ? { name: 'test-runner/output/coverage_failure.js' } : false, { name: 'test-runner/output/test-diagnostic-warning-without-test-only-flag.js' }, + process.features.inspector ? { name: 'test-runner/output/coverage-width-80.js' } : false, + process.features.inspector ? { name: 'test-runner/output/coverage-width-100.js' } : false, + process.features.inspector ? { name: 'test-runner/output/coverage-width-150.js' } : false, + process.features.inspector ? { name: 'test-runner/output/coverage-width-infinity.js' } : false, + process.features.inspector ? { name: 'test-runner/output/coverage-width-80-uncovered-lines.js' } : false, + process.features.inspector ? { name: 'test-runner/output/coverage-width-100-uncovered-lines.js' } : false, + process.features.inspector ? { name: 'test-runner/output/coverage-width-150-uncovered-lines.js' } : false, + process.features.inspector ? { name: 'test-runner/output/coverage-width-infinity-uncovered-lines.js' } : false, ] .filter(Boolean) .map(({ name, tty, transform }) => ({