20
20
const assert = require ( 'assert' )
21
21
const fileServer = require ( '../../lib/test/fileserver' )
22
22
const firefox = require ( '../../firefox' )
23
- const { ignore, Pages, suite } = require ( '../../lib/test' )
24
- const { Key, Origin } = require ( '../../lib/input' )
25
- const { Browser, By, until } = require ( '../..' )
23
+ const { ignore, Pages, suite} = require ( '../../lib/test' )
24
+ const { Key, Origin} = require ( '../../lib/input' )
25
+ const { Browser, By, until} = require ( '../..' )
26
26
const Input = require ( '../../bidi/input' )
27
27
28
28
suite (
66
66
67
67
const div = await driver . findElement ( By . css ( 'div' ) )
68
68
const rect = await div . getRect ( )
69
- assert . deepStrictEqual ( rect , { width : 500 , height : 500 , x : 0 , y : 0 } )
69
+ assert . deepStrictEqual ( rect , { width : 500 , height : 500 , x : 0 , y : 0 } )
70
70
71
71
const actions = await driver . actions ( ) . click ( div ) . getSequences ( )
72
72
@@ -91,11 +91,11 @@ suite(
91
91
92
92
const div = await driver . findElement ( By . css ( 'div' ) )
93
93
const rect = await div . getRect ( )
94
- assert . deepStrictEqual ( rect , { width : 500 , height : 500 , x : 0 , y : 0 } )
94
+ assert . deepStrictEqual ( rect , { width : 500 , height : 500 , x : 0 , y : 0 } )
95
95
96
96
const actions = await driver
97
97
. actions ( )
98
- . move ( { x : 10 , y : 10 , origin : div } )
98
+ . move ( { x : 10 , y : 10 , origin : div } )
99
99
. click ( )
100
100
. getSequences ( )
101
101
@@ -171,9 +171,9 @@ suite(
171
171
172
172
const actions = await driver
173
173
. actions ( )
174
- . move ( { origin : slide } )
174
+ . move ( { origin : slide } )
175
175
. press ( )
176
- . move ( { x : 100 , y : 100 , origin : Origin . POINTER } )
176
+ . move ( { x : 100 , y : 100 , origin : Origin . POINTER } )
177
177
. release ( )
178
178
. getSequences ( )
179
179
@@ -345,6 +345,34 @@ suite(
345
345
} ,
346
346
)
347
347
348
+ it ( 'can execute release in browsing context' , async function ( ) {
349
+ const browsingContextId = await driver . getWindowHandle ( )
350
+ const input = await Input ( driver )
351
+ await driver . get ( Pages . releaseAction )
352
+
353
+ let inputTextBox = await driver . findElement ( By . id ( 'keys' ) )
354
+
355
+ await driver . executeScript ( 'arguments[0].focus()' , inputTextBox )
356
+
357
+
358
+ const actions = await driver
359
+ . actions ( )
360
+ . keyDown ( 'a' )
361
+ . keyDown ( 'b' )
362
+ . getSequences ( )
363
+
364
+ await input . perform ( browsingContextId , actions )
365
+
366
+ await driver . executeScript ( 'resetEvents()' )
367
+
368
+ await input . release ( browsingContextId )
369
+
370
+ const events = await driver . executeScript ( 'return allEvents.events' )
371
+
372
+ assert . strictEqual ( events [ 0 ] . code , 'KeyB' )
373
+ assert . strictEqual ( events [ 1 ] . code , 'KeyA' )
374
+ } )
375
+
348
376
async function _getEvents ( driver ) {
349
377
await driver . wait ( async ( ) => {
350
378
const events = await driver . executeScript ( 'return allEvents.events;' )
@@ -354,5 +382,5 @@ suite(
354
382
}
355
383
} )
356
384
} ,
357
- { browsers : [ Browser . FIREFOX ] } ,
385
+ { browsers : [ Browser . FIREFOX ] } ,
358
386
)
0 commit comments