siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
66 lines (55 loc) • 2.46 kB
JavaScript
StartTest(function(t) {
// weird things happens in native FF
if (t.simulator.type == 'native' && t.bowser.gecko) t.isTodo = true
t.testExtJS(function (t) {
// Nickolay: ALT+SHIFT switches languages on my machine so avoiding them together
function doAssert (e) {
e.preventDefault()
t.ok(e.ctrlKey, 'Ctrl key detected');
t.ok(e.shiftKey, 'Shift key detected');
// unsubscribe after assert to avoid checks for `click` events during double click
Ext.getBody().un(e.type, doAssert)
}
Ext.getBody().on({
click : doAssert,
rightclick : doAssert,
doubleclick : function (e) {
t.ok(e.ctrlKey, 'Ctrl key detected');
t.ok(e.altKey, 'Alt key detected');
}
})
document.addEventListener('contextmenu', function (e) { e.preventDefault() }, true)
// document.body.addEventListener('contextmenu', function (e) { console.log("contextmenu", e) })
// document.body.addEventListener('mousedown', function (e) { console.log("mousedown", e) })
// document.body.addEventListener('mouseup', function (e) { console.log("mouseup", e) })
// document.body.addEventListener('pointerdown', function (e) { console.log("pointerdown", e) })
// document.body.addEventListener('pointerup', function (e) { console.log("pointerup", e) })
// document.body.addEventListener('click', function (e) { console.log("click", e) })
// document.body.addEventListener('dblclick', function (e) { console.log("dblclick", e) })
t.firesOk({
observable : document.body,
events : {
click : 3,
contextmenu : 1,
dblclick : 1
}
})
t.chain(
{
action : 'click',
target : document.body,
options : { shiftKey : true, ctrlKey : true }
},
{
action : 'rightclick',
target : document.body,
options : { shiftKey : true, ctrlKey : true }
},
{
action : 'doubleclick',
target : document.body,
options : { ctrlKey : true, altKey : true }
}
)
});
});