File tree 3 files changed +68
-0
lines changed
3 files changed +68
-0
lines changed Original file line number Diff line number Diff line change @@ -632,6 +632,28 @@ describe('onCLS()', async function() {
632
632
assert . strictEqual ( cls . navigationType , 'back-forward-cache' ) ;
633
633
} ) ;
634
634
635
+ it ( 'reports prerender as nav type for prerender' , async function ( ) {
636
+ if ( ! browserSupportsCLS ) this . skip ( ) ;
637
+
638
+ await browser . url ( '/test/cls?prerender=1' ) ;
639
+
640
+ // Wait until all images are loaded and rendered, then change to hidden.
641
+ await imagesPainted ( ) ;
642
+ await stubVisibilityChange ( 'hidden' ) ;
643
+
644
+
645
+ await beaconCountIs ( 1 ) ;
646
+ const [ cls ] = await getBeacons ( ) ;
647
+
648
+ assert ( cls . value >= 0 ) ;
649
+ assert ( cls . id . match ( / ^ v 3 - \d + - \d + $ / ) ) ;
650
+ assert . strictEqual ( cls . name , 'CLS' ) ;
651
+ assert . strictEqual ( cls . value , cls . delta ) ;
652
+ assert . strictEqual ( cls . rating , 'good' ) ;
653
+ assert . strictEqual ( cls . entries . length , 2 ) ;
654
+ assert . strictEqual ( cls . navigationType , 'prerender' ) ;
655
+ } ) ;
656
+
635
657
it ( 'reports restore as nav type for wasDiscarded' , async function ( ) {
636
658
if ( ! browserSupportsCLS ) this . skip ( ) ;
637
659
Original file line number Diff line number Diff line change @@ -194,6 +194,27 @@ describe('onFID()', async function() {
194
194
assert . match ( fid2 . entries [ 0 ] . name , / ( m o u s e | p o i n t e r ) d o w n / ) ;
195
195
} ) ;
196
196
197
+ it ( 'reports prerender as nav type for prerender' , async function ( ) {
198
+ if ( ! browserSupportsFID ) this . skip ( ) ;
199
+
200
+ await browser . url ( '/test/fid?prerender=1' ) ;
201
+
202
+ // Click on the <h1>.
203
+ const h1 = await $ ( 'h1' ) ;
204
+ await h1 . click ( ) ;
205
+
206
+ await beaconCountIs ( 1 ) ;
207
+
208
+ const [ fid ] = await getBeacons ( ) ;
209
+ assert ( fid . value >= 0 ) ;
210
+ assert ( fid . id . match ( / ^ v 3 - \d + - \d + $ / ) ) ;
211
+ assert . strictEqual ( fid . name , 'FID' ) ;
212
+ assert . strictEqual ( fid . value , fid . delta ) ;
213
+ assert . strictEqual ( fid . rating , 'good' ) ;
214
+ assert . strictEqual ( fid . navigationType , 'prerender' ) ;
215
+ assert . match ( fid . entries [ 0 ] . name , / ( m o u s e | p o i n t e r ) d o w n / ) ;
216
+ } ) ;
217
+
197
218
it ( 'reports restore as nav type for wasDiscarded' , async function ( ) {
198
219
if ( ! browserSupportsFID ) this . skip ( ) ;
199
220
Original file line number Diff line number Diff line change @@ -316,6 +316,31 @@ describe('onINP()', async function() {
316
316
assert . strictEqual ( beacons . length , 0 ) ;
317
317
} ) ;
318
318
319
+ it ( 'reports prerender as nav type for prerender' , async function ( ) {
320
+ if ( ! browserSupportsINP ) this . skip ( ) ;
321
+
322
+ await browser . url ( '/test/inp?click=100&prerender=1' ) ;
323
+
324
+
325
+ const h1 = await $ ( 'h1' ) ;
326
+ await h1 . click ( ) ;
327
+
328
+ await stubVisibilityChange ( 'hidden' ) ;
329
+
330
+ await beaconCountIs ( 1 ) ;
331
+
332
+ const [ inp ] = await getBeacons ( ) ;
333
+ assert ( inp . value >= 0 ) ;
334
+ assert ( inp . id . match ( / ^ v 3 - \d + - \d + $ / ) ) ;
335
+ assert . strictEqual ( inp . name , 'INP' ) ;
336
+ assert . strictEqual ( inp . value , inp . delta ) ;
337
+ assert . strictEqual ( inp . rating , 'good' ) ;
338
+ assert ( containsEntry ( inp . entries , 'click' , 'h1' ) ) ;
339
+ assert ( interactionIDsMatch ( inp . entries ) ) ;
340
+ assert ( inp . entries [ 0 ] . interactionId > 0 ) ;
341
+ assert . strictEqual ( inp . navigationType , 'prerender' ) ;
342
+ } ) ;
343
+
319
344
it ( 'reports restore as nav type for wasDiscarded' , async function ( ) {
320
345
if ( ! browserSupportsINP ) this . skip ( ) ;
321
346
You can’t perform that action at this time.
0 commit comments