slimerjs-firefox
Version:
This repo includes slimerjs as well as downloads a local copy of Firefox.
1,078 lines (1,000 loc) • 135 kB
JavaScript
describe("webpage.sendEvent", function() {
var modifier = {
shift: 0x02000000,
ctrl: 0x04000000,
alt: 0x08000000,
meta: 0x10000000,
keypad: 0x20000000
};
var webpage;
var url = "http://127.0.0.1:8083/charcode.html";
beforeEach(function() {
if (webpage) {
return;
}
webpage = require("webpage").create();
});
function retrieveKeyCode(){
var r = [result,
document.getElementById('txt').value
];
return r;
}
function resetKeyCode(){
clearK();
}
function resetKeyCodeAndInit(){
clearK();
var t = document.getElementById('txt')
t.value='abc';
t.focus();
t.selectionStart = t.selectionEnd = 1;
}
var r, key, input;
function readResult() {
r = webpage.evaluate(retrieveKeyCode);
key = r[0]
input = r[1]
}
it("tests wait after page loading",function() {
var loaded = false;
runs(function() {
webpage.open(url, function(success){
loaded = true;
});
});
waitsFor(function(){ return loaded;}, 1000);
runs(function(){
readResult()
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
expect(input).toEqual("");
})
});
// ----------------------------------------------- printable keycode: keydown
it("send keydown event with a keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keydown", webpage.event.key.A);
readResult();
expect(key.keydownK).toEqual(65);
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(65); // value with phantomjs is 65
expect(key.keypressC).toEqual(65); // value with phantomjs is 65
//expect(key.keypressK).toEqual(-1); // value with phantomjs is 65
//expect(key.keypressC).toEqual(-1); // value with phantomjs is 65
// -> phantomjs generates a keypress event when we send a keydown event: inconsistent
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("A"); // phantomjs generate "A" (because of keypress event..)
//expect(input).toEqual(""); // phantomjs generate "A" (because of keypress event..)
expect(key.keypressAlt).toEqual(false);
expect(key.keypressShift).toEqual(false);
expect(key.keypressCtrl).toEqual(false);
expect(key.keypressMeta).toEqual(false);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keydown event with shift+keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keydown", webpage.event.key.A, null, null, modifier.shift);
readResult();
expect(key.keydownK).toEqual(65);
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(65); // value with phantomjs is 65
expect(key.keypressC).toEqual(65); // value with phantomjs is 65
//expect(key.keypressK).toEqual(-1); // value with phantomjs is 65
//expect(key.keypressC).toEqual(-1); // value with phantomjs is 65
// -> phantomjs generates a keypress event when we send a keydown event: inconsistent
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("A"); // phantomjs generate "A" (because of keypress event..)
//expect(input).toEqual(""); // phantomjs generate "A" (because of keypress event..)
expect(key.keypressAlt).toEqual(false);
expect(key.keypressShift).toEqual(true);
//expect(key.keypressShift)..toEqual(false);
// -> result is true with phantomjs because of the unexpected keypress event
expect(key.keypressCtrl).toEqual(false);
expect(key.keypressMeta).toEqual(false);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(true);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keydown event with ctrl+keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keydown", webpage.event.key.A, null, null, modifier.ctrl);
readResult();
expect(key.keydownK).toEqual(65);
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(true);
expect(key.keydownMeta).toEqual(false);
});
it("send keydown event with alt+keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keydown", webpage.event.key.A, null, null, modifier.alt);
readResult();
expect(key.keydownK).toEqual(65);
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(65); // value with phantomjs is 65
expect(key.keypressC).toEqual(65); // value with phantomjs is 65
//expect(key.keypressK).toEqual(-1); // value with phantomjs is 65
//expect(key.keypressC).toEqual(-1); // value with phantomjs is 65
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(true);
//expect(key.keypressAlt).toEqual(false);
// -> result is true with phantomjs because of the unexpected keypress event
expect(key.keypressShift).toEqual(false);
expect(key.keypressCtrl).toEqual(false);
expect(key.keypressMeta).toEqual(false)
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(true);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keydown event with ctrl+shift+keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keydown", webpage.event.key.A, null, null, modifier.ctrl | modifier.shift);
readResult();
expect(key.keydownK).toEqual(65);
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(65); // value with phantomjs is 65
expect(key.keypressC).toEqual(65); // value with phantomjs is 65
//expect(key.keypressK).toEqual(-1); // value with phantomjs is 65
//expect(key.keypressC).toEqual(-1); // value with phantomjs is 65
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(false);
expect(key.keypressShift).toEqual(true);
expect(key.keypressCtrl).toEqual(true);
expect(key.keypressMeta).toEqual(false);
//expect(key.keypressAlt).toEqual(-1);
//expect(key.keypressShift).toEqual(-1);
//expect(key.keypressCtrl).toEqual(-1);
//expect(key.keypressMeta).toEqual(-1);
// -> result is true with phantomjs because of the unexpected keypress event
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(true);
expect(key.keydownCtrl).toEqual(true);
expect(key.keydownMeta).toEqual(false);
});
// ----------------------------------------------- printable keycode: keypress
it("send keypress event with a keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keypress", webpage.event.key.A);
readResult();
expect(key.keydownK).toEqual(65); // value with phantomjs is 65
expect(key.keydownC).toEqual(0); // value with phantomjs is 0
expect(key.keypressK).toEqual(65); // value with phantomjs is 65
// expect(key.keydownK).toEqual(-1); // value with phantomjs is 65
// expect(key.keydownC).toEqual(-1); // value with phantomjs is 0
// expect(key.keypressK).toEqual(0); // value with phantomjs is 65
expect(key.keypressC).toEqual(65);
expect(key.keyupK).toEqual(65);// value with phantomjs is 65
expect(key.keyupC).toEqual(0);// value with phantomjs is 0
// expect(key.keyupK).toEqual(-1);// value with phantomjs is 65
// expect(key.keyupC).toEqual(-1);// value with phantomjs is 0
// --> phantomjs generates a keydown + keyup event when we send a keypress event: inconsistent for a single char
expect(input).toEqual("A");
expect(key.keypressAlt).toEqual(false);
expect(key.keypressShift).toEqual(false);
expect(key.keypressCtrl).toEqual(false);
expect(key.keypressMeta).toEqual(false);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keypress event with shift + keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keypress", webpage.event.key.A, null, null, modifier.shift);
readResult();
expect(key.keydownK).toEqual(65); // value with phantomjs is 65
expect(key.keydownC).toEqual(0); // value with phantomjs is 0
expect(key.keypressK).toEqual(65); // value with phantomjs is 65
// expect(key.keydownK).toEqual(-1); // value with phantomjs is 65
// expect(key.keydownC).toEqual(-1); // value with phantomjs is 0
// expect(key.keypressK).toEqual(0); // value with phantomjs is 65
expect(key.keypressC).toEqual(65);
expect(key.keyupK).toEqual(65);// value with phantomjs is 65
expect(key.keyupC).toEqual(0);// value with phantomjs is 0
// expect(key.keyupK).toEqual(-1);// value with phantomjs is 65
// expect(key.keyupC).toEqual(-1);// value with phantomjs is 0
// --> phantomjs generates a keydown + keyup event when we send a keypress event: inconsistent for a single char
expect(input).toEqual("A");
expect(key.keypressAlt).toEqual(false);
expect(key.keypressShift).toEqual(true);
expect(key.keypressCtrl).toEqual(false);
expect(key.keypressMeta).toEqual(false);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(true);
//expect(key.keyupShift).toEqual(false);
// -> result is true with phantomjs because of the unexpected keyup event
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(true);
//expect(key.keydownShift).toEqual(false);
// -> result is true with phantomjs because of the unexpected keydown event
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keypress event with alt + keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keypress", webpage.event.key.A, null, null, modifier.alt);
readResult();
expect(key.keydownK).toEqual(65); // value with phantomjs is 65
expect(key.keydownC).toEqual(0); // value with phantomjs is 0
expect(key.keypressK).toEqual(65); // value with phantomjs is 65
// expect(key.keydownK).toEqual(-1); // value with phantomjs is 65
// expect(key.keydownC).toEqual(-1); // value with phantomjs is 0
// expect(key.keypressK).toEqual(0); // value with phantomjs is 65
expect(key.keypressC).toEqual(65);
expect(key.keyupK).toEqual(65);// value with phantomjs is 65
expect(key.keyupC).toEqual(0);// value with phantomjs is 0
// expect(key.keyupK).toEqual(-1);// value with phantomjs is 65
// expect(key.keyupC).toEqual(-1);// value with phantomjs is 0
// --> phantomjs generates a keydown + keyup event when we send a keypress event: inconsistent for a single char
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(true);
expect(key.keypressShift).toEqual(false);
expect(key.keypressCtrl).toEqual(false);
expect(key.keypressMeta).toEqual(false);
expect(key.keyupAlt).toEqual(true);
//expect(key.keyupAlt).toEqual(false);
// -> result is true with phantomjs because of the unexpected keyup event
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(true);
//expect(key.keydownAlt).toEqual(false);
// -> result is true with phantomjs because of the unexpected keydown event
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keypress event with ctrl + keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keypress", webpage.event.key.A, null, null, modifier.ctrl);
readResult();
expect(key.keydownK).toEqual(65); // value with phantomjs is 65
expect(key.keydownC).toEqual(0); // value with phantomjs is 0
expect(key.keypressK).toEqual(-1); // value with phantomjs is 65
// expect(key.keydownK).toEqual(-1); // value with phantomjs is 65
// expect(key.keydownC).toEqual(-1); // value with phantomjs is 0
// expect(key.keypressK).toEqual(0); // value with phantomjs is -1
expect(key.keypressC).toEqual(-1);
//expect(key.keypressC).toEqual(65); // value with phantomjs is -1
// phantomjs doesn't generate a keypress event ??!!
expect(key.keyupK).toEqual(65);// value with phantomjs is 65
expect(key.keyupC).toEqual(0);// value with phantomjs is 0
// expect(key.keyupK).toEqual(-1);// value with phantomjs is 65
// expect(key.keyupC).toEqual(-1);// value with phantomjs is 0
// --> phantomjs generates a keydown + keyup event when we send a keypress event: inconsistent for a single char
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
//expect(key.keypressAlt).toEqual(false); // value with phantomjs is -1
//expect(key.keypressShift).toEqual(false); // value with phantomjs is -1
//expect(key.keypressCtrl).toEqual(true); // value with phantomjs is -1
//expect(key.keypressMeta).toEqual(false);// value with phantomjs is -1
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(true);
//expect(key.keyupCtrl).toEqual(false);
// -> result is true with phantomjs because of the unexpected keyup event
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(true);
//expect(key.keydownCtrl).toEqual(false);
// -> result is true with phantomjs because of the unexpected keydown event
expect(key.keydownMeta).toEqual(false);
});
it("send keypress event with ctrl + shift + keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keypress", webpage.event.key.A, null, null, modifier.ctrl | modifier.shift);
readResult();
expect(key.keydownK).toEqual(65); // value with phantomjs is 65
expect(key.keydownC).toEqual(0); // value with phantomjs is 0
expect(key.keypressK).toEqual(65); // value with phantomjs is 65
// expect(key.keydownK).toEqual(-1); // value with phantomjs is 65
// expect(key.keydownC).toEqual(-1); // value with phantomjs is 0
// expect(key.keypressK).toEqual(0); // value with phantomjs is -1
expect(key.keypressC).toEqual(65);
//expect(key.keypressC).toEqual(65); // value with phantomjs is -1
// phantomjs doesn't generate a keypress event ??!!
expect(key.keyupK).toEqual(65);// value with phantomjs is 65
expect(key.keyupC).toEqual(0);// value with phantomjs is 0
// expect(key.keyupK).toEqual(-1);// value with phantomjs is 65
// expect(key.keyupC).toEqual(-1);// value with phantomjs is 0
// --> phantomjs generates a keydown + keyup event when we send a keypress event: inconsistent for a single char
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(false);
expect(key.keypressShift).toEqual(true);
expect(key.keypressCtrl).toEqual(true);
expect(key.keypressMeta).toEqual(false);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(true);
expect(key.keyupCtrl).toEqual(true);
//expect(key.keyupShift).toEqual(false);
//expect(key.keyupCtrl).toEqual(false);
// -> result is true with phantomjs because of the unexpected keyup event
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(true);
expect(key.keydownCtrl).toEqual(true);
//expect(key.keydownShift).toEqual(false);
//expect(key.keydownCtrl).toEqual(false);
// -> result is true with phantomjs because of the unexpected keydown event
expect(key.keydownMeta).toEqual(false);
});
// ----------------------------------------------- printable keycode: keyup
it("send keyup event with a keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keyup", webpage.event.key.A);
readResult();
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(65);
expect(key.keyupC).toEqual(0);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
});
it("send keyup event with shift + keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keyup", webpage.event.key.A, null, null, modifier.shift);
readResult();
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(65);
expect(key.keyupC).toEqual(0);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(true);
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
});
it("send keyup event with alt + keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keyup", webpage.event.key.A, null, null, modifier.alt);
readResult();
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(65);
expect(key.keyupC).toEqual(0);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(true);
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
});
it("send keyup event with ctrl + keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keyup", webpage.event.key.A, null, null, modifier.ctrl);
readResult();
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(65);
expect(key.keyupC).toEqual(0);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(true);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
});
it("send keyup event with shift + ctrl + keycode of a printable char",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keyup", webpage.event.key.A, null, null, modifier.ctrl | modifier.shift);
readResult();
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(65);
expect(key.keyupC).toEqual(0);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(true);
expect(key.keyupCtrl).toEqual(true);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
});
// ----------------------------------------------- non-printable keycode: keydown
it("send keydown event with a keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit)
webpage.sendEvent("keydown", webpage.event.key.Delete);
readResult()
expect(key.keydownK).toEqual(46);
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("ac"); // value with phantomjs is ac
// expect(input).toEqual("abc"); // value with phantomjs is ac
// -> it should not delete the character since keypress is not already sent
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keydown event with shift + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit)
webpage.sendEvent("keydown", webpage.event.key.Delete, null, null, modifier.shift);
readResult()
expect(key.keydownK).toEqual(46);
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("abc");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(true);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keydown event with alt + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit)
webpage.sendEvent("keydown", webpage.event.key.Delete, null, null, modifier.alt);
readResult()
expect(key.keydownK).toEqual(46);
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("abc");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(true);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keydown event with ctrl + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit)
webpage.sendEvent("keydown", webpage.event.key.Delete, null, null, modifier.ctrl);
readResult()
expect(key.keydownK).toEqual(46);
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("a");
//expect(input).toEqual("abc"); // value with phantomjs is "a"
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(true);
expect(key.keydownMeta).toEqual(false);
});
it("send keydown event with shift + ctrl + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit)
webpage.sendEvent("keydown", webpage.event.key.Delete, null, null, modifier.ctrl | modifier.shift);
readResult()
expect(key.keydownK).toEqual(46);
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("abc");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(true);
expect(key.keydownCtrl).toEqual(true);
expect(key.keydownMeta).toEqual(false);
});
// ----------------------------------------------- non-printable keycode: keypress
it("send keypress event with a keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit);
webpage.sendEvent("keypress", webpage.event.key.Delete);
readResult()
expect(key.keydownK).toEqual(46); // value with phantomjs is 46
expect(key.keydownC).toEqual(0); // value with phantomjs is 0
expect(key.keypressK).toEqual(-1);// value with phantomjs is -1
expect(key.keypressC).toEqual(-1); // value with phantomjs is -1
expect(key.keyupK).toEqual(46); // value with phantomjs is 46
expect(key.keyupC).toEqual(0); // value with phantomjs is 0
/* expect(key.keydownK).toEqual(-1); // value with phantomjs is 46
expect(key.keydownC).toEqual(-1); // value with phantomjs is 0
expect(key.keypressK).toEqual(46);// value with phantomjs is -1
expect(key.keypressC).toEqual(0); // value with phantomjs is -1
expect(key.keyupK).toEqual(-1); // value with phantomjs is 46
expect(key.keyupC).toEqual(-1); // value with phantomjs is 0*/
// -> phantomjs generates a keydown + keyup event when we send a keypress event: inconsistent
expect(input).toEqual("ac");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
/*expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);*/
});
it("send keypress event with shift + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit);
webpage.sendEvent("keypress", webpage.event.key.Delete, null, null, modifier.shift);
readResult()
expect(key.keydownK).toEqual(46); // value with phantomjs is 46
expect(key.keydownC).toEqual(0); // value with phantomjs is 0
expect(key.keypressK).toEqual(-1);// value with phantomjs is -1
expect(key.keypressC).toEqual(-1); // value with phantomjs is -1
expect(key.keyupK).toEqual(46); // value with phantomjs is 46
expect(key.keyupC).toEqual(0); // value with phantomjs is 0
/* expect(key.keydownK).toEqual(-1); // value with phantomjs is 46
expect(key.keydownC).toEqual(-1); // value with phantomjs is 0
expect(key.keypressK).toEqual(46);// value with phantomjs is -1
expect(key.keypressC).toEqual(0); // value with phantomjs is -1
expect(key.keyupK).toEqual(-1); // value with phantomjs is 46
expect(key.keyupC).toEqual(-1); // value with phantomjs is 0*/
// -> phantomjs generates a keydown + keyup event when we send a keypress event: inconsistent
expect(input).toEqual("abc");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
//expect(key.keypressShift).toEqual(true); // value with phantomjs is false
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(true);
//expect(key.keyupShift).toEqual(false); // value with phantomjs is true
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(true);
//expect(key.keydownShift).toEqual(false);// value with phantomjs is true
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keypress event with alt + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit);
webpage.sendEvent("keypress", webpage.event.key.Delete, null, null, modifier.alt);
readResult()
expect(key.keydownK).toEqual(46); // value with phantomjs is 46
expect(key.keydownC).toEqual(0); // value with phantomjs is 0
expect(key.keypressK).toEqual(-1);// value with phantomjs is -1
expect(key.keypressC).toEqual(-1); // value with phantomjs is -1
expect(key.keyupK).toEqual(46); // value with phantomjs is 46
expect(key.keyupC).toEqual(0); // value with phantomjs is 0
/* expect(key.keydownK).toEqual(-1); // value with phantomjs is 46
expect(key.keydownC).toEqual(-1); // value with phantomjs is 0
expect(key.keypressK).toEqual(46);// value with phantomjs is -1
expect(key.keypressC).toEqual(0); // value with phantomjs is -1
expect(key.keyupK).toEqual(-1); // value with phantomjs is 46
expect(key.keyupC).toEqual(-1); // value with phantomjs is 0*/
// -> phantomjs generates a keydown + keyup event when we send a keypress event: inconsistent
expect(input).toEqual("abc");
//expect(input).toEqual("ac"); // value with phantomjs is
expect(key.keypressAlt).toEqual(-1);
//expect(key.keypressAlt).toEqual(true);// value with phantomjs is false
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(true);
//expect(key.keyupAlt).toEqual(false);// value with phantomjs is true
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(true);
//expect(key.keydownAlt).toEqual(false);// value with phantomjs is true
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keypress event with ctrl + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit);
webpage.sendEvent("keypress", webpage.event.key.Delete, null, null, modifier.ctrl);
readResult()
expect(key.keydownK).toEqual(46); // value with phantomjs is 46
expect(key.keydownC).toEqual(0); // value with phantomjs is 0
expect(key.keypressK).toEqual(-1);// value with phantomjs is -1
expect(key.keypressC).toEqual(-1); // value with phantomjs is -1
expect(key.keyupK).toEqual(46); // value with phantomjs is 46
expect(key.keyupC).toEqual(0); // value with phantomjs is 0
/* expect(key.keydownK).toEqual(-1); // value with phantomjs is 46
expect(key.keydownC).toEqual(-1); // value with phantomjs is 0
expect(key.keypressK).toEqual(46);// value with phantomjs is -1
expect(key.keypressC).toEqual(0); // value with phantomjs is -1
expect(key.keyupK).toEqual(-1); // value with phantomjs is 46
expect(key.keyupC).toEqual(-1); // value with phantomjs is 0*/
// -> phantomjs generates a keydown + keyup event when we send a keypress event: inconsistent
expect(input).toEqual("a");
//expect(input).toEqual("ac"); // value with phantomjs is "a"
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
//expect(key.keypressCtrl).toEqual(true); // value with phantomjs is -1
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(true);
//expect(key.keyupCtrl).toEqual(false); // value with phantomjs is true
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(true);
//expect(key.keydownCtrl).toEqual(false); // value with phantomjs is true
expect(key.keydownMeta).toEqual(false);
});
it("send keypress event with shift + ctrl + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit);
webpage.sendEvent("keypress", webpage.event.key.Delete, null, null, modifier.ctrl | modifier.shift);
readResult()
expect(key.keydownK).toEqual(46); // value with phantomjs is 46
expect(key.keydownC).toEqual(0); // value with phantomjs is 0
expect(key.keypressK).toEqual(-1);// value with phantomjs is -1
expect(key.keypressC).toEqual(-1); // value with phantomjs is -1
expect(key.keyupK).toEqual(46); // value with phantomjs is 46
expect(key.keyupC).toEqual(0); // value with phantomjs is 0
/* expect(key.keydownK).toEqual(-1); // value with phantomjs is 46
expect(key.keydownC).toEqual(-1); // value with phantomjs is 0
expect(key.keypressK).toEqual(46);// value with phantomjs is -1
expect(key.keypressC).toEqual(0); // value with phantomjs is -1
expect(key.keyupK).toEqual(-1); // value with phantomjs is 46
expect(key.keyupC).toEqual(-1); // value with phantomjs is 0*/
// -> phantomjs generates a keydown + keyup event when we send a keypress event: inconsistent
expect(input).toEqual("abc");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
//expect(key.keypressCtrl).toEqual(true); // value with phantomjs is false
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(true);
expect(key.keyupCtrl).toEqual(true);
//expect(key.keyupCtrl).toEqual(false); // value with phantomjs is true
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(true);
expect(key.keydownCtrl).toEqual(true);
//expect(key.keydownCtrl).toEqual(false); // value with phantomjs is true
expect(key.keydownMeta).toEqual(false);
});
// ----------------------------------------------- non-printable keycode: keyup
it("send keyup event with a keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit);
webpage.sendEvent("keyup", webpage.event.key.Delete);
readResult()
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(46);
expect(key.keyupC).toEqual(0);
expect(input).toEqual("abc");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
});
it("send keyup event with shift + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit);
webpage.sendEvent("keyup", webpage.event.key.Delete, null, null, modifier.shift);
readResult()
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(46);
expect(key.keyupC).toEqual(0);
expect(input).toEqual("abc");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(true);
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
});
it("send keyup event with alt + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit);
webpage.sendEvent("keyup", webpage.event.key.Delete, null, null, modifier.alt);
readResult()
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(46);
expect(key.keyupC).toEqual(0);
expect(input).toEqual("abc");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(true);
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(false);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
});
it("send keyup event with ctrl + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit);
webpage.sendEvent("keyup", webpage.event.key.Delete, null, null, modifier.ctrl);
readResult()
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(46);
expect(key.keyupC).toEqual(0);
expect(input).toEqual("abc");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(false);
expect(key.keyupCtrl).toEqual(true);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
});
it("send keyup event with shift +ctrl + keycode of a non-printable char",function(done) {
webpage.evaluate(resetKeyCodeAndInit);
webpage.sendEvent("keyup", webpage.event.key.Delete, null, null, modifier.ctrl | modifier.shift);
readResult()
expect(key.keydownK).toEqual(-1);
expect(key.keydownC).toEqual(-1);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(46);
expect(key.keyupC).toEqual(0);
expect(input).toEqual("abc");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(false);
expect(key.keyupShift).toEqual(true);
expect(key.keyupCtrl).toEqual(true);
expect(key.keyupMeta).toEqual(false);
expect(key.keydownAlt).toEqual(-1);
expect(key.keydownShift).toEqual(-1);
expect(key.keydownCtrl).toEqual(-1);
expect(key.keydownMeta).toEqual(-1);
});
// ----------------------------------------------- no DOM Keycode equivalent: keydown
it("send keydown event with a keycode that don't match DOM keycode",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keydown", webpage.event.key.Ocircumflex);
readResult()
expect(key.keydownK).toEqual(0); // FIXME it should equal to a keycode, depending of the keyboard layout
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(false);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keydown event with shift + keycode that don't match DOM keycode",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keydown", webpage.event.key.Ocircumflex, null, null, modifier.shift);
readResult()
expect(key.keydownK).toEqual(0); // FIXME it should equal to a keycode, depending of the keyboard layout
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.keyupMeta).toEqual(-1);
expect(key.keydownAlt).toEqual(false);
expect(key.keydownShift).toEqual(true);
expect(key.keydownCtrl).toEqual(false);
expect(key.keydownMeta).toEqual(false);
});
it("send keydown event with alt + keycode that don't match DOM keycode",function(done) {
webpage.evaluate(resetKeyCode);
webpage.sendEvent("keydown", webpage.event.key.Ocircumflex, null, null, modifier.alt);
readResult()
expect(key.keydownK).toEqual(0); // FIXME it should equal to a keycode, depending of the keyboard layout
expect(key.keydownC).toEqual(0);
expect(key.keypressK).toEqual(-1);
expect(key.keypressC).toEqual(-1);
expect(key.keyupK).toEqual(-1);
expect(key.keyupC).toEqual(-1);
expect(input).toEqual("");
expect(key.keypressAlt).toEqual(-1);
expect(key.keypressShift).toEqual(-1);
expect(key.keypressCtrl).toEqual(-1);
expect(key.keypressMeta).toEqual(-1);
expect(key.keyupAlt).toEqual(-1);
expect(key.keyupShift).toEqual(-1);
expect(key.keyupCtrl).toEqual(-1);
expect(key.ke