File tree Expand file tree Collapse file tree 2 files changed +30
-1
lines changed
Expand file tree Collapse file tree 2 files changed +30
-1
lines changed Original file line number Diff line number Diff line change @@ -15,7 +15,6 @@ import {
1515
1616export type ListenerMap < EventMap extends PageEvents = PageEvents > = {
1717 [ K in keyof EventMap ] ?: ( event : EventMap [ K ] ) => void ;
18- // request: (event: PageEvents['request']) => void;
1918} ;
2019
2120export class PageCollector < T > {
@@ -105,6 +104,7 @@ export class PageCollector<T> {
105104 page . off ( name , listener as Handler < unknown > ) ;
106105 }
107106 }
107+ this . storage . delete ( page ) ;
108108 }
109109
110110 getData ( page : Page ) : T [ ] {
Original file line number Diff line number Diff line change @@ -164,4 +164,33 @@ describe('PageCollector', () => {
164164
165165 assert . equal ( collector . getData ( page ) . length , 2 ) ;
166166 } ) ;
167+
168+ it . only ( 'should clear data on page destroy' , async ( ) => {
169+ const browser = getMockBrowser ( ) ;
170+ const page = ( await browser . pages ( ) ) [ 0 ] ;
171+ const request = getMockRequest ( ) ;
172+ const collector = new PageCollector ( browser , collect => {
173+ return {
174+ request : req => {
175+ collect ( req ) ;
176+ } ,
177+ } as ListenerMap ;
178+ } ) ;
179+ await collector . init ( ) ;
180+
181+ page . emit ( 'request' , request ) ;
182+
183+ assert . equal ( collector . getData ( page ) . length , 1 ) ;
184+
185+ browser . emit ( 'targetdestroyed' , {
186+ page ( ) {
187+ return Promise . resolve ( page ) ;
188+ } ,
189+ } as Target ) ;
190+
191+ // The page inside part is async so we need to await some time
192+ await new Promise < void > ( res => res ( ) ) ;
193+
194+ assert . equal ( collector . getData ( page ) . length , 0 ) ;
195+ } ) ;
167196} ) ;
You can’t perform that action at this time.
0 commit comments