@qooxdoo/framework
Version:
The JS Framework for Coders
93 lines (66 loc) • 2.36 kB
JavaScript
/* ************************************************************************
qooxdoo - the new era of web development
http://qooxdoo.org
Copyright:
2004-2016 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:
* Christian Hagendorn (chris_schmidt)
************************************************************************ */
qx.Class.define("qx.test.ui.core.Spacer", {
extend: qx.dev.unit.TestCase,
include: qx.dev.unit.MMock,
members: {
tearDown() {
// Restore all stubs, spies and overridden host objects.
this.getSandbox().restore();
},
testConstructor() {
var spacer = new qx.ui.core.Spacer();
this.assertEquals(0, spacer.getWidth());
this.assertEquals(0, spacer.getHeight());
// cleanup memory
spacer.destroy();
},
testConstructorWithParams() {
var spacer = new qx.ui.core.Spacer(100, 200);
this.assertEquals(100, spacer.getWidth());
this.assertEquals(200, spacer.getHeight());
// cleanup memory
spacer.destroy();
},
testDestroy() {
this.spy(qx.ui.core.queue.Dispose, "add");
var spacer = new qx.ui.core.Spacer();
spacer.destroy();
this.assertCalledOnce(qx.ui.core.queue.Dispose.add);
this.assertCalledWith(qx.ui.core.queue.Dispose.add, spacer);
},
testDestroyOnAlreadyDestroyed() {
var spacer = new qx.ui.core.Spacer();
// destroy it and flush the dispose queue
spacer.destroy();
qx.ui.core.queue.Dispose.flush();
// add spy now, otherwise the previous destroy call is counted
this.spy(qx.ui.core.queue.Dispose, "add");
// now test it
spacer.destroy();
this.assertNotCalled(qx.ui.core.queue.Dispose.add);
},
testDestroyWithParent() {
var layout = new qx.ui.layout.HBox();
var container = new qx.ui.container.Composite(layout);
var spacer = new qx.ui.core.Spacer();
container.add(spacer);
this.spy(container, "_remove");
spacer.destroy();
this.assertCalledOnce(container._remove);
this.assertCalledWith(container._remove, spacer);
// cleanup memory
container.destroy();
layout.dispose();
}
}
});