From 75a52809b81b3a06ab587f7f5aa334990c818d2e Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa <4232207+hi-ogawa@users.noreply.github.com> Date: Wed, 21 Oct 2026 18:46:46 +0900 Subject: [PATCH] test: cover merged errors across attempts Co-Authored-By: Claude Opus 5.5 --- test/browser/specs/failure-screenshot.test.ts | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/test/browser/specs/failure-screenshot.test.ts b/test/browser/specs/failure-screenshot.test.ts index cb8222995..9e210c7f9 100644 --- a/test/browser/specs/failure-screenshot.test.ts +++ b/test/browser/specs/failure-screenshot.test.ts @@ -158,5 +158,31 @@ describe('failure screenshots', () => { `) expect(new Set(readReportedScreenshots(stderr)).size).toBe(4) }) + + test('lists each attempt once under a merged error', async () => { + const { stderr, root } = await runBrowserTests({ + [testFilename]: /* ts */ ` + import { expect, test } from 'vitest' + + test('merged', { retry: 1 }, () => { + document.body.innerHTML = '' + for (let i = 0; i < 2; i++) { + expect.soft(1).toBe(2) + } + }) + `, + }) + + expect(extractFailureLines(stderr, root)).toMatchInlineSnapshot(` + " FAIL |chromium| basic.test.ts > merged + FAIL |chromium| basic.test.ts > merged + FAIL |chromium| basic.test.ts > merged + FAIL |chromium| basic.test.ts > merged + AssertionError: expected 1 to be 2 // Object.is equality + Failure screenshots: + - /.vitest/attachments/failure-screenshots/basic.test.ts/merged-0-0.png + - /.vitest/attachments/failure-screenshots/basic.test.ts/merged-0-1.png" + `) + }) }) }) -- 2.54.0