@@ -37,14 +37,40 @@ it('should work for subframe navigation request', async ({page, server}) => {
37
37
38
38
it ( 'should work for fetch requests' , async ( { page, server} ) => {
39
39
await page . goto ( server . EMPTY_PAGE ) ;
40
- let requests = [ ] ;
40
+ const requests = [ ] ;
41
41
page . on ( 'request' , request => requests . push ( request ) ) ;
42
42
await page . evaluate ( ( ) => fetch ( '/digits/1.png' ) ) ;
43
- requests = requests . filter ( request => ! request . url ( ) . includes ( 'favicon' ) ) ;
44
43
expect ( requests . length ) . toBe ( 1 ) ;
45
44
expect ( requests [ 0 ] . frame ( ) ) . toBe ( page . mainFrame ( ) ) ;
46
45
} ) ;
47
46
47
+ it ( 'should work for a redirect' , async ( { page, server} ) => {
48
+ server . setRedirect ( '/foo.html' , '/empty.html' ) ;
49
+ const requests = [ ] ;
50
+ page . on ( 'request' , request => requests . push ( request ) ) ;
51
+ await page . goto ( server . PREFIX + '/foo.html' ) ;
52
+
53
+ expect ( requests . length ) . toBe ( 2 ) ;
54
+ expect ( requests [ 0 ] . url ( ) ) . toBe ( server . PREFIX + '/foo.html' ) ;
55
+ expect ( requests [ 1 ] . url ( ) ) . toBe ( server . PREFIX + '/empty.html' ) ;
56
+ } ) ;
57
+
58
+ // https://github.com/microsoft/playwright/issues/3993
59
+ it ( 'should not work for a redirect and interception' , async ( { page, server} ) => {
60
+ server . setRedirect ( '/foo.html' , '/empty.html' ) ;
61
+ const requests = [ ] ;
62
+ await page . route ( '**' , route => {
63
+ requests . push ( route . request ( ) ) ;
64
+ route . continue ( ) ;
65
+ } ) ;
66
+ await page . goto ( server . PREFIX + '/foo.html' ) ;
67
+
68
+ expect ( page . url ( ) ) . toBe ( server . PREFIX + '/empty.html' ) ;
69
+
70
+ expect ( requests . length ) . toBe ( 1 ) ;
71
+ expect ( requests [ 0 ] . url ( ) ) . toBe ( server . PREFIX + '/foo.html' ) ;
72
+ } ) ;
73
+
48
74
it ( 'should return headers' , async ( { page, server, isChromium, isFirefox, isWebKit} ) => {
49
75
const response = await page . goto ( server . EMPTY_PAGE ) ;
50
76
if ( isChromium )
0 commit comments