MCPcopy
hub / github.com/vercel/next.js / waitForStaticIndicator

Function waitForStaticIndicator

test/lib/next-test-utils.ts:1092–1125  ·  view source on GitHub ↗
(
  browser: Playwright,
  expectedRouteType: 'Static' | 'Dynamic' | undefined
)

Source from the content-addressed store, hash-verified

1090}
1091
1092export 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
1127export function getRedboxHeader(browser: Playwright): Promise<string | null> {
1128 return browser.eval(() => {

Callers 2

route-type.test.tsFile · 0.90

Calls 7

evalMethod · 0.80
callMethod · 0.80
splitMethod · 0.80
retryFunction · 0.70
findMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected