From bc85868e63ca077237f26ece99e2319262bad6c1 Mon Sep 17 00:00:00 2001 From: Pengoose Date: Mon, 11 Nov 2024 06:01:58 +0900 Subject: [PATCH] fix: adjust normalization for regex values in matcher --- packages/playwright/src/matchers/toEqual.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/playwright/src/matchers/toEqual.ts b/packages/playwright/src/matchers/toEqual.ts index bb0f4e147e..e19652829d 100644 --- a/packages/playwright/src/matchers/toEqual.ts +++ b/packages/playwright/src/matchers/toEqual.ts @@ -59,6 +59,21 @@ export async function toEqual( if (pass) { printedExpected = `Expected: not ${this.utils.printExpected(expected)}`; printedReceived = `Received: ${this.utils.printReceived(received)}`; + } else if (Array.isArray(expected) && Array.isArray(received)) { + const normalizedExpected = expected.map((exp, index) => { + const rec = received[index]; + if (exp instanceof RegExp) + return exp.test(rec) ? rec : exp; + + return exp; + }); + printedDiff = this.utils.printDiffOrStringify( + normalizedExpected, + received, + EXPECTED_LABEL, + RECEIVED_LABEL, + false, + ); } else { printedDiff = this.utils.printDiffOrStringify( expected,