UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

136 lines (109 loc) 3.26 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2007-2008 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: * Fabian Jakobs (fjakobs) ************************************************************************ */ qx.Class.define("qx.test.bom.Element", { extend: qx.dev.unit.TestCase, members: { setUp() { var div = document.createElement("div"); div.id = "el"; this._el = div; document.body.appendChild(div); }, tearDown() { document.body.removeChild(this._el); }, testAddListener() { var listener = function () {}; qx.bom.Element.addListener(this._el, "click", listener, this, false); this.assertTrue(qx.bom.Element.hasListener(this._el, "click", false)); qx.bom.Element.removeListener(this._el, "click", listener, this, false); this.assertFalse(qx.bom.Element.hasListener(this._el, "click", false)); }, testRemoveListenerById() { var id = qx.bom.Element.addListener( this._el, "click", function () {}, this, false ); this.assertTrue(qx.bom.Element.hasListener(this._el, "click", false)); qx.bom.Element.removeListenerById(this._el, id); this.assertFalse(qx.bom.Element.hasListener(this._el, "click", false)); }, testFocus() { qx.event.Registration.addListener( this._el, "focus", function () { this.resume(function () { this.info("Element focused."); }, this); }, this ); var self = this; window.setTimeout(function () { qx.bom.Element.focus(self._el); }, 100); this.wait(); }, testBlur() { qx.event.Registration.addListener( this._el, "blur", function () { this.resume(function () { this.info("Element blurred."); }, this); }, this ); var self = this; window.setTimeout(function () { qx.bom.Element.focus(self._el); qx.bom.Element.blur(self._el); }, 100); this.wait(); }, testActivate() { qx.bom.Element.activate(this._el); this.warn("needs better test!"); }, testDeactivate() { qx.bom.Element.deactivate(this._el); this.warn("needs better test!"); }, testCapture() { qx.bom.Element.capture(this._el); this.warn("needs better test!"); }, testReleaseCapture() { qx.bom.Element.releaseCapture(this._el); this.warn("needs better test!"); }, testClone() { var clone = qx.bom.Element.clone(this._el); this.assertElement(clone, "Cloning of the element failed!"); this.assertEquals( clone.id, "el", "Cloning of the element failed! Attribute 'id' was not cloned." ); this.assertEquals( clone.nodeName.toLowerCase(), "div", "Cloning of the element failed! Different node name." ); } } });