diff --git a/packages/coverage-c8/src/provider.ts b/packages/coverage-c8/src/provider.ts index 265b1746978d..f1c0c1e5e9a9 100644 --- a/packages/coverage-c8/src/provider.ts +++ b/packages/coverage-c8/src/provider.ts @@ -58,7 +58,7 @@ export class C8CoverageProvider implements CoverageProvider { if (!map) return - const url = _url.pathToFileURL(file.replace(/\?(.*)/, '')).href + const url = _url.pathToFileURL(file.split('?')[0]).href let code: string | undefined try { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9f7c3a323186..b46db0d45f61 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -958,7 +958,7 @@ importers: vue: latest devDependencies: '@vitejs/plugin-vue': 3.2.0_vite@3.2.1+vue@3.2.41 - '@vue/test-utils': 2.2.0_vue@3.2.41 + '@vue/test-utils': 2.2.1_vue@3.2.41 execa: 6.1.0 happy-dom: 7.6.6 vite: 3.2.1 diff --git a/test/coverage-test/coverage-test/c8/coverage-report/utils.test.js b/test/coverage-test/coverage-test/c8/coverage-report/utils.test.js index 307e37beb5ce..8a1d0708c1c1 100644 --- a/test/coverage-test/coverage-test/c8/coverage-report/utils.test.js +++ b/test/coverage-test/coverage-test/c8/coverage-report/utils.test.js @@ -1,5 +1,5 @@ import { expect, test } from 'vitest' -import { add } from '../../src/coverage-report/utils.js' +import { add } from '../../../src/coverage-report/utils.js' test('add', () => { expect(add(10, 15)).toBe(25) diff --git a/test/coverage-test/coverage-test/coverage.c8.test.ts b/test/coverage-test/coverage-test/coverage.c8.test.ts index 56ef53403062..6f57a6ec8de9 100644 --- a/test/coverage-test/coverage-test/coverage.c8.test.ts +++ b/test/coverage-test/coverage-test/coverage.c8.test.ts @@ -28,15 +28,15 @@ test('coverage c8', async () => { }) test('Should show coverage', async () => { - const stdout = await run('--config', 'vitest.config-c8-coverage.ts', '--coverage') + const stdout = await run('--config', 'vitest.config-c8-internal-coverage.ts', '--coverage') // For Vue SFC and vue + ts files - expect(stdout).contain('not-SFC.ts') - expect(stdout).not.contain('not-SFC.ts?vue') - expect(stdout).contain('not-SFC.vue') - expect(stdout).contain('SFC.vue') + expect(stdout).toContain('not-SFC.ts') + expect(stdout).not.toContain('not-SFC.ts?vue') + expect(stdout).toContain('not-SFC.vue') + expect(stdout).toContain('SFC.vue') // For ts and js files - expect(stdout).contain('math.ts') - expect(stdout).contain('utils.js') -}, 10000) + expect(stdout).toContain('math.ts') + expect(stdout).toContain('utils.js') +}, 30000) diff --git a/test/coverage-test/vitest.config-c8-coverage.ts b/test/coverage-test/vitest.config-c8-coverage.ts index 6ad25e1bceb7..ba221684a1af 100644 --- a/test/coverage-test/vitest.config-c8-coverage.ts +++ b/test/coverage-test/vitest.config-c8-coverage.ts @@ -6,7 +6,6 @@ export default defineConfig({ test: { include: [ './coverage-test/*.c8.test.ts', - './coverage-test/c8/**/*test.ts', ], coverage: { reporter: ['html', 'text', 'lcov'], diff --git a/test/coverage-test/vitest.config-c8-internal-coverage.ts b/test/coverage-test/vitest.config-c8-internal-coverage.ts new file mode 100644 index 000000000000..a4d28b78e4e7 --- /dev/null +++ b/test/coverage-test/vitest.config-c8-internal-coverage.ts @@ -0,0 +1,16 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +export default defineConfig({ + plugins: [vue()], + test: { + include: [ + './coverage-test/c8/**/*test.{ts,js}', + ], + coverage: { + reporter: ['html', 'text', 'lcov'], + include: ['src/**'], + extension: ['.ts', '.vue', '.js'], + }, + }, +})