98ee35655f
This patch: - adds Mouse class which holds mouse state and implements mouse primitives, such as moving, button down and button up. - implements high-level mouse api, such as `page.click` and `page.hover`. References #40, References #89
27 lines
909 B
JavaScript
27 lines
909 B
JavaScript
test(function () {
|
|
var page = require('webpage').create();
|
|
|
|
page.evaluate(function() {
|
|
window.addEventListener('mousedown', function(event) {
|
|
window.loggedEvent = window.loggedEvent || [];
|
|
window.loggedEvent.push({clientX: event.clientX, clientY: event.clientY, shiftKey: event.shiftKey});
|
|
}, false);
|
|
});
|
|
|
|
page.sendEvent('mousedown', 42, 217);
|
|
var loggedEvent = page.evaluate(function() {
|
|
return window.loggedEvent;
|
|
});
|
|
assert_equals(loggedEvent.length, 1);
|
|
assert_equals(loggedEvent[0].clientX, 42);
|
|
assert_equals(loggedEvent[0].clientY, 217);
|
|
|
|
page.sendEvent('mousedown', 100, 100, 'left', page.event.modifier.shift);
|
|
loggedEvent = page.evaluate(function() {
|
|
return window.loggedEvent;
|
|
});
|
|
assert_equals(loggedEvent.length, 2);
|
|
assert_is_true(loggedEvent[1].shiftKey);
|
|
|
|
}, "mouse-down events");
|