@@ -284,6 +284,29 @@ describe('NetworkCollector', () => {
284284 page . emit ( 'request' , request ) ;
285285 assert . equal ( collector . getData ( page , true ) . length , 3 ) ;
286286 } ) ;
287+
288+ it ( 'should not grow beyond maxNavigationSaved' , async ( ) => {
289+ const browser = getMockBrowser ( ) ;
290+ const page = ( await browser . pages ( ) ) [ 0 ] ;
291+ const mainFrame = page . mainFrame ( ) ;
292+ const collector = new NetworkCollector ( browser ) ;
293+ await collector . init ( [ page ] ) ;
294+
295+ // Simulate 5 navigations (maxNavigationSaved is 3)
296+ for ( let i = 0 ; i < 5 ; i ++ ) {
297+ const req = getMockRequest ( {
298+ url : `http://example.com/nav${ i } ` ,
299+ navigationRequest : true ,
300+ frame : mainFrame ,
301+ } ) ;
302+ page . emit ( 'request' , req ) ;
303+ page . emit ( 'framenavigated' , mainFrame ) ;
304+ }
305+
306+ // We expect 4 arrays in navigations (current + 3 saved)
307+ // Each navigation has 1 request, so total should be 4
308+ assert . equal ( collector . getData ( page , true ) . length , 4 ) ;
309+ } ) ;
287310} ) ;
288311
289312describe ( 'ConsoleCollector' , ( ) => {
0 commit comments