@@ -6,8 +6,8 @@ const expectImageWasLoaded = async (locator: Locator) => {
6
6
expect ( await locator . evaluate ( ( img : HTMLImageElement ) => img . naturalHeight ) ) . toBeGreaterThan ( 0 )
7
7
}
8
8
9
- test ( 'Renders the Home page correctly' , async ( { page, simpleNextApp } ) => {
10
- const response = await page . goto ( simpleNextApp . url )
9
+ test ( 'Renders the Home page correctly' , async ( { page, simple } ) => {
10
+ const response = await page . goto ( simple . url )
11
11
const headers = response ?. headers ( ) || { }
12
12
13
13
await expect ( page ) . toHaveTitle ( 'Simple Next App' )
@@ -19,17 +19,14 @@ test('Renders the Home page correctly', async ({ page, simpleNextApp }) => {
19
19
20
20
await expectImageWasLoaded ( page . locator ( 'img' ) )
21
21
22
- await page . goto ( `${ simpleNextApp . url } /api/static` )
22
+ await page . goto ( `${ simple . url } /api/static` )
23
23
24
24
const body = ( await page . $ ( 'body' ) . then ( ( el ) => el ?. textContent ( ) ) ) || '{}'
25
25
expect ( body ) . toBe ( '{"words":"hello world"}' )
26
26
} )
27
27
28
- test ( 'Renders the Home page correctly with output export' , async ( {
29
- page,
30
- simpleNextAppExport,
31
- } ) => {
32
- const response = await page . goto ( simpleNextAppExport . url )
28
+ test ( 'Renders the Home page correctly with output export' , async ( { page, outputExport } ) => {
29
+ const response = await page . goto ( outputExport . url )
33
30
const headers = response ?. headers ( ) || { }
34
31
35
32
await expect ( page ) . toHaveTitle ( 'Simple Next App' )
@@ -42,8 +39,8 @@ test('Renders the Home page correctly with output export', async ({
42
39
await expectImageWasLoaded ( page . locator ( 'img' ) )
43
40
} )
44
41
45
- test ( 'Renders the Home page correctly with distDir' , async ( { page, simpleNextAppDistDir } ) => {
46
- await page . goto ( simpleNextAppDistDir . url )
42
+ test ( 'Renders the Home page correctly with distDir' , async ( { page, distDir } ) => {
43
+ await page . goto ( distDir . url )
47
44
48
45
await expect ( page ) . toHaveTitle ( 'Simple Next App' )
49
46
@@ -53,29 +50,29 @@ test('Renders the Home page correctly with distDir', async ({ page, simpleNextAp
53
50
await expectImageWasLoaded ( page . locator ( 'img' ) )
54
51
} )
55
52
56
- test ( 'Serves a static image correctly' , async ( { page, simpleNextApp } ) => {
57
- const response = await page . goto ( `${ simpleNextApp . url } /next.svg` )
53
+ test ( 'Serves a static image correctly' , async ( { page, simple } ) => {
54
+ const response = await page . goto ( `${ simple . url } /next.svg` )
58
55
59
56
expect ( response ?. status ( ) ) . toBe ( 200 )
60
57
expect ( response ?. headers ( ) [ 'content-type' ] ) . toBe ( 'image/svg+xml' )
61
58
} )
62
59
63
- test ( 'Redirects correctly' , async ( { page, simpleNextApp } ) => {
64
- await page . goto ( `${ simpleNextApp . url } /redirect/response` )
60
+ test ( 'Redirects correctly' , async ( { page, simple } ) => {
61
+ await page . goto ( `${ simple . url } /redirect/response` )
65
62
await expect ( page ) . toHaveURL ( `https://www.netlify.com/` )
66
63
67
- await page . goto ( `${ simpleNextApp . url } /redirect` )
64
+ await page . goto ( `${ simple . url } /redirect` )
68
65
await expect ( page ) . toHaveURL ( `https://www.netlify.com/` )
69
66
} )
70
67
71
68
const waitFor = ( ms : number ) => new Promise ( ( resolve ) => setTimeout ( resolve , ms ) )
72
69
73
70
// adaptation of https://github.com/vercel/next.js/blob/canary/test/e2e/app-dir/app-static/app-static.test.ts#L1716-L1755
74
- test . skip ( 'streams stale responses' , async ( { simpleNextApp } ) => {
71
+ test . skip ( 'streams stale responses' , async ( { simple } ) => {
75
72
// Introduced in https://github.com/vercel/next.js/pull/55978
76
73
test . skip ( ! nextVersionSatisfies ( '>=13.5.4' ) , 'This test is only for Next.js 13.5.4+' )
77
74
// Prime the cache.
78
- const path = `${ simpleNextApp . url } /stale-cache-serving/app-page`
75
+ const path = `${ simple . url } /stale-cache-serving/app-page`
79
76
const res = await fetch ( path )
80
77
expect ( res . status ) . toBe ( 200 )
81
78
@@ -122,10 +119,10 @@ test.skip('streams stale responses', async ({ simpleNextApp }) => {
122
119
} )
123
120
124
121
test . describe ( 'next/image is using Netlify Image CDN' , ( ) => {
125
- test ( 'Local images' , async ( { page, simpleNextApp } ) => {
122
+ test ( 'Local images' , async ( { page, simple } ) => {
126
123
const nextImageResponsePromise = page . waitForResponse ( '**/_next/image**' )
127
124
128
- await page . goto ( `${ simpleNextApp . url } /image/local` )
125
+ await page . goto ( `${ simple . url } /image/local` )
129
126
130
127
const nextImageResponse = await nextImageResponsePromise
131
128
expect ( nextImageResponse . request ( ) . url ( ) ) . toContain ( '_next/image?url=%2Fsquirrel.jpg' )
@@ -140,11 +137,11 @@ test.describe('next/image is using Netlify Image CDN', () => {
140
137
141
138
test ( 'Remote images: remote patterns #1 (protocol, hostname, pathname set)' , async ( {
142
139
page,
143
- simpleNextApp ,
140
+ simple ,
144
141
} ) => {
145
142
const nextImageResponsePromise = page . waitForResponse ( '**/_next/image**' )
146
143
147
- await page . goto ( `${ simpleNextApp . url } /image/remote-pattern-1` )
144
+ await page . goto ( `${ simple . url } /image/remote-pattern-1` )
148
145
149
146
const nextImageResponse = await nextImageResponsePromise
150
147
@@ -162,11 +159,11 @@ test.describe('next/image is using Netlify Image CDN', () => {
162
159
163
160
test ( 'Remote images: remote patterns #2 (just hostname starting with wildcard)' , async ( {
164
161
page,
165
- simpleNextApp ,
162
+ simple ,
166
163
} ) => {
167
164
const nextImageResponsePromise = page . waitForResponse ( '**/_next/image**' )
168
165
169
- await page . goto ( `${ simpleNextApp . url } /image/remote-pattern-2` )
166
+ await page . goto ( `${ simple . url } /image/remote-pattern-2` )
170
167
171
168
const nextImageResponse = await nextImageResponsePromise
172
169
@@ -182,10 +179,10 @@ test.describe('next/image is using Netlify Image CDN', () => {
182
179
await expectImageWasLoaded ( page . locator ( 'img' ) )
183
180
} )
184
181
185
- test ( 'Remote images: domains' , async ( { page, simpleNextApp } ) => {
182
+ test ( 'Remote images: domains' , async ( { page, simple } ) => {
186
183
const nextImageResponsePromise = page . waitForResponse ( '**/_next/image**' )
187
184
188
- await page . goto ( `${ simpleNextApp . url } /image/remote-domain` )
185
+ await page . goto ( `${ simple . url } /image/remote-domain` )
189
186
190
187
const nextImageResponse = await nextImageResponsePromise
191
188
@@ -201,13 +198,13 @@ test.describe('next/image is using Netlify Image CDN', () => {
201
198
await expectImageWasLoaded ( page . locator ( 'img' ) )
202
199
} )
203
200
204
- test ( 'Handling of browser-cached Runtime v4 redirect' , async ( { page, simpleNextApp } ) => {
201
+ test ( 'Handling of browser-cached Runtime v4 redirect' , async ( { page, simple } ) => {
205
202
// Runtime v4 redirects for next/image are 301 and would be cached by browser
206
203
// So this test checks behavior when migrating from v4 to v5 for site visitors
207
204
// and ensure that images are still served through Image CDN
208
205
const nextImageResponsePromise = page . waitForResponse ( '**/_ipx/**' )
209
206
210
- await page . goto ( `${ simpleNextApp . url } /image/migration-from-v4-runtime` )
207
+ await page . goto ( `${ simple . url } /image/migration-from-v4-runtime` )
211
208
212
209
const nextImageResponse = await nextImageResponsePromise
213
210
// ensure fixture is replicating runtime v4 redirect
@@ -224,9 +221,9 @@ test.describe('next/image is using Netlify Image CDN', () => {
224
221
225
222
test ( 'requesting a non existing page route that needs to be fetched from the blob store like 404.html' , async ( {
226
223
page,
227
- simpleNextApp ,
224
+ simple ,
228
225
} ) => {
229
- const response = await page . goto ( new URL ( 'non-existing' , simpleNextApp . url ) . href )
226
+ const response = await page . goto ( new URL ( 'non-existing' , simple . url ) . href )
230
227
const headers = response ?. headers ( ) || { }
231
228
expect ( response ?. status ( ) ) . toBe ( 404 )
232
229
@@ -240,9 +237,9 @@ test('requesting a non existing page route that needs to be fetched from the blo
240
237
241
238
test ( 'requesting a non existing page route that needs to be fetched from the blob store like 404.html (notFound())' , async ( {
242
239
page,
243
- simpleNextApp ,
240
+ simple ,
244
241
} ) => {
245
- const response = await page . goto ( new URL ( 'not-found' , simpleNextApp . url ) . href )
242
+ const response = await page . goto ( new URL ( 'not-found' , simple . url ) . href )
246
243
const headers = response ?. headers ( ) || { }
247
244
expect ( response ?. status ( ) ) . toBe ( 404 )
248
245
@@ -254,8 +251,8 @@ test('requesting a non existing page route that needs to be fetched from the blo
254
251
expect ( headers [ 'cache-control' ] ) . toBe ( 'public,max-age=0,must-revalidate' )
255
252
} )
256
253
257
- test ( 'Compressed rewrites are readable' , async ( { simpleNextApp } ) => {
258
- const resp = await fetch ( `${ simpleNextApp . url } /rewrite-no-basepath` )
254
+ test ( 'Compressed rewrites are readable' , async ( { simple } ) => {
255
+ const resp = await fetch ( `${ simple . url } /rewrite-no-basepath` )
259
256
expect ( resp . headers . get ( 'content-length' ) ) . toBeNull ( )
260
257
expect ( resp . headers . get ( 'transfer-encoding' ) ) . toEqual ( 'chunked' )
261
258
expect ( resp . headers . get ( 'content-encoding' ) ) . toEqual ( 'br' )
0 commit comments