Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/inspector-protocol/input/dispatchMouseEvent.js |
| diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/input/dispatchMouseEvent.js b/third_party/WebKit/LayoutTests/inspector-protocol/input/dispatchMouseEvent.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f412b7709542bb621803510c4fd4a26007801df9 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/inspector-protocol/input/dispatchMouseEvent.js |
| @@ -0,0 +1,72 @@ |
| +(async function(testRunner) { |
| + let {page, session, dp} = await testRunner.startBlank(``); |
| + |
| + await session.evaluate(` |
| + var logs = []; |
| + function log(text) { |
| + logs.push(text); |
| + } |
| + |
| + function logEvent(event) { |
| + log('-----Event-----'); |
| + log('type: ' + event.type); |
| + log('button: ' + event.button); |
| + if (event.shiftKey) |
| + log('shiftKey'); |
| + log('x: ' + event.x); |
| + log('y: ' + event.y); |
| + event.preventDefault(); |
| + } |
| + |
| + window.addEventListener('mousedown', logEvent); |
| + window.addEventListener('mouseup', logEvent); |
| + window.addEventListener('mousemove', logEvent); |
|
allada
2017/06/26 22:02:53
This is not relevant to the test, lets remove it.
dgozman
2017/06/26 23:22:07
What do you mean? It's in expectations file.
|
| + window.addEventListener('contextmenu', logEvent); |
| + `); |
| + |
| + var events = [ |
| + { |
| + 'type': 'mousePressed', |
| + 'button': 'left', |
| + 'clickCount': 1, |
| + 'x': 100, |
| + 'y': 200 |
| + }, |
| + { |
| + 'type': 'mouseReleased', |
| + 'button': 'left', |
| + 'clickCount': 1, |
| + 'x': 100, |
| + 'y': 200 |
| + }, |
| + { |
| + 'type': 'mouseMoved', |
| + 'modifiers': 8, // shift |
| + 'x': 50, |
| + 'y': 150 |
| + }, |
| + { |
| + 'type': 'mousePressed', |
| + 'button': 'right', |
| + 'clickCount': 1, |
| + 'x': 100, |
| + 'y': 200 |
| + }, |
| + { |
| + 'type': 'mouseReleased', |
| + 'button': 'right', |
| + 'clickCount': 1, |
| + 'x': 100, |
| + 'y': 200 |
| + } |
| + ]; |
| + |
| + for (var event of events) { |
| + var msg = await dp.Input.dispatchMouseEvent(event); |
| + if (msg.error) |
| + testRunner.log('Error: ' + msg.error.message); |
| + } |
| + |
| + testRunner.log(await session.evaluate(`window.logs.join('\\n')`)); |
| + testRunner.completeTest(); |
| +}) |
|
allada
2017/06/26 22:02:53
nit: semi-colon
dgozman
2017/06/26 23:22:07
Actually, putting semicolon here would break the h
|