From 26eae17ce1ea0fe2d5338e12aa80a218317e0413 Mon Sep 17 00:00:00 2001 From: Dunqing Date: Tue, 5 Sep 2023 10:47:27 +0800 Subject: [PATCH 1/4] fix(runner): incorrect test name pattern matching --- packages/runner/src/utils/collect.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runner/src/utils/collect.ts b/packages/runner/src/utils/collect.ts index b163bae7f716..74905d122076 100644 --- a/packages/runner/src/utils/collect.ts +++ b/packages/runner/src/utils/collect.ts @@ -46,7 +46,7 @@ export function interpretTaskModes(suite: Suite, namePattern?: string | RegExp, } function getTaskFullName(task: TaskBase): string { - return `${task.suite ? `${getTaskFullName(task.suite)} ` : ''}${task.name}` + return `${task.suite?.name ? `${getTaskFullName(task.suite)} ` : ''}${task.name}` } export function someTasksAreOnly(suite: Suite): boolean { From a45bcc6d7087f459a57d011307ac42f306746df8 Mon Sep 17 00:00:00 2001 From: Dunqing Date: Tue, 5 Sep 2023 11:13:15 +0800 Subject: [PATCH 2/4] test: update --- test/filters/test/testname-pattern.test.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/filters/test/testname-pattern.test.ts b/test/filters/test/testname-pattern.test.ts index 6a134c6c1615..40fd9cadc4bf 100644 --- a/test/filters/test/testname-pattern.test.ts +++ b/test/filters/test/testname-pattern.test.ts @@ -30,3 +30,14 @@ test('match by pattern that also matches current working directory', async () => expect(stdout).toMatch('Test Files 1 passed (1)') expect(stdout).not.toMatch('test/example.test.ts') }) + +test('match by test name pattern with ^', async () => { + const { stdout } = await runVitest({ + root: './fixtures', + testNamePattern: '^this', + }, ['filters']) + + expect(stdout).toMatch('✓ test/filters.test.ts > this will pass') + expect(stdout).toMatch('Test Files 1 passed (1)') + expect(stdout).not.toMatch('test/example.test.ts') +}) From c28f7bc8059b8cf05bd85696f9b2323d0e37d00c Mon Sep 17 00:00:00 2001 From: Dunqing Date: Tue, 5 Sep 2023 13:46:12 +0800 Subject: [PATCH 3/4] fix: refactor --- packages/runner/src/utils/collect.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runner/src/utils/collect.ts b/packages/runner/src/utils/collect.ts index 74905d122076..aad58f32f48d 100644 --- a/packages/runner/src/utils/collect.ts +++ b/packages/runner/src/utils/collect.ts @@ -46,7 +46,7 @@ export function interpretTaskModes(suite: Suite, namePattern?: string | RegExp, } function getTaskFullName(task: TaskBase): string { - return `${task.suite?.name ? `${getTaskFullName(task.suite)} ` : ''}${task.name}` + return `${task.suite ? `${getTaskFullName(task.suite)}${task.suite.name ? ' ' : ''}` : ''}${task.name}` } export function someTasksAreOnly(suite: Suite): boolean { From f3ac0fbaa05fb2f2b9de522ef7cbe2b22cb5d56d Mon Sep 17 00:00:00 2001 From: Dunqing Date: Tue, 5 Sep 2023 17:20:34 +0800 Subject: [PATCH 4/4] refactor: implement again --- packages/runner/src/utils/collect.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/runner/src/utils/collect.ts b/packages/runner/src/utils/collect.ts index aad58f32f48d..9eeee4267833 100644 --- a/packages/runner/src/utils/collect.ts +++ b/packages/runner/src/utils/collect.ts @@ -46,7 +46,8 @@ export function interpretTaskModes(suite: Suite, namePattern?: string | RegExp, } function getTaskFullName(task: TaskBase): string { - return `${task.suite ? `${getTaskFullName(task.suite)}${task.suite.name ? ' ' : ''}` : ''}${task.name}` + const fullName = task.suite ? getTaskFullName(task.suite) : null + return fullName ? `${fullName} ${task.name}` : task.name } export function someTasksAreOnly(suite: Suite): boolean {