diff --git a/test/turbopack-dev-tests-manifest.json b/test/turbopack-dev-tests-manifest.json index b8e4de9638117..63a4e464ff93b 100644 --- a/test/turbopack-dev-tests-manifest.json +++ b/test/turbopack-dev-tests-manifest.json @@ -60,6 +60,7 @@ "validateFontFunctionCall errors Missing subsets in config and call", "validateFontFunctionCall errors Missing weight for non variable font", "validateFontFunctionCall errors Setting axes on non variable font", + "validateFontFunctionCall errors Setting axes on variable font with incorrect weight", "validateFontFunctionCall errors Unknown font", "validateFontFunctionCall errors Unknown style", "validateFontFunctionCall errors Unknown weight", @@ -120,6 +121,18 @@ "flakey": [], "runtimeError": false }, + "packages/next-codemod/transforms/__tests__/app-dir-runtime-config-experimental-edge.test.js": { + "passed": [ + "app-dir-runtime-config-experimental-edge transforms correctly using \"app-dir-runtime-config-experimental-edge/already-edge\" data", + "app-dir-runtime-config-experimental-edge transforms correctly using \"app-dir-runtime-config-experimental-edge/basic\" data", + "app-dir-runtime-config-experimental-edge transforms correctly using \"app-dir-runtime-config-experimental-edge/no-runtime\" data", + "app-dir-runtime-config-experimental-edge transforms correctly using \"app-dir-runtime-config-experimental-edge/nodejs\" data" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "packages/next-codemod/transforms/__tests__/built-in-next-font.test.js": { "passed": [ "built-in-next-font transforms correctly using \"built-in-next-font/page\" data", @@ -178,13 +191,101 @@ "flakey": [], "runtimeError": false }, - "packages/next-codemod/transforms/__tests__/next-dynamic-access-named-export.test.js": { - "passed": [ - "next-dynamic-access-named-export transforms correctly using \"next-dynamic-access-named-export/access-named-export\" data", - "next-dynamic-access-named-export transforms correctly using \"next-dynamic-access-named-export/access-named-export-block\" data", - "next-dynamic-access-named-export transforms correctly using \"next-dynamic-access-named-export/no-access-to-named-export\" data", - "next-dynamic-access-named-export transforms correctly using \"next-dynamic-access-named-export/non-next-dynamic-dynamic-import\" data", - "next-dynamic-access-named-export transforms correctly using \"next-dynamic-access-named-export/unsupported-transform\" data" + "packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js": { + "passed": [ + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-01", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-02", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-03", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-04", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-05", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-06", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-07", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-08", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-10", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-11", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-12", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-13", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-14", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-15", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-16", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-17", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-18", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-19", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-20", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-21", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-22", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-23", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-24", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-25", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-type-cast-01", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/async-api-type-cast-02", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/custom-routes-access-api-prop-01", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-01", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-02", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-03", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/no-transform-local-call", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/no-transform-non-nextjs-cookies", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/origin-name-01-util", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/origin-name-02-util", + "next-async-request-api - dynamic-apis transforms correctly next-async-request-api-dynamic-apis/origin-name-03-env.d" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-props.test.js": { + "passed": [ + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-01", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-02", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-03", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-04", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-05", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-06", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-07", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-08", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-09", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-10", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-11", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-12", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-13", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-14", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-15", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-16", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-17", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-18", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-19", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-20", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-21", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-22", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-23", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-24", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-25", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-26", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-27", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-28", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-29", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-30", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-31", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-32", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-33", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-34", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-35", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-36", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-37", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-38", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-39", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/access-props-40", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/generate-metadata-access-prop-01", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/generate-metadata-access-prop-02", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/generate-metadata-access-prop-03", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/generate-metadata-access-prop-04", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/no-transform-non-default-function", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/origin-name-01-route", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/origin-name-02-somefile", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/origin-name-03-default", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/route-access-prop-01", + "next-async-request-api - dynamic-props transforms correctly next-async-request-api-dynamic-props/route-access-props-02" ], "failed": [], "pending": [], @@ -237,6 +338,51 @@ "flakey": [], "runtimeError": false }, + "packages/next-codemod/transforms/__tests__/next-request-geo-ip.test.js": { + "passed": [ + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/destructure\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/destructure-alias\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/direct-access\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/duplicate-identifiers\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/function-param\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/geo-properties\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/geo-type-import\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/has-imports\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/has-imports-alias\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/has-other-import\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/multiple-imports\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/replace-type\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/replace-type-geo-only\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/replace-type-ip-only\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/skip-empty-ast\" data", + "next-request-geo-ip transforms correctly using \"next-request-geo-ip/skip-no-next-request\" data" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "packages/next-codemod/transforms/__tests__/revalidate-to-expire.test.js": { + "passed": [ + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/alias-asterisk\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/import-both\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/import-both-alias-asterisk\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/import-both-alias-both\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/import-both-alias-expire\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/import-both-alias-revalidate\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/no-import\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/no-import-next-cache\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/noop\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/path-alias\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/path-basic\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/tag-alias\" data", + "revalidate-to-expire transforms correctly using \"revalidate-to-expire/tag-basic\" data" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "packages/next-codemod/transforms/__tests__/url-to-withrouter.test.js": { "passed": [ "url-to-withrouter transforms correctly using \"url-to-withrouter/already-using-withrouter\" data", @@ -283,6 +429,17 @@ "flakey": [], "runtimeError": false }, + "packages/next/src/build/analysis/get-page-static-info.test.ts": { + "passed": [ + "get-page-static-infos getMiddlewareMatchers matches /:id and /:id.json", + "get-page-static-infos getMiddlewareMatchers sets originalSource with multiple matchers", + "get-page-static-infos getMiddlewareMatchers sets originalSource with one matcher" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "packages/next/src/build/normalize-catchall-routes.test.ts": { "passed": [ "normalizeCatchallRoutes should add the catch-all route to all matched paths at the root", @@ -306,7 +463,8 @@ "resolveRouteData resolveRobots should resolve robots.txt", "resolveRouteData resolveSitemap should resolve sitemap.xml", "resolveRouteData resolveSitemap should resolve sitemap.xml with alternates", - "resolveRouteData resolveSitemap should resolve sitemap.xml with images" + "resolveRouteData resolveSitemap should resolve sitemap.xml with images", + "resolveRouteData resolveSitemap should resolve sitemap.xml with videos" ], "failed": [], "pending": [], @@ -356,6 +514,18 @@ "flakey": [], "runtimeError": false }, + "packages/next/src/client/components/react-dev-overlay/internal/helpers/webpack-module-path.test.ts": { + "passed": [ + "webpack-module-path formatFrameSourceFile should return an empty string for file paths", + "webpack-module-path formatFrameSourceFile should return the original file path", + "webpack-module-path isWebpackInternalResource should return false for non-webpack-internal paths", + "webpack-module-path isWebpackInternalResource should return true for webpack-internal paths" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "packages/next/src/client/components/redirect.test.ts": { "passed": ["test should throw a redirect error"], "failed": [], @@ -483,6 +653,25 @@ "flakey": [], "runtimeError": false }, + "packages/next/src/client/components/router-reducer/reducers/server-reference-info.test.ts": { + "passed": [ + "extractInfoFromServerReferenceId should parse id with typeBit 0, argMask 0b101010, restArgs false", + "extractInfoFromServerReferenceId should parse id with typeBit 0, no args used, no restArgs", + "extractInfoFromServerReferenceId should parse id with typeBit 1, all args used, restArgs true", + "extractInfoFromServerReferenceId should parse id with typeBit 1, argMask 0b000101, restArgs true", + "omitUnusedArgs should filter args when some args are used and no restArgs", + "omitUnusedArgs should handle args array shorter than 6 elements", + "omitUnusedArgs should handle empty args array", + "omitUnusedArgs should include restArgs when hasRestArgs is true", + "omitUnusedArgs should not include extra args when hasRestArgs is false", + "omitUnusedArgs should return all args when all args are used and has restArgs", + "omitUnusedArgs should return empty array when no args are used and no restArgs" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "packages/next/src/client/components/router-reducer/should-hard-navigate.test.tsx": { "passed": [ "shouldHardNavigate should return false if segments are dynamic and match", @@ -504,6 +693,42 @@ "flakey": [], "runtimeError": false }, + "packages/next/src/experimental/testing/server/config-testing-utils.test.ts": { + "passed": [ + "config-testing-utils basePath", + "config-testing-utils headers simple match", + "config-testing-utils redirects handles redirect", + "config-testing-utils redirects handles redirect with params", + "config-testing-utils redirects ignores redirect that doesn't match has", + "config-testing-utils redirects redirects take precedence over rewrites", + "config-testing-utils redirects redirects with has and missing", + "config-testing-utils returns 200 for paths that do not match", + "config-testing-utils rewrites beforeFiles rewrites take precedence over afterFiles and fallback", + "config-testing-utils rewrites handles rewrite" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "packages/next/src/experimental/testing/server/middleware-testing-utils.test.ts": { + "passed": [ + "unstable_doesMiddlewareMatch basePath correctly picks up basePath from nextConfig", + "unstable_doesMiddlewareMatch has condition cookies matches only when the cookie is present", + "unstable_doesMiddlewareMatch has condition header matches only when the header is present", + "unstable_doesMiddlewareMatch has condition query params matches only when the query parameter is present", + "unstable_doesMiddlewareMatch matches everything when no matcher is provided", + "unstable_doesMiddlewareMatch matches only valid paths in the config", + "unstable_doesMiddlewareMatch matches regular expressions", + "unstable_doesMiddlewareMatch missing condition cookies matches only when the cookie is missing", + "unstable_doesMiddlewareMatch missing condition header matches only when the header is missing", + "unstable_doesMiddlewareMatch missing condition query params matches only when the query parameter is missing" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "packages/next/src/lib/batcher.test.ts": { "passed": [ "Batcher batch should batch multiple calls to the same key", @@ -656,13 +881,14 @@ }, "packages/next/src/server/after/after-context.test.ts": { "passed": [ + "AfterContext does NOT shadow workAsyncStorage within after callbacks", "AfterContext does not hang forever if onClose failed", + "AfterContext preserves the ALS context the callback was created in", "AfterContext runs after() callbacks added within an after()", "AfterContext runs after() callbacks from a run() callback that resolves", "AfterContext runs after() callbacks from a run() callback that streams", "AfterContext runs after() callbacks from a run() callback that throws", "AfterContext runs all after() callbacks even if some of them threw", - "AfterContext shadows requestAsyncStorage within after callbacks", "AfterContext throws from after() if onClose is not provided", "AfterContext throws from after() if waitUntil is not provided" ], @@ -671,6 +897,34 @@ "flakey": [], "runtimeError": false }, + "packages/next/src/server/after/awaiter.test.ts": { + "passed": [ + "AwaiterOnce does not allow calling waitUntil after it's been awaited", + "AwaiterOnce/AwaiterMulti AwaiterMulti awaits promises added by other promises", + "AwaiterOnce/AwaiterMulti AwaiterMulti calls onError for rejected promises", + "AwaiterOnce/AwaiterMulti AwaiterOnce awaits promises added by other promises", + "AwaiterOnce/AwaiterMulti AwaiterOnce calls onError for rejected promises" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "packages/next/src/server/app-render/csrf-protection.test.ts": { + "passed": [ + "isCsrfOriginAllowed should return false when allowedOrigins contains originDomain with non-matching pattern", + "isCsrfOriginAllowed should return false when allowedOrigins does not contain originDomain", + "isCsrfOriginAllowed should return false when allowedOrigins is empty", + "isCsrfOriginAllowed should return false when allowedOrigins is empty string", + "isCsrfOriginAllowed should return false when allowedOrigins is undefined", + "isCsrfOriginAllowed should return true when allowedOrigins contains originDomain", + "isCsrfOriginAllowed should return true when allowedOrigins contains originDomain with matching pattern" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "packages/next/src/server/app-render/postponed-state.test.ts": { "passed": [ "getDynamicDataPostponedState serializes a data postponed state with fallback params", @@ -709,6 +963,10 @@ }, "packages/next/src/server/config.test.ts": { "passed": [ + "loadConfig canary-only features errors when using PPR if not in canary", + "loadConfig canary-only features errors when using dynamicIO if not in canary", + "loadConfig canary-only features errors when using persistentCaching if not in canary", + "loadConfig canary-only features should not print a stack trace when throwing an error", "loadConfig nextConfig.images defaults should assign a `images.remotePatterns` when using assetPrefix", "loadConfig nextConfig.images defaults should not assign a duplicate `images.remotePatterns` value when using assetPrefix" ], @@ -813,6 +1071,16 @@ "flakey": [], "runtimeError": false }, + "packages/next/src/server/lib/router-utils/decode-path-params.test.ts": { + "passed": [ + "decoding path params should decode path params", + "decoding path params should throw an error when the path param is improperly encoded" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "packages/next/src/server/lib/to-route.test.ts": { "passed": [ "toRoute Function should remove trailing `/index`", @@ -904,19 +1172,6 @@ "flakey": [], "runtimeError": false }, - "packages/next/src/server/normalizers/request/postponed.test.ts": { - "passed": [ - "PostponedPathnameNormalizer match should match", - "PostponedPathnameNormalizer match should not match for other pathnames", - "PostponedPathnameNormalizer normalize should normalize `/index` to `/`", - "PostponedPathnameNormalizer normalize should normalize when matched", - "PostponedPathnameNormalizer normalize should not normalize but not matched" - ], - "failed": [], - "pending": [], - "flakey": [], - "runtimeError": false - }, "packages/next/src/server/normalizers/request/prefetch-rsc.test.ts": { "passed": [ "PrefetchRSCPathnameNormalizer should match the prefetch rsc pathname", @@ -954,6 +1209,17 @@ "flakey": [], "runtimeError": false }, + "packages/next/src/server/resume-data-cache/resume-data-cache.test.ts": { + "passed": [ + "parseResumeDataCache parses an empty cache", + "stringifyResumeDataCache serializes a cache with a single entry", + "stringifyResumeDataCache serializes an empty cache" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "packages/next/src/server/route-matcher-managers/default-route-matcher-manager.test.ts": { "passed": [ "DefaultRouteMatcherManager calls the locale route matcher when one is provided", @@ -1104,8 +1370,12 @@ }, "packages/next/src/server/web/spec-extension/adapters/request-cookies.test.ts": { "passed": [ + "MutableRequestCookiesAdapter supports chained delete calls and preserves wrapping", + "MutableRequestCookiesAdapter supports chained set calls and preserves wrapping", "RequestCookiesAdapter should be able to create a new instance from a RequestCookies", - "RequestCookiesAdapter should be able to create a new instance from an empty RequestCookies" + "RequestCookiesAdapter should be able to create a new instance from an empty RequestCookies", + "wrapWithMutableAccessCheck prevents deleting cookies in the render phase", + "wrapWithMutableAccessCheck prevents setting cookies in the render phase" ], "failed": [], "pending": [], @@ -1295,11 +1565,12 @@ }, "test/development/acceptance-app/ReactRefreshLogBox.test.ts": { "passed": [ - "ReactRefreshLogBox app turbo Call stack count for client error", + "ReactRefreshLogBox app turbo Call stack for client error", "ReactRefreshLogBox app turbo Call stack for server error", "ReactRefreshLogBox app turbo Can't resolve @import in CSS file", "ReactRefreshLogBox app turbo Import trace when module not found in layout", "ReactRefreshLogBox app turbo Server component errors should open up in fullscreen", + "ReactRefreshLogBox app turbo Should collapse bundler internal stack frames", "ReactRefreshLogBox app turbo Should not show __webpack_exports__ when exporting anonymous arrow function", "ReactRefreshLogBox app turbo Should show error location for server actions in client component", "ReactRefreshLogBox app turbo Should show error location for server actions in server component", @@ -1317,11 +1588,12 @@ ], "failed": [], "pending": [ - "ReactRefreshLogBox app default Call stack count for client error", + "ReactRefreshLogBox app default Call stack for client error", "ReactRefreshLogBox app default Call stack for server error", "ReactRefreshLogBox app default Can't resolve @import in CSS file", "ReactRefreshLogBox app default Import trace when module not found in layout", "ReactRefreshLogBox app default Server component errors should open up in fullscreen", + "ReactRefreshLogBox app default Should collapse bundler internal stack frames", "ReactRefreshLogBox app default Should not show __webpack_exports__ when exporting anonymous arrow function", "ReactRefreshLogBox app default Should show error location for server actions in client component", "ReactRefreshLogBox app default Should show error location for server actions in server component", @@ -1367,10 +1639,10 @@ "ReactRefreshRegression app can fast refresh a page with config", "ReactRefreshRegression app can fast refresh a page with dynamic rendering", "ReactRefreshRegression app can fast refresh a page with static generation", + "ReactRefreshRegression app custom loader mdx should have Fast Refresh enabled", "ReactRefreshRegression app shows an overlay for anonymous function server-side error", "ReactRefreshRegression app shows an overlay for server-side error in client component", - "ReactRefreshRegression app shows an overlay for server-side error in server component", - "ReactRefreshRegression app custom loader mdx should have Fast Refresh enabled" + "ReactRefreshRegression app shows an overlay for server-side error in server component" ], "failed": [], "pending": [ @@ -1486,21 +1758,23 @@ }, "test/development/acceptance-app/hydration-error.test.ts": { "passed": [ - "Error overlay for hydration errors should collapse and uncollapse properly when there are many frames", - "Error overlay for hydration errors should not show a hydration error when using `useId` in a client component", - "Error overlay for hydration errors should only show one hydration error when bad nesting happened - div > tr", - "Error overlay for hydration errors should only show one hydration error when bad nesting happened - div under p", - "Error overlay for hydration errors should only show one hydration error when bad nesting happened - p under p", - "Error overlay for hydration errors should show correct hydration error when client and server render different text", - "Error overlay for hydration errors should show correct hydration error when client renders an extra element", - "Error overlay for hydration errors should show correct hydration error when client renders an extra node inside Suspense content", - "Error overlay for hydration errors should show correct hydration error when client renders an extra text node", - "Error overlay for hydration errors should show correct hydration error when server renders an extra element", - "Error overlay for hydration errors should show correct hydration error when server renders an extra text node", - "Error overlay for hydration errors should show correct hydration error when server renders an extra text node in an invalid place", - "Error overlay for hydration errors should show correct hydration error when server renders an extra whitespace in an invalid place", - "Error overlay for hydration errors should show error if script is directly placed under html instead of body", - "Error overlay for hydration errors should show the highlighted bad nesting html snippet when bad nesting happened" + "Error overlay for hydration errors in App router includes a React docs link when hydration error does occur", + "Error overlay for hydration errors in App router should collapse and uncollapse properly when there are many frames", + "Error overlay for hydration errors in App router should not show a hydration error when using `useId` in a client component", + "Error overlay for hydration errors in App router should only show one hydration error when bad nesting happened - div > tr", + "Error overlay for hydration errors in App router should only show one hydration error when bad nesting happened - div under p", + "Error overlay for hydration errors in App router should only show one hydration error when bad nesting happened - p under p", + "Error overlay for hydration errors in App router should show correct hydration error when client and server render different text", + "Error overlay for hydration errors in App router should show correct hydration error when client renders an extra element", + "Error overlay for hydration errors in App router should show correct hydration error when client renders an extra node inside Suspense content", + "Error overlay for hydration errors in App router should show correct hydration error when client renders an extra text node", + "Error overlay for hydration errors in App router should show correct hydration error when extra attributes set on server", + "Error overlay for hydration errors in App router should show correct hydration error when server renders an extra element", + "Error overlay for hydration errors in App router should show correct hydration error when server renders an extra text node", + "Error overlay for hydration errors in App router should show correct hydration error when server renders an extra text node in an invalid place", + "Error overlay for hydration errors in App router should show correct hydration error when server renders an extra whitespace in an invalid place", + "Error overlay for hydration errors in App router should show error if script is directly placed under html instead of body", + "Error overlay for hydration errors in App router should show the highlighted bad nesting html snippet when bad nesting happened" ], "failed": [], "pending": [], @@ -1731,9 +2005,9 @@ "ReactRefreshRegression can fast refresh a page with config", "ReactRefreshRegression can fast refresh a page with getServerSideProps", "ReactRefreshRegression can fast refresh a page with getStaticProps", + "ReactRefreshRegression custom loader mdx should have Fast Refresh enabled", "ReactRefreshRegression shows an overlay for a server-side error", - "ReactRefreshRegression styled-components hydration mismatch", - "ReactRefreshRegression custom loader mdx should have Fast Refresh enabled" + "ReactRefreshRegression styled-components hydration mismatch" ], "failed": [], "pending": [], @@ -1787,7 +2061,22 @@ }, "test/development/acceptance/hydration-error.test.ts": { "passed": [ - "Error overlay for hydration errors should show correct hydration error when client and server render different text" + "Error overlay for hydration errors in Pages router includes a React docs link when hydration error does occur", + "Error overlay for hydration errors in Pages router should collapse and uncollapse properly when there are many frames", + "Error overlay for hydration errors in Pages router should not show a hydration error when using `useId` in a client component", + "Error overlay for hydration errors in Pages router should only show one hydration error when bad nesting happened - div > tr", + "Error overlay for hydration errors in Pages router should only show one hydration error when bad nesting happened - div under p", + "Error overlay for hydration errors in Pages router should only show one hydration error when bad nesting happened - p under p", + "Error overlay for hydration errors in Pages router should show correct hydration error when client and server render different text", + "Error overlay for hydration errors in Pages router should show correct hydration error when client renders an extra element", + "Error overlay for hydration errors in Pages router should show correct hydration error when client renders an extra node inside Suspense content", + "Error overlay for hydration errors in Pages router should show correct hydration error when client renders an extra text node", + "Error overlay for hydration errors in Pages router should show correct hydration error when server renders an extra element", + "Error overlay for hydration errors in Pages router should show correct hydration error when server renders an extra text node", + "Error overlay for hydration errors in Pages router should show correct hydration error when server renders an extra text node in an invalid place", + "Error overlay for hydration errors in Pages router should show correct hydration error when server renders an extra whitespace in an invalid place", + "Error overlay for hydration errors in Pages router should show error if script is directly placed under html instead of body", + "Error overlay for hydration errors in Pages router should show the highlighted bad nesting html snippet when bad nesting happened" ], "failed": [], "pending": [], @@ -1829,6 +2118,21 @@ "flakey": [], "runtimeError": false }, + "test/development/app-dir/async-request-warnings/async-request-warnings.test.ts": { + "passed": [ + "dynamic-requests warnings no warnings should have no warnings on normal rsc page without accessing params", + "dynamic-requests warnings no warnings should only have hydration warnings on hydration mismatch page without accessing params", + "dynamic-requests warnings warnings on sync cookie access", + "dynamic-requests warnings warnings on sync draftMode access", + "dynamic-requests warnings warnings on sync headers access", + "dynamic-requests warnings warnings on sync params access", + "dynamic-requests warnings warnings on sync searchParams access" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/development/app-dir/basic/basic.test.ts": { "passed": ["basic app-dir tests should reload app pages without error"], "failed": [], @@ -1843,6 +2147,34 @@ "flakey": [], "runtimeError": false }, + "test/development/app-dir/capture-console-error-owner-stack/capture-console-error-owner-stack.test.ts": { + "passed": [ + "app-dir - capture-console-error-owner-stack should be able to capture rsc logged error", + "app-dir - capture-console-error-owner-stack should capture browser console error and format the error message", + "app-dir - capture-console-error-owner-stack should capture browser console error in render and dedupe if necessary", + "app-dir - capture-console-error-owner-stack should capture browser console error in render and dedupe when multi same errors logged", + "app-dir - capture-console-error-owner-stack should capture server replay error instance from console error", + "app-dir - capture-console-error-owner-stack should capture server replay string error from console error" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/development/app-dir/capture-console-error/capture-console-error.test.ts": { + "passed": [ + "app-dir - capture-console-error should be able to capture rsc logged error", + "app-dir - capture-console-error should capture browser console error and format the error message", + "app-dir - capture-console-error should capture browser console error in render and dedupe if necessary", + "app-dir - capture-console-error should capture browser console error in render and dedupe when multi same errors logged", + "app-dir - capture-console-error should capture server replay error instance from console error", + "app-dir - capture-console-error should capture server replay string error from console error" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/development/app-dir/dev-fetch-hmr/dev-fetch-hmr.test.ts": { "passed": ["dev-fetch-hmr should retain module level fetch patching"], "failed": [], @@ -1866,6 +2198,49 @@ "flakey": [], "runtimeError": false }, + "test/development/app-dir/dynamic-io-dev-cache-scope/dynamic-io-dev-cache-scope.test.ts": { + "passed": [ + "Dynamic IO Dev Errors should not show a red box error on the SSR render", + "Dynamic IO Dev Errors should show a red box error on the SSR render when data is uncached" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/development/app-dir/dynamic-io-dev-errors/dynamic-io-dev-errors.test.ts": { + "passed": [ + "Dynamic IO Dev Errors should clear segment errors after correcting them", + "Dynamic IO Dev Errors should display error when component accessed data without suspense boundary", + "Dynamic IO Dev Errors should show a red box error on client navigations", + "Dynamic IO Dev Errors should show a red box error on the SSR render" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/development/app-dir/dynamic-io-dev-warmup/dynamic-io.dev-warmup.test.ts": { + "passed": [ + "dynamic-io-dev-warmup logs with Prerender or Server environment depending based on whether the timing of when the log runs relative to this environment boundary" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/development/app-dir/dynamic-io-warnings/dynamic-io.warnings.test.ts": { + "passed": [], + "failed": [], + "pending": [ + "dynamic-requests warnings warns on reading the current time in the prerender portion of a dev render", + "dynamic-requests warnings warns on reading the random numbers in the prerender portion of a dev render", + "dynamic-requests warnings warns on reading the random values from node crypto APIs in the prerender portion of a dev render", + "dynamic-requests warnings warns on reading the random values from web crypto APIs in the prerender portion of a dev render" + ], + "flakey": [], + "runtimeError": false + }, "test/development/app-dir/edge-errors-hmr/index.test.ts": { "passed": [ "develop - app-dir - edge errros hmr should recover from build errors when client component error", @@ -1886,6 +2261,15 @@ "flakey": [], "runtimeError": false }, + "test/development/app-dir/externalize-node-binary-browser-error/externalize-node-binary-browser-error.test.ts": { + "passed": [], + "failed": [], + "pending": [ + "externalize-node-binary-browser-error should error when import node binary on browser side" + ], + "flakey": [], + "runtimeError": false + }, "test/development/app-dir/hmr-asset-prefix-full-url/asset-prefix.test.ts": { "passed": [ "app-dir assetPrefix full URL should not break HMR when asset prefix set to full URL" @@ -1927,6 +2311,16 @@ "flakey": [], "runtimeError": false }, + "test/development/app-dir/hook-function-names/hook-function-names.test.ts": { + "passed": [ + "hook-function-names should show readable hook names in stacks", + "hook-function-names should show readable hook names in stacks for default-exported components" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/development/app-dir/missing-required-html-tags/index.test.ts": { "passed": [ "app-dir - missing required html tags should hmr when you fix the error", @@ -1948,9 +2342,65 @@ }, "test/development/app-dir/next-after-app-invalid-usage/index.test.ts": { "passed": [ - "unstable_after() - invalid usages errors at compile time when used in a client module", - "unstable_after() - invalid usages errors at compile time with dynamic = \"error\"", - "unstable_after() - invalid usages errors at compile time with dynamic = \"force-static\"" + "unstable_after() - dynamic APIs awaited calls does not allow calling connection inside unstable_after", + "unstable_after() - dynamic APIs awaited calls does not allow calling cookies inside unstable_after", + "unstable_after() - dynamic APIs awaited calls does not allow calling draftMode inside unstable_after", + "unstable_after() - dynamic APIs awaited calls does not allow calling headers inside unstable_after", + "unstable_after() - invalid usages errors at compile time when used in a client module" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/development/app-dir/owner-stack-invalid-element-type/invalid-element-type.test.ts": { + "passed": [ + "app-dir - invalid-element-type should catch invalid element from a browser only component", + "app-dir - invalid-element-type should catch invalid element from a rsc component", + "app-dir - invalid-element-type should catch invalid element from on ssr client component" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/development/app-dir/owner-stack-invalid-element-type/owner-stack-invalid-element-type.test.ts": { + "passed": [ + "app-dir - owner-stack-invalid-element-type should catch invalid element from a browser only component", + "app-dir - owner-stack-invalid-element-type should catch invalid element from a rsc component", + "app-dir - owner-stack-invalid-element-type should catch invalid element from on ssr client component" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/development/app-dir/owner-stack-react-missing-key-prop/owner-stack-react-missing-key-prop.test.ts": { + "passed": [ + "app-dir - owner-stack-react-missing-key-prop should catch invalid element from on rsc component", + "app-dir - owner-stack-react-missing-key-prop should catch invalid element from on ssr client component" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/development/app-dir/owner-stack-react-missing-key-prop/react-missing-key-prop.test.ts": { + "passed": [], + "failed": [], + "pending": [ + "app-dir - react-missing-key-prop should catch invalid element from on rsc component", + "app-dir - react-missing-key-prop should catch invalid element from on ssr client component" + ], + "flakey": [], + "runtimeError": false + }, + "test/development/app-dir/owner-stack/owner-stack.test.ts": { + "passed": [ + "app-dir - owner-stack should capture unhandled promise rejections", + "app-dir - owner-stack should log stitched error for SSR errors", + "app-dir - owner-stack should log stitched error for browser caught errors", + "app-dir - owner-stack should log stitched error for browser uncaught errors" ], "failed": [], "pending": [], @@ -1961,6 +2411,7 @@ "passed": [ "prerender indicator should have prerender-indicator by default for static page", "prerender indicator should hide the indicator when changing to dynamic", + "prerender indicator should not have static indicator when using force-dynamic", "prerender indicator should not have the indicator on dynamic page on load", "prerender indicator should not show the indicator if disabled in next.config" ], @@ -1969,6 +2420,25 @@ "flakey": [], "runtimeError": false }, + "test/development/app-dir/serialize-circular-error/serialize-circular-error.test.ts": { + "passed": [ + "serialize-circular-error should serialize the object from client component in console correctly", + "serialize-circular-error should serialize the object from server component in console correctly" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/development/app-dir/server-component-next-dynamic-ssr-false/server-component-next-dynamic-ssr-false.test.ts": { + "passed": [ + "app-dir - server-component-next-dynamic-ssr-false should error when use dynamic ssr:false in server component" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts": { "passed": [ "server-components-hmr-cache edge runtime in after() should not use cached fetch calls for intentional refresh requests", @@ -1989,6 +2459,16 @@ "flakey": [], "runtimeError": false }, + "test/development/app-dir/source-mapping/source-mapping.test.ts": { + "passed": [ + "source-mapping should work with server actions imported from client components", + "source-mapping should work with server actions passed to client components" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/development/app-dir/ssr-in-rsc/ssr-in-rsc.test.ts": { "passed": [ "react-dom/server in React Server environment explicit react-dom/server.browser usage in app code", @@ -2041,16 +2521,6 @@ "flakey": [], "runtimeError": false }, - "test/development/app-render-error-log/app-render-error-log.test.ts": { - "passed": [ - "app-render-error-log should log the correct values on app-render error", - "app-render-error-log should log the correct values on app-render error with edge runtime" - ], - "failed": [], - "pending": [], - "flakey": [], - "runtimeError": false - }, "test/development/basic/asset-prefix/asset-prefix.test.ts": { "passed": [ "asset-prefix rewrites rewrites that do not start with assetPrefix should still work", @@ -2159,7 +2629,6 @@ "basic HMR, nextConfig: { basePath: '', assetPrefix: '' } should have correct router.isReady for auto-export page", "basic HMR, nextConfig: { basePath: '', assetPrefix: '' } should have correct router.isReady for getStaticProps page", "basic HMR, nextConfig: { basePath: '', assetPrefix: '' } should reload the page when the server restarts", - "basic HMR, nextConfig: { basePath: '', assetPrefix: '' } should show hydration error correctly", "basic HMR, nextConfig: { basePath: '', assetPrefix: '/asset-prefix' } Error Recovery should detect runtime errors on the module scope", "basic HMR, nextConfig: { basePath: '', assetPrefix: '/asset-prefix' } Error Recovery should detect syntax errors and recover", "basic HMR, nextConfig: { basePath: '', assetPrefix: '/asset-prefix' } Error Recovery should recover after a bad return from the render function", @@ -2185,7 +2654,6 @@ "basic HMR, nextConfig: { basePath: '', assetPrefix: '/asset-prefix' } should have correct router.isReady for auto-export page", "basic HMR, nextConfig: { basePath: '', assetPrefix: '/asset-prefix' } should have correct router.isReady for getStaticProps page", "basic HMR, nextConfig: { basePath: '', assetPrefix: '/asset-prefix' } should reload the page when the server restarts", - "basic HMR, nextConfig: { basePath: '', assetPrefix: '/asset-prefix' } should show hydration error correctly", "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '' } Error Recovery should detect runtime errors on the module scope", "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '' } Error Recovery should detect syntax errors and recover", "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '' } Error Recovery should recover after a bad return from the render function", @@ -2211,7 +2679,6 @@ "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '' } should have correct router.isReady for auto-export page", "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '' } should have correct router.isReady for getStaticProps page", "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '' } should reload the page when the server restarts", - "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '' } should show hydration error correctly", "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '/asset-prefix' } Error Recovery should detect runtime errors on the module scope", "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '/asset-prefix' } Error Recovery should detect syntax errors and recover", "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '/asset-prefix' } Error Recovery should recover after a bad return from the render function", @@ -2236,8 +2703,7 @@ "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '/asset-prefix' } should have correct compile timing after fixing error", "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '/asset-prefix' } should have correct router.isReady for auto-export page", "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '/asset-prefix' } should have correct router.isReady for getStaticProps page", - "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '/asset-prefix' } should reload the page when the server restarts", - "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '/asset-prefix' } should show hydration error correctly" + "basic HMR, nextConfig: { basePath: '/docs', assetPrefix: '/asset-prefix' } should reload the page when the server restarts" ], "failed": [], "pending": [ @@ -2668,6 +3134,16 @@ "flakey": [], "runtimeError": false }, + "test/development/next-lint-eslint-formatter-compact/index.test.ts": { + "passed": [ + "next-lint-eslint-formatter-compact should format flag \"compact\" creates a file respecting the chosen format", + "next-lint-eslint-formatter-compact should show error message when the file path is a directory" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/development/pages-dir/client-navigation/index.test.ts": { "passed": [ "Client Navigation foreign history manipulation should ignore foreign history state with missing properties", @@ -2871,6 +3347,16 @@ "flakey": [], "runtimeError": false }, + "test/development/replayed-internal-errors/index.test.ts": { + "passed": [ + "Replaying internal errors should not log the internal error thrown by notFound()", + "Replaying internal errors should not log the internal error thrown by redirect()" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/development/sass-error/index.test.ts": { "passed": [ "app dir - css sass support error handling should use original source points for sass errors" @@ -2949,20 +3435,20 @@ "flakey": [], "runtimeError": false }, - "test/e2e/app-dir-legacy-edge-runtime-config/index.test.ts": { + "test/e2e/app-dir/_allow-underscored-root-directory/_allow-underscored-root-directory.test.ts": { "passed": [ - "app-dir edge runtime config should warn the legacy object config export" + "_allow-underscored-root-directory should not serve app path with underscore", + "_allow-underscored-root-directory should pages path with a underscore at the root", + "_allow-underscored-root-directory should serve app path with %5F" ], "failed": [], "pending": [], "flakey": [], "runtimeError": false }, - "test/e2e/app-dir/_allow-underscored-root-directory/_allow-underscored-root-directory.test.ts": { + "test/e2e/app-dir/action-in-pages-router/action-in-pages-router.test.ts": { "passed": [ - "_allow-underscored-root-directory should not serve app path with underscore", - "_allow-underscored-root-directory should pages path with a underscore at the root", - "_allow-underscored-root-directory should serve app path with %5F" + "app-dir - action-in-pages-router should not error on fake server action in pages router" ], "failed": [], "pending": [], @@ -3015,6 +3501,125 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/actions/app-action-form-state.test.ts": { + "passed": [ + "app-dir action useActionState should send the action to the provided permalink with form state when JS disabled", + "app-dir action useActionState should support hydrating the app from progressively enhanced form request", + "app-dir action useActionState should support submitting form state with JS", + "app-dir action useActionState should support submitting form state without JS" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/actions/app-action-progressive-enhancement.test.ts": { + "passed": [ + "app-dir action progressive enhancement should support actions from client without JS", + "app-dir action progressive enhancement should support formData and redirect without JS" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/actions/app-action-size-limit-invalid.test.ts": { + "passed": [ + "app-dir action size limit invalid config skip test for development mode" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/actions/app-action.test.ts": { + "passed": [ + "app-dir action handling \"use server\" export values should error when exporting non async functions at build time", + "app-dir action handling Edge SSR should allow cookie and header async storages", + "app-dir action handling Edge SSR should handle basic actions correctly", + "app-dir action handling Edge SSR should handle calls to redirect() with a absolute URL in a single pass", + "app-dir action handling Edge SSR should handle calls to redirect() with a relative URL in a single pass", + "app-dir action handling Edge SSR should handle calls to redirect() with external URLs", + "app-dir action handling Edge SSR should handle unicode search params", + "app-dir action handling Edge SSR should return error response for hoc auth wrappers in edge runtime", + "app-dir action handling HMR should support updating the action", + "app-dir action handling caching disabled by default should not override force-cache in server action", + "app-dir action handling caching disabled by default should not override revalidate in server action", + "app-dir action handling caching disabled by default should use no-store as default for server action", + "app-dir action handling encryption should be able to resolve other server actions and client components", + "app-dir action handling encryption should send encrypted values from the closed over closure", + "app-dir action handling fetch actions should handle a fetch action initiated from a static page", + "app-dir action handling fetch actions should handle calls to redirect() with a absolute URL in a single pass", + "app-dir action handling fetch actions should handle calls to redirect() with a relative URL in a single pass", + "app-dir action handling fetch actions should handle calls to redirect() with external URLs", + "app-dir action handling fetch actions should handle expirePath", + "app-dir action handling fetch actions should handle expireTag", + "app-dir action handling fetch actions should handle redirects to routes that provide an invalid RSC response", + "app-dir action handling fetch actions should invalidate client cache on other routes when cookies.set is called", + "app-dir action handling fetch actions should invalidate client cache when path is revalidated", + "app-dir action handling fetch actions should invalidate client cache when tag is revalidated", + "app-dir action handling fetch actions should revalidate when cookies.set is called", + "app-dir action handling fetch actions should revalidate when cookies.set is called in a client action", + "app-dir action handling fetch actions should store revalidation data in the prefetch cache", + "app-dir action handling redirects displays searchParams correctly when redirecting with SearchParams", + "app-dir action handling redirects merges cookies correctly when redirecting", + "app-dir action handling redirects redirects properly when server action handler redirects with a 307 status code", + "app-dir action handling redirects redirects properly when server action handler redirects with a 308 status code", + "app-dir action handling redirects redirects properly when server action handler uses `permanentRedirect`", + "app-dir action handling redirects redirects properly when server action handler uses `redirect`", + "app-dir action handling redirects should not forward next-action header to a redirected RSC request", + "app-dir action handling server actions render client components server component imported action should support importing client components from actions", + "app-dir action handling should 404 when POSTing an invalid server action", + "app-dir action handling should be possible to catch network errors", + "app-dir action handling should be possible to catch regular errors", + "app-dir action handling should bundle external libraries if they are on the action layer", + "app-dir action handling should forward action request to a worker that contains the action handler (edge)", + "app-dir action handling should forward action request to a worker that contains the action handler (node)", + "app-dir action handling should handle action correctly with middleware rewrite", + "app-dir action handling should handle actions executed in quick succession", + "app-dir action handling should handle basic actions correctly", + "app-dir action handling should invalidate the client router cache if the redirect action triggers a revalidation", + "app-dir action handling should keep action instances identical", + "app-dir action handling should log a warning when a server action is not found but an id is provided", + "app-dir action handling should not block navigation events while a server action is in flight", + "app-dir action handling should not block router.back() while a server action is in flight", + "app-dir action handling should not error when a forwarded action triggers a redirect (edge)", + "app-dir action handling should not error when a forwarded action triggers a redirect (node)", + "app-dir action handling should not log errors for non-action form POSTs", + "app-dir action handling should only submit action once when resubmitting an action after navigation", + "app-dir action handling should propagate errors from a `text/plain` response to an error boundary", + "app-dir action handling should push new route when redirecting", + "app-dir action handling should replace current route when redirecting with type set to replace", + "app-dir action handling should report errors with bad inputs correctly", + "app-dir action handling should reset the form state when the action redirects to a page that contains the same form", + "app-dir action handling should reset the form state when the action redirects to itself", + "app-dir action handling should support .bind", + "app-dir action handling should support chained .bind", + "app-dir action handling should support formData and redirect", + "app-dir action handling should support headers and cookies", + "app-dir action handling should support headers in client imported actions", + "app-dir action handling should support hoc auth wrappers", + "app-dir action handling should support importing actions in client components", + "app-dir action handling should support importing the same action module instance in both server and action layers", + "app-dir action handling should support next/dynamic with ssr: false", + "app-dir action handling should support next/dynamic with ssr: false (edge)", + "app-dir action handling should support notFound", + "app-dir action handling should support notFound (javascript disabled)", + "app-dir action handling should support setting cookies in route handlers with the correct overrides", + "app-dir action handling should support uploading files", + "app-dir action handling should trigger a refresh for a server action that also dispatches a navigation event", + "app-dir action handling should trigger a refresh for a server action that gets discarded due to a navigation", + "app-dir action handling should trigger an error boundary for action responses with an invalid content-type", + "app-dir action handling should work with interception routes" + ], + "failed": [], + "pending": [ + "app-dir action handling fetch actions should handle expireTag + redirect", + "app-dir action handling server actions render client components client component imported action should support importing client components from actions" + ], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/app-a11y/index.test.ts": { "passed": [ "app a11y features route announcer should announce document.title changes", @@ -3254,6 +3859,7 @@ "app dir - external dependency should not apply swc optimizer transform for external packages in browser layer in web worker", "app dir - external dependency should resolve 3rd party package exports based on the react-server condition", "app dir - external dependency should resolve the subset react in server components based on the react-server condition", + "app dir - external dependency should support client module references with SSR-only ESM externals", "app dir - external dependency should support exporting multiple star re-exports", "app dir - external dependency should transpile specific external packages with the `transpilePackages` option", "app dir - external dependency should use the same async storages if imported directly", @@ -3288,7 +3894,7 @@ }, "test/e2e/app-dir/app-middleware/app-middleware.test.ts": { "passed": [ - "app dir - middleware with middleware in src dir works without crashing when using requestAsyncStorage", + "app dir - middleware with middleware in src dir works without crashing when using RequestStore", "app dir - middleware without pages dir Updates headers", "app-dir with middleware Mutate request headers for Edge Functions Adds new headers", "app-dir with middleware Mutate request headers for Edge Functions Deletes headers", @@ -3444,8 +4050,8 @@ "app-custom-routes error conditions responds with 405 (Method Not Allowed) when method is not implemented", "app-custom-routes error conditions responds with 500 (Internal Server Error) when the handler calls NextResponse.next()", "app-custom-routes error conditions responds with 500 (Internal Server Error) when the handler throws an error", + "app-custom-routes hooks (await cookies()).has() gets the correct values", "app-custom-routes hooks cookies gets the correct values", - "app-custom-routes hooks cookies().has() gets the correct values", "app-custom-routes hooks headers gets the correct values", "app-custom-routes hooks notFound can respond correctly in edge", "app-custom-routes hooks notFound can respond correctly in nodejs", @@ -3521,8 +4127,8 @@ "app-custom-routes error conditions responds with 405 (Method Not Allowed) when method is not implemented", "app-custom-routes error conditions responds with 500 (Internal Server Error) when the handler calls NextResponse.next()", "app-custom-routes error conditions responds with 500 (Internal Server Error) when the handler throws an error", + "app-custom-routes hooks (await cookies()).has() gets the correct values", "app-custom-routes hooks cookies gets the correct values", - "app-custom-routes hooks cookies().has() gets the correct values", "app-custom-routes hooks headers gets the correct values", "app-custom-routes hooks notFound can respond correctly in edge", "app-custom-routes hooks notFound can respond correctly in nodejs", @@ -3564,6 +4170,7 @@ "app-dir static/dynamic handling should allow dynamic routes to access cookies", "app-dir static/dynamic handling should build dynamic param with edge runtime correctly", "app-dir static/dynamic handling should bypass fetch cache with cache-control: no-cache", + "app-dir static/dynamic handling should cache correctly for cache: \"force-cache\" and \"revalidate\"", "app-dir static/dynamic handling should cache correctly for cache: no-store", "app-dir static/dynamic handling should cache correctly for fetchCache = default-cache", "app-dir static/dynamic handling should cache correctly for fetchCache = force-cache", @@ -3576,6 +4183,7 @@ "app-dir static/dynamic handling should cache correctly with post method and revalidate edge", "app-dir static/dynamic handling should cache correctly with utf8 encoding", "app-dir static/dynamic handling should cache correctly with utf8 encoding edge", + "app-dir static/dynamic handling should correctly handle \"default\" cache statuses", "app-dir static/dynamic handling should correctly handle fetchCache = \"force-no-store\"", "app-dir static/dynamic handling should correctly handle multi-level generateStaticParams when some levels are missing", "app-dir static/dynamic handling should correctly handle statusCode with notFound + ISR", @@ -3650,6 +4258,7 @@ "app-dir static/dynamic handling should allow dynamic routes to access cookies", "app-dir static/dynamic handling should build dynamic param with edge runtime correctly", "app-dir static/dynamic handling should bypass fetch cache with cache-control: no-cache", + "app-dir static/dynamic handling should cache correctly for cache: \"force-cache\" and \"revalidate\"", "app-dir static/dynamic handling should cache correctly for cache: no-store", "app-dir static/dynamic handling should cache correctly for fetchCache = default-cache", "app-dir static/dynamic handling should cache correctly for fetchCache = force-cache", @@ -3662,6 +4271,7 @@ "app-dir static/dynamic handling should cache correctly with post method and revalidate edge", "app-dir static/dynamic handling should cache correctly with utf8 encoding", "app-dir static/dynamic handling should cache correctly with utf8 encoding edge", + "app-dir static/dynamic handling should correctly handle \"default\" cache statuses", "app-dir static/dynamic handling should correctly handle fetchCache = \"force-no-store\"", "app-dir static/dynamic handling should correctly handle multi-level generateStaticParams when some levels are missing", "app-dir static/dynamic handling should correctly handle statusCode with notFound + ISR", @@ -4260,6 +4870,15 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/dynamic-import/dynamic-import.test.ts": { + "passed": [ + "dynamic-import should render the dynamically imported component" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/dynamic-in-generate-params/index.test.ts": { "passed": [ "app-dir - dynamic in generate params should be able to call fetch while generating multiple dynamic pages", @@ -4280,6 +4899,231 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.module-scope.test.ts": { + "passed": ["Lazy Module Init does not run in dev"], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.platform-dynamic.test.ts": { + "passed": [ + "Dynamic IO Errors - With Minification Sync Dynamic - With Fallback - Math.random() does not run in dev", + "Dynamic IO Errors - With Minification Sync Dynamic - Without Fallback - Math.random() does not run in dev", + "Dynamic IO Errors - Without Minification Sync Dynamic - With Fallback - Math.random() does not run in dev", + "Dynamic IO Errors - Without Minification Sync Dynamic - Without Fallback - Math.random() does not run in dev" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.prospective-errors.test.ts": { + "passed": [ + "Dynamic IO Prospective Render Errors - Debug Build should error on the first visit to each page", + "Dynamic IO Prospective Render Errors - Standard Build should error on the first visit to each page" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.prospective-fallback.test.ts": { + "passed": [ + "Dynamic IO Prospective Fallback should not error when visiting the page" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.sync-dynamic.test.ts": { + "passed": [ + "Dynamic IO Errors - With Minification Sync Dynamic - With Fallback - client searchParams does not run in dev", + "Dynamic IO Errors - With Minification Sync Dynamic - With Fallback - cookies does not run in dev", + "Dynamic IO Errors - With Minification Sync Dynamic - With Fallback - server searchParams does not run in dev", + "Dynamic IO Errors - With Minification Sync Dynamic - Without Fallback - client searchParams does not run in dev", + "Dynamic IO Errors - With Minification Sync Dynamic - Without Fallback - cookies does not run in dev", + "Dynamic IO Errors - With Minification Sync Dynamic - Without Fallback - server searchParams does not run in dev", + "Dynamic IO Errors - Without Minification Sync Dynamic - With Fallback - client searchParams does not run in dev", + "Dynamic IO Errors - Without Minification Sync Dynamic - With Fallback - cookies does not run in dev", + "Dynamic IO Errors - Without Minification Sync Dynamic - With Fallback - server searchParams does not run in dev", + "Dynamic IO Errors - Without Minification Sync Dynamic - Without Fallback - client searchParams does not run in dev", + "Dynamic IO Errors - Without Minification Sync Dynamic - Without Fallback - cookies does not run in dev", + "Dynamic IO Errors - Without Minification Sync Dynamic - Without Fallback - server searchParams does not run in dev" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.test.ts": { + "passed": [ + "Dynamic IO Errors - With Minification Dynamic Boundary does not run in dev", + "Dynamic IO Errors - With Minification Dynamic Metadata - Dynamic Route does not run in dev", + "Dynamic IO Errors - With Minification Dynamic Metadata - Static Route With Suspense does not run in dev", + "Dynamic IO Errors - With Minification Dynamic Metadata - Static Route does not run in dev", + "Dynamic IO Errors - With Minification Dynamic Root does not run in dev", + "Dynamic IO Errors - With Minification Dynamic Viewport - Dynamic Route does not run in dev", + "Dynamic IO Errors - With Minification Dynamic Viewport - Static Route does not run in dev", + "Dynamic IO Errors - With Minification Static Route does not run in dev", + "Dynamic IO Errors - Without Minification Dynamic Boundary does not run in dev", + "Dynamic IO Errors - Without Minification Dynamic Metadata - Dynamic Route does not run in dev", + "Dynamic IO Errors - Without Minification Dynamic Metadata - Static Route With Suspense does not run in dev", + "Dynamic IO Errors - Without Minification Dynamic Metadata - Static Route does not run in dev", + "Dynamic IO Errors - Without Minification Dynamic Root does not run in dev", + "Dynamic IO Errors - Without Minification Dynamic Viewport - Dynamic Route does not run in dev", + "Dynamic IO Errors - Without Minification Dynamic Viewport - Static Route does not run in dev", + "Dynamic IO Errors - Without Minification Static Route does not run in dev" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io-request-apis/dynamic-io-request-apis.test.ts": { + "passed": [ + "Request Promises On Prerender Completion does not run in dev", + "Request Promises On Prerender Interruption does not run in dev" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io-segment-configs/dynamic-io-segment-configs.test.ts": { + "passed": [ + "dynamic-io-segment-configs it should error when using segment configs that aren't supported by dynamicIO", + "dynamic-io-segment-configs should propagate configurations from layouts to pages" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io/dynamic-io.connection.test.ts": { + "passed": ["dynamic-io should produce dynamic pages when using connection"], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io/dynamic-io.cookies.test.ts": { + "passed": [ + "dynamic-io should be able to access cookie properties asynchronously", + "dynamic-io should be able to access cookie properties synchronously", + "dynamic-io should produce dynamic pages when using async or sync cookies" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io/dynamic-io.date.test.ts": { + "passed": [ + "dynamic-io should not have route specific errors", + "dynamic-io should not prerender pages with uncached `Date()` calls", + "dynamic-io should not prerender pages with uncached `Date.now()` calls", + "dynamic-io should not prerender pages with uncached `new Date()` calls", + "dynamic-io should not prerender pages with uncached static Date instances like `new Date(0)`", + "dynamic-io should prerender pages with cached `Date()` calls", + "dynamic-io should prerender pages with cached `Date.now()` calls", + "dynamic-io should prerender pages with cached `new Date()` calls", + "dynamic-io should prerender pages with cached static Date instances like `new Date(0)`" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io/dynamic-io.draft-mode.test.ts": { + "passed": ["dynamic-io should fully prerender pages that use draftMode"], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io/dynamic-io.headers.test.ts": { + "passed": [ + "dynamic-io should be able to access headers properties asynchronously", + "dynamic-io should be able to access headers properties synchronously", + "dynamic-io should produce dynamic pages when using async or sync headers" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io/dynamic-io.node-crypto.test.ts": { + "passed": [ + "dynamic-io should not have route specific errors", + "dynamic-io should not prerender pages with uncached `require('node:crypto').generateKeyPairSync(type, options)` calls", + "dynamic-io should not prerender pages with uncached `require('node:crypto').generateKeySync(type, options)` calls", + "dynamic-io should not prerender pages with uncached `require('node:crypto').generatePrimeSync(size, options)` calls", + "dynamic-io should not prerender pages with uncached `require('node:crypto').getRandomValues(...)` calls", + "dynamic-io should not prerender pages with uncached `require('node:crypto').randomBytes(size)` calls", + "dynamic-io should not prerender pages with uncached `require('node:crypto').randomFillSync(buffer)` calls", + "dynamic-io should not prerender pages with uncached `require('node:crypto').randomInt(max)` calls", + "dynamic-io should not prerender pages with uncached `require('node:crypto').randomInt(min, max)` calls", + "dynamic-io should not prerender pages with uncached `require('node:crypto').randomUUID()` calls", + "dynamic-io should prerender pages with cached `require('node:crypto').generateKeyPairSync(type, options)` calls", + "dynamic-io should prerender pages with cached `require('node:crypto').generateKeySync(type, options)` calls", + "dynamic-io should prerender pages with cached `require('node:crypto').generatePrimeSync(size, options)` calls", + "dynamic-io should prerender pages with cached `require('node:crypto').getRandomValues(...)` calls", + "dynamic-io should prerender pages with cached `require('node:crypto').randomBytes(size)` calls", + "dynamic-io should prerender pages with cached `require('node:crypto').randomFillSync(buffer)` calls", + "dynamic-io should prerender pages with cached `require('node:crypto').randomInt(max)` calls", + "dynamic-io should prerender pages with cached `require('node:crypto').randomInt(min, max)` calls", + "dynamic-io should prerender pages with cached `require('node:crypto').randomUUID()` calls" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io/dynamic-io.params.test.ts": { + "passed": [ + "dynamic-io Async Params should fully prerender pages that check individual param keys after `use`ing params in a client component", + "dynamic-io Async Params should fully prerender pages that check individual param keys after awaiting params in a server component", + "dynamic-io Async Params should prerender pages that `use` params in a client component when prebuilt", + "dynamic-io Async Params should prerender pages that await params in a server component when prebuilt", + "dynamic-io Async Params should prerender pages that spread `use`ed params in a client component when prebuilt", + "dynamic-io Async Params should prerender pages that spread awaited params in a server component when prebuilt", + "dynamic-io Async Params should render pages that `use` params in a client component when not prebuilt", + "dynamic-io Async Params should render pages that await params in a server component when not prebuilt", + "dynamic-io Async Params should render pages that spread `use`ed params in a client component when not prebuilt", + "dynamic-io Async Params should render pages that spread awaited params in a server component when not prebuilt", + "dynamic-io Param Shadowing should correctly allow param names like then, value, and status when `use`ing params in a client component", + "dynamic-io Param Shadowing should correctly allow param names like then, value, and status when awaiting params in a server component", + "dynamic-io Param Shadowing should not allow param names like then and status when accessing params directly in a client component", + "dynamic-io Param Shadowing should not allow param names like then and status when accessing params directly in a server component", + "dynamic-io Synchronous Params access should fully prerender pages that check individual param keys directly on the params prop in a client component", + "dynamic-io Synchronous Params access should fully prerender pages that check individual param keys directly on the params prop in a server component", + "dynamic-io Synchronous Params access should prerender pages that access params synchronously in a client component when prebuilt", + "dynamic-io Synchronous Params access should prerender pages that access params synchronously in a server component when prebuilt", + "dynamic-io Synchronous Params access should prerender pages that spread params without `use`ing first in a client component when not prebuilt", + "dynamic-io Synchronous Params access should prerender pages that spread params without `use`ing first in a client component when prebuilt", + "dynamic-io Synchronous Params access should prerender pages that spread params without awaiting first in a server component when not prebuilt", + "dynamic-io Synchronous Params access should prerender pages that spread params without awaiting first in a server component when prebuilt", + "dynamic-io Synchronous Params access should render pages that access params synchronously in a client component when not prebuilt", + "dynamic-io Synchronous Params access should render pages that access params synchronously in a server component when not prebuilt" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io/dynamic-io.random.test.ts": { + "passed": [ + "dynamic-io should not have route specific errors", + "dynamic-io should not prerender pages with uncached Math.random() calls", + "dynamic-io should prerender pages with cached Math.random() calls" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/dynamic-io/dynamic-io.routes.test.ts": { "passed": [ "dynamic-io should not prerender GET route handlers that complete in a new Task", @@ -4287,30 +5131,80 @@ "dynamic-io should not prerender GET route handlers that have some uncached io (unstable_cache)", "dynamic-io should not prerender GET route handlers that use dynamic APIs", "dynamic-io should prerender GET route handlers that complete synchronously or in a microtask", + "dynamic-io should prerender GET route handlers that have entirely cached io (\"use cache\")", "dynamic-io should prerender GET route handlers that have entirely cached io (fetches)", - "dynamic-io should prerender GET route handlers that have entirely cached io (unstable_cache)" + "dynamic-io should prerender GET route handlers that have entirely cached io (unstable_cache)", + "dynamic-io should prerender GET route handlers when accessing awaited params", + "dynamic-io should prerender GET route handlers when accessing params without awaiting first" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io/dynamic-io.search.test.ts": { + "passed": [ + "dynamic-io should not prerender a page that accesses a searchParam property synchronously in a client component", + "dynamic-io should not prerender a page that accesses a searchParam property synchronously in a server component", + "dynamic-io should not prerender a page that checks for the existence of a searchParam property synchronously in a client component", + "dynamic-io should not prerender a page that checks for the existence of a searchParam property synchronously in a server component", + "dynamic-io should not prerender a page that spreads ...searchParam synchronously in a client component", + "dynamic-io should not prerender a page that spreads ...searchParam synchronously in a server component", + "dynamic-io should not prerender pages that `use` searchParams in a client component", + "dynamic-io should not prerender pages that `use` searchParams in a server component", + "dynamic-io should not prerender pages that await searchParams in a server component" ], "failed": [], "pending": [], "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/dynamic-io/dynamic-io.server-action.test.ts": { + "passed": ["dynamic-io should not fail decoding server action arguments"], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/dynamic-io/dynamic-io.test.ts": { "passed": [ + "dynamic-io can prerender pages with parallel routes that are static", + "dynamic-io can prerender pages with parallel routes that resolve in a microtask", + "dynamic-io does not prerender pages with parallel routes that resolve in a task", + "dynamic-io does not prerender pages with parallel routes that uses a dynamic API", + "dynamic-io should fully prerender pages that use `unstable_noStore()`", + "dynamic-io should have static indicator on static route", + "dynamic-io should not have route specific errors", + "dynamic-io should not have static indicator on dynamic IO route", + "dynamic-io should not have static indicator on dynamic method route", "dynamic-io should not prerender pages that do any uncached IO", + "dynamic-io should not prerender pages that do any uncached IO (use cache)", "dynamic-io should not prerender pages that take longer than a single task to render", "dynamic-io should not prerender pages that use `cookies()`", "dynamic-io should not prerender pages that use `headers()`", "dynamic-io should not prerender pages that use `searchParams` in Client Components", "dynamic-io should not prerender pages that use `searchParams` in Server Components", - "dynamic-io should not prerender pages that use `unstable_noStore()`", "dynamic-io should not prerender pages that use at least one fetch without cache", "dynamic-io should prerender fully static pages", + "dynamic-io should prerender pages that only use cached (\"use cache\") IO", "dynamic-io should prerender pages that only use cached (unstable_cache) IO", "dynamic-io should prerender pages that only use cached fetches", "dynamic-io should prerender pages that render in a microtask" ], "failed": [], + "pending": ["dynamic-io should prerender pages that cached the whole page"], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/dynamic-io/dynamic-io.web-crypto.test.ts": { + "passed": [ + "dynamic-io should not have route specific errors", + "dynamic-io should not prerender pages with uncached `crypto.getRandomValues(...)` calls", + "dynamic-io should not prerender pages with uncached `crypto.randomUUID()` calls", + "dynamic-io should prerender pages with cached `crypto.getRandomValues(...)` calls", + "dynamic-io should prerender pages with cached `crypto.randomUUID()` calls" + ], + "failed": [], "pending": [], "flakey": [], "runtimeError": false @@ -4329,6 +5223,7 @@ "passed": [ "app dir - next/dynamic no SSR should not render client component imported through ssr: false in client components", "app dir - next/dynamic no SSR should not render client component imported through ssr: false in client components in edge runtime", + "app dir - next/dynamic no SSR should support dynamic import with TLA in client components", "app dir - next/dynamic no SSR should support dynamic import with accessing named exports from client component", "app dir - next/dynamic should directly raise error when dynamic component error on server", "app dir - next/dynamic should generate correct client manifest for dynamic chunks", @@ -4439,11 +5334,27 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/error-on-next-codemod-comment/error-on-next-codemod-comment.test.ts": { + "passed": [ + "app-dir - error-on-next-codemod-comment should disappear the error when you replace with bypass comment", + "app-dir - error-on-next-codemod-comment should disappear the error when you rre the codemod comment", + "app-dir - error-on-next-codemod-comment should error with inline comment as well", + "app-dir - error-on-next-codemod-comment should error with swc if you have codemod comments left" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/errors/index.test.ts": { "passed": [ "app-dir - errors error component should display error digest for error in server component with default error boundary", + "app-dir - errors error component should preserve custom digests", + "app-dir - errors error component should trigger error component when a string is thrown during server components rendering", "app-dir - errors error component should trigger error component when an error happens during rendering", "app-dir - errors error component should trigger error component when an error happens during server components rendering", + "app-dir - errors error component should trigger error component when null is thrown during server components rendering", + "app-dir - errors error component should trigger error component when undefined is thrown during server components rendering", "app-dir - errors error component should use default error boundary for prod and overlay for dev when no error component specified" ], "failed": [], @@ -4451,6 +5362,24 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/esm-client-module-without-exports/esm-client-module-without-exports.test.ts": { + "passed": [ + "esm-client-module-without-exports should render without errors" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/externalize-node-binary/externalize-node-binary.test.ts": { + "passed": [], + "failed": [], + "pending": [ + "externalize-node-binary should render correctly when node_modules require node binary module" + ], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/fallback-prefetch/fallback-prefetch.test.ts": { "passed": ["fallback-prefetch should prefetch the page without errors"], "failed": [], @@ -4498,6 +5427,15 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/global-error/with-style-import/index.test.ts": { + "passed": [ + "app dir - global error - with style import should render global error with correct styles" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/headers-static-bailout/headers-static-bailout.test.ts": { "passed": ["headers-static-bailout should skip"], "failed": [], @@ -4675,6 +5613,11 @@ }, "test/e2e/app-dir/logging/fetch-logging.test.ts": { "passed": [ + "app-dir - fetch logging placeholder to satisfy at least one test when isNextDev is false", + "app-dir - fetch logging should not log requests for HMR refreshes" + ], + "failed": [], + "pending": [ "app-dir - logging with default logging should not contain metadata internal segments for dynamic metadata routes", "app-dir - logging with default logging should not contain trailing word page for app router routes", "app-dir - logging with default logging should not log fetch requests at all", @@ -4689,7 +5632,6 @@ "app-dir - logging with fetches default logging should not contain trailing word page for app router routes", "app-dir - logging with fetches default logging should not limit the number of requests that are logged", "app-dir - logging with fetches default logging should not log _rsc query for client navigation RSC request", - "app-dir - logging with fetches default logging should not log requests for HMR refreshes", "app-dir - logging with fetches default logging should only log requests in development mode", "app-dir - logging with fetches default logging should respect request.init.cache when use with fetch input is instance", "app-dir - logging with fetches default logging should show cache reason of noStore when use with fetch", @@ -4705,7 +5647,6 @@ "app-dir - logging with fetches verbose logging should not contain trailing word page for app router routes", "app-dir - logging with fetches verbose logging should not limit the number of requests that are logged", "app-dir - logging with fetches verbose logging should not log _rsc query for client navigation RSC request", - "app-dir - logging with fetches verbose logging should not log requests for HMR refreshes", "app-dir - logging with fetches verbose logging should only log requests in development mode", "app-dir - logging with fetches verbose logging should respect request.init.cache when use with fetch input is instance", "app-dir - logging with fetches verbose logging should show cache reason of noStore when use with fetch", @@ -4721,22 +5662,21 @@ "app-dir - logging with verbose logging for edge runtime should not contain trailing word page for app router routes", "app-dir - logging with verbose logging for edge runtime should not limit the number of requests that are logged", "app-dir - logging with verbose logging for edge runtime should not log _rsc query for client navigation RSC request", - "app-dir - logging with verbose logging for edge runtime should not log requests for HMR refreshes", "app-dir - logging with verbose logging for edge runtime should only log requests in development mode", "app-dir - logging with verbose logging for edge runtime should respect request.init.cache when use with fetch input is instance", "app-dir - logging with verbose logging for edge runtime should show cache reason of noStore when use with fetch", "app-dir - logging with verbose logging for edge runtime when logging.fetches.hmrRefreshes is true should log requests for HMR refreshes" ], - "failed": [], - "pending": [], "flakey": [], "runtimeError": false }, "test/e2e/app-dir/logging/fetch-warning.test.ts": { "passed": [ - "app-dir - fetch warnings should log when request input is a Request instance", - "app-dir - fetch warnings should log when request input is a string", - "app-dir - fetch warnings should not log when overriding cache within the Request object" + "app-dir - fetch warnings force-cache and revalidate: 0 should log when request input is a Request instance", + "app-dir - fetch warnings force-cache and revalidate: 0 should log when request input is a string", + "app-dir - fetch warnings force-cache and revalidate: 0 should not log when not overriding cache within the Request object", + "app-dir - fetch warnings no-store and revalidate > 0 should log when request input is a Request instance", + "app-dir - fetch warnings no-store and revalidate > 0 should log when request input is a string" ], "failed": [], "pending": [], @@ -4789,6 +5729,7 @@ "app dir - metadata dynamic routes sitemap should support alternate.languages in sitemap", "app dir - metadata dynamic routes sitemap should support generate multi sitemaps with generateSitemaps", "app dir - metadata dynamic routes sitemap should support images in sitemap", + "app dir - metadata dynamic routes sitemap should support videos in sitemap", "app dir - metadata dynamic routes social image routes should fill params into dynamic routes url of metadata images", "app dir - metadata dynamic routes social image routes should fill params into routes groups url of static images", "app dir - metadata dynamic routes social image routes should handle custom fonts in both edge and nodejs runtime", @@ -4858,6 +5799,15 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/metadata-non-standard-custom-routes/metadata-non-standard-custom-routes.test.ts": { + "passed": [ + "app-dir - metadata-non-standard-custom-routes should work with custom sitemap route" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/metadata-suspense/index.test.ts": { "passed": [ "app dir - metadata dynamic routes suspense should render metadata in head even root layout is wrapped with Suspense" @@ -4953,6 +5903,15 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/middleware-matching/index.test.ts": { + "passed": [ + "app dir - middleware with custom matcher should match /:id (without asterisk)" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/middleware-sitemap/matcher-exclude-sitemap/index.test.ts": { "passed": [ "middleware-sitemap should not be affected by middleware if sitemap.xml is excluded from the matcher" @@ -5062,6 +6021,40 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/next-after-app-deploy/index.test.ts": { + "passed": [], + "failed": [], + "pending": [ + "unstable_after() in edge runtime triggers revalidate from a page", + "unstable_after() in edge runtime triggers revalidate from a route handler", + "unstable_after() in edge runtime triggers revalidate from a server action", + "unstable_after() in edge runtime triggers revalidate from middleware", + "unstable_after() in nodejs runtime triggers revalidate from a page", + "unstable_after() in nodejs runtime triggers revalidate from a route handler", + "unstable_after() in nodejs runtime triggers revalidate from a server action", + "unstable_after() in nodejs runtime triggers revalidate from middleware" + ], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/next-after-app-static/build-time-error/build-time-error.test.ts": { + "passed": [], + "failed": [], + "pending": [ + "unstable_after() in static pages - thrown errors fails the build if an error is thrown inside unstable_after" + ], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/next-after-app-static/build-time/build-time.test.ts": { + "passed": [], + "failed": [], + "pending": [ + "unstable_after() in static pages runs unstable_after during build" + ], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/next-after-app/index.test.ts": { "passed": [ "unstable_after() in edge runtime does not allow modifying cookies in a callback", @@ -5075,7 +6068,9 @@ "unstable_after() in edge runtime runs in generateMetadata()", "unstable_after() in edge runtime runs in middleware", "unstable_after() in edge runtime runs in server actions", - "unstable_after() in edge runtime uses waitUntil from request context if available", + "unstable_after() in edge runtime uses waitUntil from request context if available in a page", + "unstable_after() in edge runtime uses waitUntil from request context if available in a route handler", + "unstable_after() in edge runtime uses waitUntil from request context if available in middleware", "unstable_after() in nodejs runtime does not allow modifying cookies in a callback", "unstable_after() in nodejs runtime interrupted RSC renders runs callbacks if a user error was thrown in the RSC render", "unstable_after() in nodejs runtime interrupted RSC renders runs callbacks if notFound() was called", @@ -5087,7 +6082,9 @@ "unstable_after() in nodejs runtime runs in generateMetadata()", "unstable_after() in nodejs runtime runs in middleware", "unstable_after() in nodejs runtime runs in server actions", - "unstable_after() in nodejs runtime uses waitUntil from request context if available" + "unstable_after() in nodejs runtime uses waitUntil from request context if available in a page", + "unstable_after() in nodejs runtime uses waitUntil from request context if available in a route handler", + "unstable_after() in nodejs runtime uses waitUntil from request context if available in middleware" ], "failed": [], "pending": [], @@ -5244,6 +6241,16 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/next-form/default/next-form-prefetch.test.ts": { + "passed": [], + "failed": [], + "pending": [ + "app dir - form prefetching should not prefetch when prefetch is set to false`", + "app dir - form prefetching should prefetch a loading state for the form's target" + ], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/next-form/default/next-form.test.ts": { "passed": [ "app dir - form does not navigate if preventDefault is called in onSubmit", @@ -5259,7 +6266,17 @@ "app dir - form unsupported attributes on submitter should warn if submitter sets \"formEncType\" to an unsupported value and fall back to default submit behavior", "app dir - form unsupported attributes on submitter should warn if submitter sets \"formMethod\" to an unsupported value and fall back to default submit behavior", "app dir - form unsupported attributes on submitter should warn if submitter sets \"formTarget\" to an unsupported value and fall back to default submit behavior", - "app dir - form url-encodes file inputs, but warns about them" + "app dir - form url-encodes file inputs, but warns about them", + "pages dir - form does not navigate if preventDefault is called in onSubmit", + "pages dir - form does not push a new history entry if `replace` is passed", + "pages dir - form functions passed to action runs client action", + "pages dir - form functions passed to formAction runs client action from submitter and doesn't warn about unsupported attributes", + "pages dir - form should soft-navigate on submit", + "pages dir - form should soft-navigate to the formAction url of the submitter", + "pages dir - form unsupported attributes on submitter should warn if submitter sets \"formEncType\" to an unsupported value and fall back to default submit behavior", + "pages dir - form unsupported attributes on submitter should warn if submitter sets \"formMethod\" to an unsupported value and fall back to default submit behavior", + "pages dir - form unsupported attributes on submitter should warn if submitter sets \"formTarget\" to an unsupported value and fall back to default submit behavior", + "pages dir - form url-encodes file inputs, but warns about them" ], "failed": [], "pending": [], @@ -5312,6 +6329,42 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/no-duplicate-headers-middleware/no-duplicate-headers-middleware.test.ts": { + "passed": [ + "no-duplicate-headers-next-config should prioritise headers in middleware for static assets" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/no-duplicate-headers-next-config/no-duplicate-headers-next-config.test.ts": { + "passed": [ + "no-duplicate-headers-next-config should prioritise headers in next config for static assets" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/node-extensions/node-extensions.random.test.ts": { + "passed": [ + "Node Extensions Random Dynamic IO should not error when accessing middlware that use Math.random()", + "Node Extensions Random Dynamic IO should not error when accessing pages that use Math.random() in App Router", + "Node Extensions Random Dynamic IO should not error when accessing pages that use Math.random() in Pages Router", + "Node Extensions Random Dynamic IO should not error when accessing routes that use Math.random() in App Router", + "Node Extensions Random Dynamic IO should not error when accessing routes that use Math.random() in Pages Router", + "Node Extensions Random Legacy should not error when accessing middlware that use Math.random()", + "Node Extensions Random Legacy should not error when accessing pages that use Math.random() in App Router", + "Node Extensions Random Legacy should not error when accessing pages that use Math.random() in Pages Router", + "Node Extensions Random Legacy should not error when accessing routes that use Math.random() in App Router", + "Node Extensions Random Legacy should not error when accessing routes that use Math.random() in Pages Router" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/not-found-default/index.test.ts": { "passed": [ "app dir - not found with default 404 page should be able to navigate to page calling not-found", @@ -5461,6 +6514,15 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/parallel-routes-and-interception-from-root/parallel-routes-and-interception-from-root.test.ts": { + "passed": [ + "parallel-routes-and-interception-from-root should interpolate [locale] in \"/[locale]/example/(...)[locale]/intercepted\"" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/parallel-routes-and-interception/parallel-routes-and-interception.test.ts": { "passed": [ "parallel-routes-and-interception parallel routes should apply the catch-all route to the parallel route if no matching route is found", @@ -5669,6 +6731,18 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/phase-changes/cookies.test.ts": { + "passed": [ + "setting cookies stops cookie mutations when changing phases from a route handler to unstable_after via closure", + "setting cookies stops cookie mutations when changing phases from an action to a page render", + "setting cookies stops cookie mutations when changing phases from an action to unstable_after via closure", + "setting cookies stops cookie mutations when changing phases from middleware to unstable_after via closure" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/ppr-errors/ppr-errors.test.ts": { "passed": [], "failed": [], @@ -5812,6 +6886,13 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/ppr-navigations/simple/per-segment-prefetching.test.ts": { + "passed": ["per segment prefetching ppr is disabled"], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/ppr-navigations/simple/simple.test.ts": { "passed": [ "ppr-navigations simple can navigate between all the links and back" @@ -5883,6 +6964,15 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/prerender-encoding/prerender-encoding.test.ts": { + "passed": [ + "prerender-encoding should respond with the prerendered page correctly" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/random-in-sass/random-in-sass.test.ts": { "passed": ["random-in-sass should work using browser"], "failed": [], @@ -5911,6 +7001,16 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/reexport-client-component-metadata/reexport-client-component-metadata.test.ts": { + "passed": [ + "app-dir - reexport-client-component-metadata should render the layout metadata if not override", + "app-dir - reexport-client-component-metadata should render the page metadata if override" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/remove-console/remove-console.test.ts": { "passed": ["remove-console should remove console.log"], "failed": [], @@ -5950,6 +7050,16 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/revalidatetag-rsc/revalidatetag-rsc.test.ts": { + "passed": [ + "expireTag-rsc should error if expireTag is called during render", + "expireTag-rsc should revalidate fetch cache if expireTag invoked via server action" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/rewrites-redirects/rewrites-redirects.test.ts": { "passed": [ "redirects and rewrites navigation using button should redirect from middleware correctly", @@ -6047,6 +7157,10 @@ }, "test/e2e/app-dir/rsc-basic/rsc-basic.test.ts": { "passed": [ + "app dir - rsc basics client references with TLA (edge) should support TLA in lazy client reference", + "app dir - rsc basics client references with TLA (edge) should support TLA in sync client reference imports", + "app dir - rsc basics client references with TLA (node) should support TLA in lazy client reference", + "app dir - rsc basics client references with TLA (node) should support TLA in sync client reference imports", "app dir - rsc basics next internal shared context should not error if just load next/navigation module in pages/api", "app dir - rsc basics next internal shared context should not error if just load next/router module in app page", "app dir - rsc basics react@experimental should opt into the react@experimental when enabling ppr", @@ -6067,6 +7181,7 @@ "app dir - rsc basics should handle various kinds of exports correctly", "app dir - rsc basics should link correctly with next/link without mpa navigation to the page", "app dir - rsc basics should not apply rsc syntax checks in pages/api", + "app dir - rsc basics should not use bundled react for pages with app", "app dir - rsc basics should render built-in 404 page for missing route if pagesDir is not presented", "app dir - rsc basics should render css-in-js suspense boundary correctly", "app dir - rsc basics should render initial styles of css-in-js in edge SSR correctly", @@ -6087,7 +7202,6 @@ ], "failed": [], "pending": [ - "app dir - rsc basics should not use bundled react for pages with app", "app dir - rsc basics should support partial hydration with inlined server data in browser" ], "flakey": [], @@ -6112,6 +7226,56 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/scss/basic-module-additional-data/basic-module-additional-data.test.ts": { + "passed": [ + "Basic Module Additional Data Support ({\"sass\": \"1.54.0\"}) should render the module", + "Basic Module Additional Data Support ({\"sass-embedded\": \"1.75.0\"}) should render the module" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/scss/basic-module-include-paths/basic-module-include-paths.test.ts": { + "passed": [ + "Basic Module Include Paths Support ({\"sass\": \"1.54.0\"}) should render the module", + "Basic Module Include Paths Support ({\"sass-embedded\": \"1.75.0\"}) should render the module" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/scss/basic-module-prepend-data/basic-module-prepend-data.test.ts": { + "passed": [ + "Basic Module Prepend Data Support ({\"sass\": \"1.54.0\"}) should render the module", + "Basic Module Prepend Data Support ({\"sass-embedded\": \"1.75.0\"}) should render the module" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/scss/basic-module/basic-module.test.ts": { + "passed": [ + "Basic SCSS Module Support ({\"sass\": \"1.54.0\"}) should render the module", + "Basic SCSS Module Support ({\"sass-embedded\": \"1.75.0\"}) should render the module" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/scss/catch-all-module/catch-all-module.test.ts": { + "passed": [ + "Catch-all Route CSS Module Usage ({\"sass\": \"1.54.0\"}) should render the module", + "Catch-all Route CSS Module Usage ({\"sass-embedded\": \"1.75.0\"}) should render the module" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/scss/compilation-and-prefixing/compilation-and-prefixing.test.ts": { "passed": [], "failed": [], @@ -6497,6 +7661,13 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/segment-cache/basic/segment-cache-basic.test.ts": { + "passed": ["segment cache (basic tests) ppr is disabled"], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/self-importing-package-monorepo/self-importing-package-monorepo.test.ts": { "passed": [ "self-importing-package-monorepo should resolve self-imports inside a monorepo" @@ -6528,7 +7699,10 @@ "test/e2e/app-dir/server-actions-relative-redirect/server-actions-relative-redirect.test.ts": { "passed": [ "server-actions-relative-redirect should work with absolute redirect", - "server-actions-relative-redirect should work with relative redirect" + "server-actions-relative-redirect should work with absolute redirect from subdir", + "server-actions-relative-redirect should work with multi-level relative redirect from subdir", + "server-actions-relative-redirect should work with relative redirect", + "server-actions-relative-redirect should work with relative redirect from subdir" ], "failed": [], "pending": [], @@ -6545,14 +7719,40 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/server-source-maps/server-source-maps-edge.test.ts": { + "passed": [ + "app-dir - server source maps edge runtime logged errors have a sourcemapped stack with a codeframe", + "app-dir - server source maps edge runtime thrown SSR errors" + ], + "failed": [ + "app-dir - server source maps edge runtime should log the correct values on app-render error" + ], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/server-source-maps/server-source-maps.test.ts": { + "passed": [ + "app-dir - server source maps logged errors have a sourcemapped `cause`", + "app-dir - server source maps logged errors have a sourcemapped stack with a codeframe", + "app-dir - server source maps logged errors preserve their name", + "app-dir - server source maps thrown SSR errors" + ], + "failed": [], + "pending": [ + "app-dir - server source maps stack frames are ignore-listed in rsc", + "app-dir - server source maps stack frames are ignore-listed in ssr" + ], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/set-cookies/set-cookies.test.ts": { "passed": [ - "set-cookies for edge runtime for /app should set two set-cookie headers", - "set-cookies for edge runtime for /pages should set two set-cookie headers", - "set-cookies for experimental-edge runtime for /app should set two set-cookie headers", - "set-cookies for experimental-edge runtime for /pages should set two set-cookie headers", - "set-cookies for node runtime for /app should set two set-cookie headers", - "set-cookies for node runtime for /pages should set two set-cookie headers" + "set-cookies for /app for edge runtime should set two set-cookie headers", + "set-cookies for /app for node runtime should set two set-cookie headers", + "set-cookies for /pages for edge runtime should set two set-cookie headers", + "set-cookies for /pages for experimental-edge runtime should set two set-cookie headers", + "set-cookies for /pages for node runtime should set two set-cookie headers" ], "failed": [], "pending": [], @@ -6605,8 +7805,6 @@ "test/e2e/app-dir/static-shell-debugging/static-shell-debugging.test.ts": { "passed": [ "static-shell-debugging ppr = false, debugging = false should render the full page", - "static-shell-debugging ppr = false, debugging = true should render the full page", - "static-shell-debugging ppr = true, debugging = false should render the full page", "static-shell-debugging ppr = true, debugging = true should only render the static shell", "static-shell-debugging ppr = true, debugging = true should skip hydration to avoid blanking out the page" ], @@ -6638,6 +7836,16 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/temporary-references/temporary-references.test.ts": { + "passed": [ + "temporary-references should return the same object that was sent to the action (edge)", + "temporary-references should return the same object that was sent to the action (node)" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts": { "passed": [ "{{name}} should work using browser", @@ -6650,6 +7858,39 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/third-parties/basic.test.ts": { + "passed": [ + "@next/third-parties basic usage renders GA", + "@next/third-parties basic usage renders GTM", + "@next/third-parties basic usage renders GoogleMapsEmbed", + "@next/third-parties basic usage renders YoutubeEmbed" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/trailingslash/trailingslash.test.ts": { + "passed": [ + "app-dir trailingSlash handling should contain trailing slash to canonical url", + "app-dir trailingSlash handling should not add trailing slash to external url or relative url with query", + "app-dir trailingSlash handling should redirect route when clicking link", + "app-dir trailingSlash handling should redirect route when requesting it directly", + "app-dir trailingSlash handling should redirect route when requesting it directly by browser", + "app-dir trailingSlash handling should render link with trailing slash" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/turbopack-loader-resource-query/turbopack-loader-resource-query.test.ts": { + "passed": ["turbopack-loader-resource-query should pass query to loader"], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/turbopack-reports/turbopack-reports.test.ts": { "passed": ["turbopack-reports should render page importing sqlite3"], "failed": [], @@ -6685,6 +7926,59 @@ "flakey": [], "runtimeError": false }, + "test/e2e/app-dir/use-cache-route-handler-only/use-cache-route-handler-only.test.ts": { + "passed": [ + "use-cache-route-handler-only should cache results in node route handlers" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/use-cache-unknown-cache-kind/use-cache-unknown-cache-kind.test.ts": { + "passed": [ + "use-cache-unknown-cache-kind should recover from the build error if the cache handler is defined", + "use-cache-unknown-cache-kind should show a build error" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/use-cache-without-dynamic-io/use-cache-without-dynamic-io.test.ts": { + "passed": [ + "use-cache-without-dynamic-io should recover from the build error if dynamicIO flag is set", + "use-cache-without-dynamic-io should show a build error" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/app-dir/use-cache/use-cache.test.ts": { + "passed": [ + "use-cache can reference server actions in \"use cache\" functions", + "use-cache should be able to revalidate a page using expireTag", + "use-cache should cache complex args", + "use-cache should cache fetch without no-store", + "use-cache should cache results", + "use-cache should cache results custom handler", + "use-cache should cache results for cached functions imported from client components", + "use-cache should cache results for cached functions passed to client components", + "use-cache should cache results in route handlers", + "use-cache should dedupe with react cache inside \"use cache\"", + "use-cache should error when cookies/headers/draftMode is used inside \"use cache\"", + "use-cache should override fetch with cookies/auth in use cache properly", + "use-cache should override fetch with no-store in use cache properly", + "use-cache should update after expireTag correctly", + "use-cache should use revalidate config in fetch", + "use-cache works with useActionState if previousState parameter is not used in \"use cache\" function" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/app-dir/use-params/use-params.test.ts": { "passed": [ "use-params should work for catch all params", @@ -6984,6 +8278,16 @@ "flakey": [], "runtimeError": false }, + "test/e2e/define/define.test.ts": { + "passed": [ + "compiler.define should render the magic variable on client side", + "compiler.define should render the magic variable on server side" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/disable-js-preload/test/index.test.js": { "passed": [ "disabled JS preloads should not have JS preload links", @@ -8212,12 +9516,73 @@ "flakey": [], "runtimeError": false }, + "test/e2e/next-phase/index.test.ts": { + "passed": ["next-phase should render page with next phase correctly"], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/next-script/index.test.ts": { + "passed": [ + "beforeInteractive in document Head Script is injected server-side", + "beforeInteractive in document body Script is injected server-side", + "empty strategy in document Head Script is injected server-side", + "empty strategy in document body Script is injected server-side" + ], + "failed": [], + "pending": [ + "experimental.nextScriptWorkers experimental.nextScriptWorkers: false with no Partytown dependency Partytown snippet is not injected to head if not enabled in configuration", + "experimental.nextScriptWorkers experimental.nextScriptWorkers: true with config override Partytown config script is overwritten", + "experimental.nextScriptWorkers experimental.nextScriptWorkers: true with required Partytown dependency for external script Partytown snippets are injected to head if enabled in configuration", + "experimental.nextScriptWorkers experimental.nextScriptWorkers: true with required Partytown dependency for external script Worker scripts are modified by Partytown to execute on a worker thread", + "experimental.nextScriptWorkers experimental.nextScriptWorkers: true with required Partytown dependency for inline script Inline worker script through children is modified by Partytown to execute on a worker thread", + "experimental.nextScriptWorkers experimental.nextScriptWorkers: true with required Partytown dependency for inline script Inline worker script through dangerouslySetInnerHtml is modified by Partytown to execute on a worker thread" + ], + "flakey": [], + "runtimeError": false + }, + "test/e2e/next-test/next-test.test.ts": { + "passed": [], + "failed": [], + "pending": [ + "next test first time setup should correctly install missing dependencies and generate missing configuration file for first-time-setup-js", + "next test first time setup should correctly install missing dependencies and generate missing configuration file for first-time-setup-ts", + "next test first time setup should fail if next.js config is missing experimental#testProxy", + "next test should execute playwright tests", + "next test should pass args to test runner", + "next test test runner validation should validate configured/specified test runner" + ], + "flakey": [], + "runtimeError": false + }, + "test/e2e/no-eslint-warn-with-no-eslint-config/index.test.ts": { + "passed": [ + "no-eslint-warn-with-no-eslint-config should not have eslint warnings when no eslint config", + "no-eslint-warn-with-no-eslint-config should render" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, + "test/e2e/nonce-head-manager/index.test.ts": { + "passed": [ + "nonce head manager should not re-execute the script when re-rendering", + "nonce head manager should not re-execute the script when re-rendering with CSP header" + ], + "failed": [], + "pending": [], + "flakey": [], + "runtimeError": false + }, "test/e2e/og-api/index.test.ts": { "passed": [ "og-api should respond from index", "og-api should throw error when returning a response object in pages/api in node runtime", "og-api should work in app route", "og-api should work in app route in node runtime", + "og-api should work in middleware", "og-api should work in pages/api" ], "failed": [], @@ -8983,6 +10348,7 @@ "500 Page Support production mode 2 does not build 500 statically with getInitialProps in _app", "500 Page Support production mode 2 does not build 500 statically with no pages/500 and custom getInitialProps in _error", "500 Page Support production mode 2 does not build 500 statically with no pages/500 and custom getInitialProps in _error and _app", + "500 Page Support production mode 2 should have correct cache control for 500 page with getStaticProps", "500 Page Support production mode 2 shows error with getInitialProps in pages/500 build", "500 Page Support production mode should add /500 to pages-manifest correctly", "500 Page Support production mode should not error when visited directly", @@ -9527,7 +10893,6 @@ "Auto Export dev Refreshes query on mount", "Auto Export dev Supports commonjs 1", "Auto Export dev Supports commonjs 2", - "Auto Export dev should include error link when hydration error does occur", "Auto Export dev should not replace URL with page name while asPath is delayed", "Auto Export dev should not show hydration warning from mismatching asPath", "Auto Export dev should update asPath after mount" @@ -10064,7 +11429,7 @@ "create-next-app --app (App Router) should create an empty TailwindCSS project with --empty flag", "create-next-app --app (App Router) should create an empty project with --empty flag", "create-next-app --app (App Router) should create project inside \"src\" directory with --src-dir flag", - "create-next-app --app (App Router) should enable turbopack dev with --turbo flag" + "create-next-app --app (App Router) should enable turbopack dev with --turbopack flag" ], "failed": [], "pending": [], @@ -10073,54 +11438,54 @@ }, "test/integration/create-next-app/templates/matrix.test.ts": { "passed": [ - "CNA options matrix - app --app --turbo --js --import-alias=@/* --eslint --no-src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --js --import-alias=@/* --eslint --no-src-dir --tailwind", - "CNA options matrix - app --app --turbo --js --import-alias=@/* --eslint --src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --js --import-alias=@/* --eslint --src-dir --tailwind", - "CNA options matrix - app --app --turbo --js --import-alias=@acme/* --eslint --no-src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --js --import-alias=@acme/* --eslint --no-src-dir --tailwind", - "CNA options matrix - app --app --turbo --js --import-alias=@acme/* --eslint --src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --js --import-alias=@acme/* --eslint --src-dir --tailwind", - "CNA options matrix - app --app --turbo --js --no-import-alias --eslint --no-src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --js --no-import-alias --eslint --no-src-dir --tailwind", - "CNA options matrix - app --app --turbo --js --no-import-alias --eslint --src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --js --no-import-alias --eslint --src-dir --tailwind", - "CNA options matrix - app --app --turbo --ts --import-alias=@/* --eslint --no-src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --ts --import-alias=@/* --eslint --no-src-dir --tailwind", - "CNA options matrix - app --app --turbo --ts --import-alias=@/* --eslint --src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --ts --import-alias=@/* --eslint --src-dir --tailwind", - "CNA options matrix - app --app --turbo --ts --import-alias=@acme/* --eslint --no-src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --ts --import-alias=@acme/* --eslint --no-src-dir --tailwind", - "CNA options matrix - app --app --turbo --ts --import-alias=@acme/* --eslint --src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --ts --import-alias=@acme/* --eslint --src-dir --tailwind", - "CNA options matrix - app --app --turbo --ts --no-import-alias --eslint --no-src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --ts --no-import-alias --eslint --no-src-dir --tailwind", - "CNA options matrix - app --app --turbo --ts --no-import-alias --eslint --src-dir --no-tailwind", - "CNA options matrix - app --app --turbo --ts --no-import-alias --eslint --src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --js --import-alias=@/* --eslint --no-src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --js --import-alias=@/* --eslint --no-src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --js --import-alias=@/* --eslint --src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --js --import-alias=@/* --eslint --src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --js --import-alias=@acme/* --eslint --no-src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --js --import-alias=@acme/* --eslint --no-src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --js --import-alias=@acme/* --eslint --src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --js --import-alias=@acme/* --eslint --src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --js --no-import-alias --eslint --no-src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --js --no-import-alias --eslint --no-src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --js --no-import-alias --eslint --src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --js --no-import-alias --eslint --src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --ts --import-alias=@/* --eslint --no-src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --ts --import-alias=@/* --eslint --no-src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --ts --import-alias=@/* --eslint --src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --ts --import-alias=@/* --eslint --src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --ts --import-alias=@acme/* --eslint --no-src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --ts --import-alias=@acme/* --eslint --no-src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --ts --import-alias=@acme/* --eslint --src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --ts --import-alias=@acme/* --eslint --src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --ts --no-import-alias --eslint --no-src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --ts --no-import-alias --eslint --no-src-dir --tailwind", - "CNA options matrix - pages --no-app --turbo --ts --no-import-alias --eslint --src-dir --no-tailwind", - "CNA options matrix - pages --no-app --turbo --ts --no-import-alias --eslint --src-dir --tailwind" + "CNA options matrix - app --app --turbopack --js --import-alias=@/* --eslint --no-src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --js --import-alias=@/* --eslint --no-src-dir --tailwind", + "CNA options matrix - app --app --turbopack --js --import-alias=@/* --eslint --src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --js --import-alias=@/* --eslint --src-dir --tailwind", + "CNA options matrix - app --app --turbopack --js --import-alias=@acme/* --eslint --no-src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --js --import-alias=@acme/* --eslint --no-src-dir --tailwind", + "CNA options matrix - app --app --turbopack --js --import-alias=@acme/* --eslint --src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --js --import-alias=@acme/* --eslint --src-dir --tailwind", + "CNA options matrix - app --app --turbopack --js --no-import-alias --eslint --no-src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --js --no-import-alias --eslint --no-src-dir --tailwind", + "CNA options matrix - app --app --turbopack --js --no-import-alias --eslint --src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --js --no-import-alias --eslint --src-dir --tailwind", + "CNA options matrix - app --app --turbopack --ts --import-alias=@/* --eslint --no-src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --ts --import-alias=@/* --eslint --no-src-dir --tailwind", + "CNA options matrix - app --app --turbopack --ts --import-alias=@/* --eslint --src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --ts --import-alias=@/* --eslint --src-dir --tailwind", + "CNA options matrix - app --app --turbopack --ts --import-alias=@acme/* --eslint --no-src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --ts --import-alias=@acme/* --eslint --no-src-dir --tailwind", + "CNA options matrix - app --app --turbopack --ts --import-alias=@acme/* --eslint --src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --ts --import-alias=@acme/* --eslint --src-dir --tailwind", + "CNA options matrix - app --app --turbopack --ts --no-import-alias --eslint --no-src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --ts --no-import-alias --eslint --no-src-dir --tailwind", + "CNA options matrix - app --app --turbopack --ts --no-import-alias --eslint --src-dir --no-tailwind", + "CNA options matrix - app --app --turbopack --ts --no-import-alias --eslint --src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --js --import-alias=@/* --eslint --no-src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --js --import-alias=@/* --eslint --no-src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --js --import-alias=@/* --eslint --src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --js --import-alias=@/* --eslint --src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --js --import-alias=@acme/* --eslint --no-src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --js --import-alias=@acme/* --eslint --no-src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --js --import-alias=@acme/* --eslint --src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --js --import-alias=@acme/* --eslint --src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --js --no-import-alias --eslint --no-src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --js --no-import-alias --eslint --no-src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --js --no-import-alias --eslint --src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --js --no-import-alias --eslint --src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --import-alias=@/* --eslint --no-src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --import-alias=@/* --eslint --no-src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --import-alias=@/* --eslint --src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --import-alias=@/* --eslint --src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --import-alias=@acme/* --eslint --no-src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --import-alias=@acme/* --eslint --no-src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --import-alias=@acme/* --eslint --src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --import-alias=@acme/* --eslint --src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --no-import-alias --eslint --no-src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --no-import-alias --eslint --no-src-dir --tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --no-import-alias --eslint --src-dir --no-tailwind", + "CNA options matrix - pages --no-app --turbopack --ts --no-import-alias --eslint --src-dir --tailwind" ], "failed": [], "pending": [], @@ -10135,7 +11500,7 @@ "create-next-app --no-app (Pages Router) should create an empty TailwindCSS project with --empty flag", "create-next-app --no-app (Pages Router) should create an empty project with --empty flag", "create-next-app --no-app (Pages Router) should create project inside \"src\" directory with --src-dir flag", - "create-next-app --no-app (Pages Router) should enable turbopack dev with --turbo flag" + "create-next-app --no-app (Pages Router) should enable turbopack dev with --turbopack flag" ], "failed": [], "pending": [], @@ -11718,7 +13083,6 @@ "Next Lint don't create .eslintrc file if package.json has eslintConfig field", "Next Lint file flag can selectively lint only a single file", "Next Lint file flag can selectively lints multiple files", - "Next Lint format flag \"compact\" creates a file respecting the chosen format", "Next Lint format flag \"json\" creates a file respecting the chosen format", "Next Lint format flag supports additional user-defined formats", "Next Lint format flag supports async formatters", @@ -11729,7 +13093,6 @@ "Next Lint should add relative path for dist types in tsconfig.json when app dir exist", "Next Lint should generate next-env.d.ts before lint command", "Next Lint should not generate next-env.d.ts without typescript", - "Next Lint show error message when the file path is a directory", "Next Lint shows warnings and errors", "Next Lint shows warnings and errors when extending plugin core-web-vitals config", "Next Lint shows warnings and errors when extending plugin recommended config", @@ -14412,12 +15775,15 @@ "Image Optimizer config checks should error when images.remotePatterns is invalid", "Image Optimizer config checks should error when images.unoptimized is not a boolean", "Image Optimizer config checks should error when loader contains invalid value", + "Image Optimizer config checks should error when localPatterns has invalid prop", + "Image Optimizer config checks should error when localPatterns length exceeds 25", "Image Optimizer config checks should error when remotePatterns has invalid prop", "Image Optimizer config checks should error when remotePatterns is missing hostname", "Image Optimizer config checks should error when remotePatterns length exceeds 50", "Image Optimizer config checks should error when sizes length exceeds 25", "Image Optimizer dev support for dynamic blur placeholder should support width 8 per BLUR_IMG_SIZE with next dev", "Image Optimizer dev support next.config.js cloudinary loader should 404 when loader is not default", + "Image Optimizer experimental.imgOptMaxInputPixels in next.config.js should fallback to source image when input exceeds imgOptMaxInputPixels", "Image Optimizer images.unoptimized in next.config.js should 404 when unoptimized" ], "failed": [], @@ -15706,6 +17072,26 @@ "flakey": [], "runtimeError": false }, + "test/integration/next-image-new/app-dir-localpatterns/test/index.test.ts": { + "passed": [ + "Image localPatterns config development mode should block unmatched image does-not-exist", + "Image localPatterns config development mode should block unmatched image nested-assets-query", + "Image localPatterns config development mode should block unmatched image nested-blocked", + "Image localPatterns config development mode should block unmatched image top-level", + "Image localPatterns config development mode should load matching images" + ], + "failed": [], + "pending": [ + "Image localPatterns config production mode should block unmatched image does-not-exist", + "Image localPatterns config production mode should block unmatched image nested-assets-query", + "Image localPatterns config production mode should block unmatched image nested-blocked", + "Image localPatterns config production mode should block unmatched image top-level", + "Image localPatterns config production mode should build correct images-manifest.json", + "Image localPatterns config production mode should load matching images" + ], + "flakey": [], + "runtimeError": false + }, "test/integration/next-image-new/app-dir/test/index.test.ts": { "passed": [ "Image Component Default Tests development mode Fill-mode tests should add 100% width and height to fill images", @@ -15757,6 +17143,7 @@ "Image Component Default Tests development mode should show invalid src with trailing space", "Image Component Default Tests development mode should show missing alt error", "Image Component Default Tests development mode should show missing src error", + "Image Component Default Tests development mode should show null src error", "Image Component Default Tests development mode should update the image on src change", "Image Component Default Tests development mode should warn at most once even after state change", "Image Component Default Tests development mode should warn when legacy prop layout=fill", @@ -15778,6 +17165,7 @@ "Image Component Default Tests production mode should apply filter style after image loads", "Image Component Default Tests production mode should apply style inheritance for img elements but not wrapper elements", "Image Component Default Tests production mode should be valid HTML", + "Image Component Default Tests production mode should build correct images-manifest.json", "Image Component Default Tests production mode should call callback ref cleanups when unmounting", "Image Component Default Tests production mode should callback native onError even when error before hydration", "Image Component Default Tests production mode should callback native onError when error occurred while loading image", @@ -15977,6 +17365,7 @@ "Image Component Default Tests development mode should show invalid src with trailing space", "Image Component Default Tests development mode should show missing alt error", "Image Component Default Tests development mode should show missing src error", + "Image Component Default Tests development mode should show null src error", "Image Component Default Tests development mode should update the image on src change", "Image Component Default Tests development mode should warn at most once even after state change", "Image Component Default Tests development mode should warn when legacy prop layout=fill", @@ -16231,7 +17620,9 @@ ], "failed": [], "pending": [ + "Unoptimized Image Tests production mode - component should build correct images-manifest.json", "Unoptimized Image Tests production mode - component should not optimize any image", + "Unoptimized Image Tests production mode - getImageProps should build correct images-manifest.json", "Unoptimized Image Tests production mode - getImageProps should not optimize any image" ], "flakey": [],