UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

134 lines (103 loc) 3.47 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-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: * Martin Wittemann (martinwittemann) ************************************************************************ */ qx.Class.define("qx.test.ui.form.Executable", { extend : qx.test.ui.LayoutTestCase, members : { __test: function(widget) { // check if the interface is implemented this.assertTrue( qx.Class.hasInterface( widget.constructor, qx.ui.form.IExecutable ), "Interface is not implemented." ); var command = new qx.ui.command.Command(); // check if the setter works widget.setCommand(command); this.assertEquals(command, widget.getCommand(), "Setter / Getter not working."); // check the event and execute method this.assertEventFired(widget, "execute", function() { widget.execute(); }, function(e) { // do nothing }, "Execute event on the widget is wrong! (1)"); this.assertEventFired(command, "execute", function() { widget.execute(); }, function(e) { // do nothing }, "Execute event on the command is wrong! (2)"); this.assertEventFired(command, "execute", function() { command.execute(); }, function(e) { // do nothing }, "Execute event on the command is wrong! (3)"); this.assertEventFired(widget, "execute", function() { command.execute(); }, function(e) { // do nothing }, "Execute event on the widget is wrong! (4)"); // test removing of the command widget.setCommand(null); // check if the listener has been removed this.assertEventNotFired(widget, "execute", function() { command.execute(); }, function(e) { // do nothing }, "Execute event on the widget is wrong! (5)"); command.dispose(); widget.destroy(); }, testToggleButton: function() { this.__test(new qx.ui.form.ToggleButton()); }, testCheckBox: function() { this.__test(new qx.ui.form.CheckBox()); }, testButton: function() { this.__test(new qx.ui.form.Button()); }, testRepeatButton: function() { this.__test(new qx.ui.form.RepeatButton()); }, testMenuButton: function() { this.__test(new qx.ui.form.MenuButton()); }, testRadioButton: function() { this.__test(new qx.ui.form.RadioButton()); }, testToolbarButton: function() { this.__test(new qx.ui.toolbar.Button()); }, testSplitButton: function() { this.__test(new qx.ui.toolbar.SplitButton()); }, testMenuCheckBox: function() { this.__test(new qx.ui.menu.CheckBox()); }, testMenuRadioButton: function() { this.__test(new qx.ui.menu.RadioButton()); }, testButtonInMenu: function() { this.__test(new qx.ui.menu.Button()); }, testCheckGroupBox: function() { this.__test(new qx.ui.groupbox.CheckGroupBox()); }, testRadioGroupBox: function() { this.__test(new qx.ui.groupbox.RadioGroupBox()); }, testDateChooser: function() { this.__test(new qx.ui.control.DateChooser()); } } });