From 31882607cc67c7bf52ead13a606321ffdb06a857 Mon Sep 17 00:00:00 2001 From: Raul Macarie Date: Mon, 27 Apr 2026 14:06:51 +0200 Subject: [PATCH] feat(browser): provide project reference in `ToMatchScreenshotResolvePath` (#10138) Co-authored-by: Vladimir --- docs/config/browser/expect.md | 4 ++++ .../browser/src/node/commands/screenshotMatcher/utils.ts | 1 + packages/vitest/src/node/types/browser.ts | 6 ++++++ 3 files changed, 11 insertions(+) diff --git a/docs/config/browser/expect.md b/docs/config/browser/expect.md index dff6d64b9..45c3a21a3 100644 --- a/docs/config/browser/expect.md +++ b/docs/config/browser/expect.md @@ -118,6 +118,10 @@ receives an object with the following properties: The value provided to [`attachmentsDir`](/config/attachmentsdir), if none is provided, its default value. +- `project: TestProject` 4.1.6 + + The [`TestProject`](/api/advanced/test-project) the test belongs to. + For example, to group screenshots by browser: ```ts diff --git a/packages/browser/src/node/commands/screenshotMatcher/utils.ts b/packages/browser/src/node/commands/screenshotMatcher/utils.ts index fb3645ae0..981680557 100644 --- a/packages/browser/src/node/commands/screenshotMatcher/utils.ts +++ b/packages/browser/src/node/commands/screenshotMatcher/utils.ts @@ -143,6 +143,7 @@ export function resolveOptions( testFileName: basename(context.testPath), testName: sanitize(testName, false), browserName: context.project.config.browser.name, + project: context.project, } satisfies Parameters[0] return { diff --git a/packages/vitest/src/node/types/browser.ts b/packages/vitest/src/node/types/browser.ts index faa6e969c..5dd144b1e 100644 --- a/packages/vitest/src/node/types/browser.ts +++ b/packages/vitest/src/node/types/browser.ts @@ -478,6 +478,12 @@ type ToMatchScreenshotResolvePath = (data: { * if none is provided, its default value. */ attachmentsDir: string + /** + * The {@linkcode https://vitest.dev/api/advanced/test-project|TestProject} the test belongs to. + * + * @experimental + */ + project: TestProject }) => string export interface ToMatchScreenshotOptions { -- 2.51.2