Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(281)

Side by Side Diff: third_party/WebKit/LayoutTests/inspector-protocol/input/emulateTouchFromMouseEvent.js

Issue 2961493002: [DevTools] Migrate inspector-protocol/{input,network} tests to new harness (Closed)
Patch Set: minor fixes Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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 var expectedEventCount = -1;
11 var eventCount = 0;
12 var resolve;
13 var gotEventsPromise = new Promise(f => resolve = f);
14
15 function logEvent(event) {
16 event.preventDefault();
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 // Should not produce any touch events.
46 'type': 'mouseMoved',
47 'button': 'none',
48 'modifiers': 8, // shift
49 'x': 50,
50 'y': 150
51 },
52 {
53 'type': 'mousePressed',
54 'button': 'left',
55 'clickCount': 1,
56 'x': 100,
57 'y': 200
58 },
59 {
60 'type': 'mouseMoved',
61 'button': 'left',
62 'clickCount': 1,
63 'x': 100,
64 'y': 250
65 },
66 {
67 'type': 'mouseReleased',
68 'button': 'left',
69 'clickCount': 1,
70 'x': 100,
71 'y': 250
72 },
73 {
74 'type': 'mousePressed',
75 'button': 'left',
76 'clickCount': 1,
77 'x': 100,
78 'y': 200
79 }
80 ];
81
82 await dp.Page.enable();
83 await dp.Page.setTouchEmulationEnabled({enabled: true});
84
85 // Moving mouse while not pressed does not generate touch events.
86 await session.evaluate(`expectedEventCount = ${events.length - 1}`);
87
88 var time = Number(new Date()) / 1000;
89 for (var index = 0; index < events.length; index++) {
90 var event = events[index];
91 event.timestamp = time + index * 100;
92 var msg = await dp.Input.emulateTouchFromMouseEvent(event);
93 if (msg.error)
94 testRunner.log('Error: ' + msg.error.message);
95 }
96
97 testRunner.log(await session.evaluateAsync('gotEventsPromise'));
98 testRunner.completeTest();
99 })
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698