@qooxdoo/framework
Version:
The JS Framework for Coders
74 lines (57 loc) • 2 kB
JavaScript
/* ************************************************************************
qooxdoo - the new era of web development
http://qooxdoo.org
Copyright:
2009 1&1 Internet AG, Germany, http://www.1und1.de
License:
MIT: https://opensource.org/licenses/MIT
See the LICENSE file in the project's top-level directory for details.
Authors:
* Gabriel Munteanu (gabios)
************************************************************************ */
qx.Class.define("qx.test.event.dispatch.MouseEventOnDocument", {
extend: qx.dev.unit.TestCase,
members: {
setUp() {
this.root = qx.dom.Element.create("div", { id: "root" });
document.body.appendChild(this.root);
this.ringAppender = new qx.log.appender.RingBuffer();
qx.log.Logger.register(this.ringAppender);
},
tearDown() {
qx.log.Logger.unregister(this.ringAppender);
qx.log.Logger.clear();
this.ringAppender = null;
var Reg = qx.event.Registration;
Reg.removeAllListeners(document);
Reg.removeAllListeners(window);
Reg.removeAllListeners(this.root);
document.body.removeChild(document.getElementById("root"));
},
testMouseEventsOnDocument() {
this.doWork(document);
},
testMouseEventsOnWindow() {
this.doWork(window);
},
testMouseEventsOnDomNode() {
this.doWork(this.root);
},
doWork(el) {
if (qx.core.Environment.get("qx.debug")) {
this.ringAppender.clear();
var events = ["mousemove", "click", "mousedown", "mouseup"];
for (var i = 0; i < events.length; i++) {
qx.bom.Element.addListener(el, events[i], function () {});
}
var warnings = this.ringAppender.getAllLogEvents().length;
this.assertTrue(
0 === warnings,
warnings +
" events in ['mousemove','click','mousedown','mouseup'] generated a warning when added to target " +
el
);
}
}
}
});