blob: 985d309649c6baa003d7f2868e5873da887cd588 [file] [log] [blame]
(async function(testRunner) {
var {page, session, dp} = await testRunner.startBlank(`Tests default timestamp in Input.emulateTouchFromMouseEvent uses monotonic clock.`);
await session.evaluate(`
var logs = [];
function log(text) {
logs.push(text);
}
var resolve;
var verifyTimestampsPromise = new Promise(f => resolve = f);
var initalTimestamp = performance.now();
function logEvent(event) {
log('-----Event-----');
log('type: ' + event.type); // Should be mousedown
verifyEventTimestamp(event.timeStamp);
}
function verifyEventTimestamp(eventTimestamp) {
log('-----Verify-----');
if (eventTimestamp > initalTimestamp) {
log('Event timestamp is larger than initial timestamp.');
} else {
log('Event timestamp is not larger than initial timestamp.');
}
resolve(logs.join('\\n'));
}
window.addEventListener('touchstart', logEvent, {passive: false});
`);
function dumpError(message) {
if (message.error)
testRunner.fail(message.error.message);
}
await dp.Emulation.setTouchEmulationEnabled({enabled: true});
await dp.Emulation.setEmitTouchEventsForMouse({enabled: true});
// We leave out timestamp as a param so default timestamp would be used.
dumpError(await dp.Input.emulateTouchFromMouseEvent({
type: 'mousePressed',
button: 'left',
clickCount: 1,
x: 100,
y: 200
}));
testRunner.log(await session.evaluateAsync('verifyTimestampsPromise'));
testRunner.completeTest();
})