From 57161394e31d02ee486f128a1baddeb8098e1b64 Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Wed, 23 Oct 2024 15:30:54 +0200 Subject: [PATCH] add comment --- .../src/utils/isomorphic/locatorGenerators.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/playwright-core/src/utils/isomorphic/locatorGenerators.ts b/packages/playwright-core/src/utils/isomorphic/locatorGenerators.ts index aeb1246c13..04f3040547 100644 --- a/packages/playwright-core/src/utils/isomorphic/locatorGenerators.ts +++ b/packages/playwright-core/src/utils/isomorphic/locatorGenerators.ts @@ -158,20 +158,19 @@ function innerAsLocators(factory: LocatorFactory, parsed: ParsedSelector, isFram } } if (part.name === 'internal:control' && (part.body as string) === 'enter-frame') { + // transform last tokens from `${selector}` into `${selector}.contentFrame()` and `frameLocator(${selector})` const lastTokens = tokens[tokens.length - 1]; const lastPart = parts[index - 1]; - const extendedTokens = lastTokens.map(token => - factory.chainLocators([token, factory.generateLocator(base, 'frame', '')]) - ); + const transformed = lastTokens.map(token => factory.chainLocators([token, factory.generateLocator(base, 'frame', '')])); if (['xpath', 'css'].includes(lastPart.name)) { - extendedTokens.push( + transformed.push( factory.generateLocator(base, 'frame-locator', stringifySelector({ parts: [lastPart] })), factory.generateLocator(base, 'frame-locator', stringifySelector({ parts: [lastPart] }, true)) ); } - lastTokens.splice(0, lastTokens.length, ...extendedTokens); + lastTokens.splice(0, lastTokens.length, ...transformed); nextBase = 'frame-locator'; continue; }