@@ -250,4 +250,40 @@ describe('NetworkCollector', () => {
250250 assert . equal ( collector . getData ( page ) [ 0 ] , navRequest ) ;
251251 assert . equal ( collector . getData ( page ) [ 1 ] , request2 ) ;
252252 } ) ;
253+
254+ it ( 'correctly picks up after multiple back to back navigations' , async ( ) => {
255+ const browser = getMockBrowser ( ) ;
256+ const page = ( await browser . pages ( ) ) [ 0 ] ;
257+ const mainFrame = page . mainFrame ( ) ;
258+ const navRequest = getMockRequest ( {
259+ navigationRequest : true ,
260+ frame : page . mainFrame ( ) ,
261+ } ) ;
262+ const navRequest2 = getMockRequest ( {
263+ navigationRequest : true ,
264+ frame : page . mainFrame ( ) ,
265+ } ) ;
266+ const request = getMockRequest ( ) ;
267+
268+ const collector = new NetworkCollector ( browser ) ;
269+ await collector . init ( ) ;
270+ page . emit ( 'request' , navRequest ) ;
271+ assert . equal ( collector . getData ( page ) [ 0 ] , navRequest ) ;
272+
273+ page . emit ( 'framenavigated' , mainFrame ) ;
274+ assert . equal ( collector . getData ( page ) . length , 1 ) ;
275+ assert . equal ( collector . getData ( page ) [ 0 ] , navRequest ) ;
276+
277+ page . emit ( 'request' , navRequest2 ) ;
278+ assert . equal ( collector . getData ( page ) . length , 2 ) ;
279+ assert . equal ( collector . getData ( page ) [ 0 ] , navRequest ) ;
280+ assert . equal ( collector . getData ( page ) [ 1 ] , navRequest2 ) ;
281+
282+ page . emit ( 'framenavigated' , mainFrame ) ;
283+ assert . equal ( collector . getData ( page ) . length , 1 ) ;
284+ assert . equal ( collector . getData ( page ) [ 0 ] , navRequest2 ) ;
285+
286+ page . emit ( 'request' , request ) ;
287+ assert . equal ( collector . getData ( page ) . length , 2 ) ;
288+ } ) ;
253289} ) ;
0 commit comments