@@ -137,6 +137,48 @@ describe('network', function () {
137137 } ) ;
138138 } ) ;
139139
140+ describeFailsFirefox ( 'Request.initiator' , ( ) => {
141+ it ( 'shoud return the initiator' , async ( ) => {
142+ const { page, server } = getTestState ( ) ;
143+
144+ const initiators = new Map ( ) ;
145+ page . on ( 'request' , ( request ) =>
146+ initiators . set ( request . url ( ) . split ( '/' ) . pop ( ) , request . initiator ( ) )
147+ ) ;
148+ await page . goto ( server . PREFIX + '/initiator.html' ) ;
149+
150+ expect ( initiators . get ( 'initiator.html' ) . type ) . toBe ( 'other' ) ;
151+ expect ( initiators . get ( 'initiator.js' ) . type ) . toBe ( 'parser' ) ;
152+ expect ( initiators . get ( 'initiator.js' ) . url ) . toBe (
153+ server . PREFIX + '/initiator.html'
154+ ) ;
155+ expect ( initiators . get ( 'frame.html' ) . type ) . toBe ( 'parser' ) ;
156+ expect ( initiators . get ( 'frame.html' ) . url ) . toBe (
157+ server . PREFIX + '/initiator.html'
158+ ) ;
159+ expect ( initiators . get ( 'script.js' ) . type ) . toBe ( 'parser' ) ;
160+ expect ( initiators . get ( 'script.js' ) . url ) . toBe (
161+ server . PREFIX + '/frames/frame.html'
162+ ) ;
163+ expect ( initiators . get ( 'style.css' ) . type ) . toBe ( 'parser' ) ;
164+ expect ( initiators . get ( 'style.css' ) . url ) . toBe (
165+ server . PREFIX + '/frames/frame.html'
166+ ) ;
167+ expect ( initiators . get ( 'initiator.js' ) . type ) . toBe ( 'parser' ) ;
168+ expect ( initiators . get ( 'injectedfile.js' ) . type ) . toBe ( 'script' ) ;
169+ expect ( initiators . get ( 'injectedfile.js' ) . stack . callFrames [ 0 ] . url ) . toBe (
170+ server . PREFIX + '/initiator.js'
171+ ) ;
172+ expect ( initiators . get ( 'injectedstyle.css' ) . type ) . toBe ( 'script' ) ;
173+ expect ( initiators . get ( 'injectedstyle.css' ) . stack . callFrames [ 0 ] . url ) . toBe (
174+ server . PREFIX + '/initiator.js'
175+ ) ;
176+ expect ( initiators . get ( 'initiator.js' ) . url ) . toBe (
177+ server . PREFIX + '/initiator.html'
178+ ) ;
179+ } ) ;
180+ } ) ;
181+
140182 describeFailsFirefox ( 'Response.fromCache' , function ( ) {
141183 it ( 'should return |false| for non-cached content' , async ( ) => {
142184 const { page, server } = getTestState ( ) ;
0 commit comments