| 1090 | } |
| 1091 | |
| 1092 | export async function waitForStaticIndicator( |
| 1093 | browser: Playwright, |
| 1094 | expectedRouteType: 'Static' | 'Dynamic' | undefined |
| 1095 | ): Promise<void> { |
| 1096 | await toggleDevToolsIndicatorPopover(browser) |
| 1097 | |
| 1098 | await retry(async () => { |
| 1099 | const routeType = await browser.eval(() => { |
| 1100 | const portal = [].slice |
| 1101 | .call(document.querySelectorAll('nextjs-portal')) |
| 1102 | .find((p) => p.shadowRoot.querySelector('[data-nextjs-toast]')) |
| 1103 | |
| 1104 | return ( |
| 1105 | portal?.shadowRoot |
| 1106 | // 'Route\nStatic' || 'Route\nDynamic' |
| 1107 | ?.querySelector('[data-nextjs-route-type]') |
| 1108 | ?.innerText.split('\n') |
| 1109 | .pop() |
| 1110 | ) |
| 1111 | }) |
| 1112 | |
| 1113 | if (routeType !== expectedRouteType) { |
| 1114 | if (expectedRouteType) { |
| 1115 | throw new Error( |
| 1116 | `Expected static indicator with route type ${expectedRouteType}, found ${routeType} instead.` |
| 1117 | ) |
| 1118 | } else { |
| 1119 | throw new Error( |
| 1120 | `Expected no static indicator, found ${routeType} instead.` |
| 1121 | ) |
| 1122 | } |
| 1123 | } |
| 1124 | }) |
| 1125 | } |
| 1126 | |
| 1127 | export function getRedboxHeader(browser: Playwright): Promise<string | null> { |
| 1128 | return browser.eval(() => { |