diff --git a/packages/coverage-c8/src/provider.ts b/packages/coverage-c8/src/provider.ts index f88630666ead..9797511a4435 100644 --- a/packages/coverage-c8/src/provider.ts +++ b/packages/coverage-c8/src/provider.ts @@ -86,6 +86,7 @@ export class C8CoverageProvider implements CoverageProvider { entry.map.mappings.length > 0 && entry.map.sourcesContent && entry.map.sourcesContent.length > 0 + && entry.map.sourcesContent[0] && entry.map.sourcesContent[0].length > 0 ) }) as SourceMapMeta[] diff --git a/test/coverage-test/test/no-esbuild-transform.test.js b/test/coverage-test/test/no-esbuild-transform.test.js new file mode 100644 index 000000000000..e6167c52b975 --- /dev/null +++ b/test/coverage-test/test/no-esbuild-transform.test.js @@ -0,0 +1,10 @@ +import { expect, test, vi } from 'vitest' +import { add } from '../src/utils' + +vi.mock('../src/utils', async () => ({ + add: vi.fn().mockReturnValue('mocked'), +})) + +test('mocking in Javascript test should not break sourcemaps', () => { + expect(add(1, 2)).toBe('mocked') +}) diff --git a/test/coverage-test/testing.mjs b/test/coverage-test/testing.mjs index 8a0dc86f7a42..f419f1acbcab 100644 --- a/test/coverage-test/testing.mjs +++ b/test/coverage-test/testing.mjs @@ -8,7 +8,7 @@ const provider = getArgument('--provider') const configs = [ // Run test cases. Generates coverage report. ['test/', { - include: ['test/*.test.ts'], + include: ['test/*.test.*'], exclude: ['coverage-report-tests/**/*'], }],