@@ -104,7 +104,7 @@ describe.skip(WEBKIT)('Permissions', function() {
104104 await context . clearPermissions ( ) ;
105105 expect ( await page . evaluate ( ( ) => window [ 'events' ] ) ) . toEqual ( [ 'prompt' , 'denied' , 'granted' , 'prompt' ] ) ;
106106 } ) ;
107- it ( 'should isolate permissions between browser contexs ' , async ( { page, server, context, browser} ) => {
107+ it ( 'should isolate permissions between browser contexts ' , async ( { page, server, context, browser} ) => {
108108 await page . goto ( server . EMPTY_PAGE ) ;
109109 const otherContext = await browser . newContext ( ) ;
110110 const otherPage = await otherContext . newPage ( ) ;
@@ -122,4 +122,15 @@ describe.skip(WEBKIT)('Permissions', function() {
122122 expect ( await getPermission ( otherPage , 'geolocation' ) ) . toBe ( 'granted' ) ;
123123 await otherContext . close ( ) ;
124124 } ) ;
125+ it . skip ( FFOX ) ( 'should support clipboard read' , async ( { page, server, context, browser} ) => {
126+ // No such permissions (requires flag) in Firefox
127+ await page . goto ( server . EMPTY_PAGE ) ;
128+ expect ( await getPermission ( page , 'clipboard-read' ) ) . toBe ( 'prompt' ) ;
129+ let error ;
130+ await page . evaluate ( ( ) => navigator . clipboard . readText ( ) ) . catch ( e => error = e ) ;
131+ expect ( error . toString ( ) ) . toContain ( 'denied' ) ;
132+ await context . grantPermissions ( [ 'clipboard-read' ] ) ;
133+ expect ( await getPermission ( page , 'clipboard-read' ) ) . toBe ( 'granted' ) ;
134+ await page . evaluate ( ( ) => navigator . clipboard . readText ( ) ) ;
135+ } ) ;
125136} ) ;
0 commit comments