Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 (async function(testRunner) { | |
| 2 let {page, session, dp} = await testRunner.startBlank(``); | |
| 3 | |
| 4 await session.evaluate(` | |
| 5 var logs = []; | |
| 6 function log(text) { | |
| 7 logs.push(text); | |
| 8 } | |
| 9 | |
| 10 const expectedEventCount = 5; | |
|
allada
2017/06/26 22:02:53
lets un-const this and set it to -1.
dgozman
2017/06/26 23:22:07
Done.
| |
| 11 var eventCount = 0; | |
| 12 var resolve; | |
| 13 var gotEventsPromise = new Promise(f => resolve = f); | |
| 14 | |
| 15 function logEvent(event) { | |
| 16 event.preventDefault(); | |
|
allada
2017/06/26 22:02:53
Lets add an assert here like:
console.assert(expe
dgozman
2017/06/26 23:22:07
I am a bit hesitant on this - expecting flakes due
| |
| 17 log('-----Event-----'); | |
| 18 log('type: ' + event.type); | |
| 19 if (event.shiftKey) | |
| 20 log('shiftKey'); | |
| 21 log('----Touches----'); | |
| 22 for (var i = 0; i < event.touches.length; i++) { | |
| 23 var touch = event.touches[i]; | |
| 24 log('id: ' + i); | |
| 25 log('pageX: ' + touch.pageX); | |
| 26 log('pageY: ' + touch.pageY); | |
| 27 log('radiusX: ' + touch.radiusX); | |
| 28 log('radiusY: ' + touch.radiusY); | |
| 29 log('rotationAngle: ' + touch.rotationAngle); | |
| 30 log('force: ' + touch.force); | |
| 31 } | |
| 32 eventCount++; | |
| 33 if (eventCount === expectedEventCount) | |
| 34 resolve(logs.join('\\n')); | |
| 35 } | |
| 36 | |
| 37 window.addEventListener('touchstart', logEvent, {passive: false}); | |
| 38 window.addEventListener('touchmove', logEvent, {passive: false}); | |
| 39 window.addEventListener('touchend', logEvent); | |
| 40 window.addEventListener('touchcancel', logEvent); | |
| 41 `); | |
| 42 | |
| 43 var events = [ | |
| 44 { | |
| 45 'type': 'mousePressed', | |
| 46 'button': 'left', | |
| 47 'clickCount': 1, | |
| 48 'x': 100, | |
| 49 'y': 200 | |
| 50 }, | |
| 51 { | |
| 52 'type': 'mouseMoved', | |
| 53 'button': 'left', | |
| 54 'clickCount': 1, | |
| 55 'x': 100, | |
| 56 'y': 250 | |
| 57 }, | |
| 58 { | |
| 59 'type': 'mouseReleased', | |
| 60 'button': 'left', | |
| 61 'clickCount': 1, | |
| 62 'x': 100, | |
| 63 'y': 250 | |
| 64 }, | |
| 65 { | |
| 66 'type': 'mouseMoved', | |
|
allada
2017/06/26 22:02:53
Add comment here saying something like:
// Should
dgozman
2017/06/26 23:22:07
Done.
| |
| 67 'button': 'none', | |
| 68 'modifiers': 8, // shift | |
| 69 'x': 50, | |
| 70 'y': 150 | |
| 71 }, | |
| 72 { | |
| 73 'type': 'mousePressed', | |
| 74 'button': 'left', | |
| 75 'clickCount': 1, | |
| 76 'x': 100, | |
| 77 'y': 200 | |
| 78 }, | |
| 79 { | |
| 80 'type': 'mouseMoved', | |
| 81 'button': 'left', | |
| 82 'clickCount': 1, | |
| 83 'x': 100, | |
| 84 'y': 250 | |
| 85 }, | |
| 86 { | |
| 87 'type': 'mouseReleased', | |
| 88 'button': 'left', | |
| 89 'clickCount': 1, | |
| 90 'x': 100, | |
| 91 'y': 250 | |
| 92 } | |
| 93 ]; | |
| 94 | |
|
allada
2017/06/26 22:02:53
lets add:
await session.evaluateAsync('expectedEv
dgozman
2017/06/26 23:22:07
Nice idea! Done.
| |
| 95 await dp.Page.enable(); | |
| 96 await dp.Page.setTouchEmulationEnabled({enabled: true}); | |
| 97 | |
| 98 var time = Number(new Date()) / 1000; | |
| 99 for (var index = 0; index < events.length; index++) { | |
| 100 var event = events[index]; | |
| 101 event.timestamp = time + index; | |
| 102 var msg = await dp.Input.emulateTouchFromMouseEvent(event); | |
| 103 if (msg.error) | |
| 104 testRunner.log('Error: ' + msg.error.message); | |
| 105 } | |
| 106 | |
| 107 testRunner.log(await session.evaluateAsync('gotEventsPromise')); | |
| 108 testRunner.completeTest(); | |
| 109 }) | |
| OLD | NEW |