UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

213 lines (148 loc) 5.56 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.Label", { extend : qx.test.ui.LayoutTestCase, members : { __formWidget: null, __label: null, setUp : function() { this.__label = new qx.ui.basic.Label("abc"); }, tearDown : function() { this.__label.destroy(); this.__formWidget.destroy(); }, __testEnabled: function() { this.__label.setBuddy(this.__formWidget); // check the initial enabled state this.assertTrue(this.__formWidget.getEnabled(), "Form widget is disabled."); this.assertTrue(this.__label.getEnabled(), "Label widget is disabled."); // disable the textfield. Label should be disabled too this.__formWidget.setEnabled(false); // check if both are disabled this.assertFalse(this.__formWidget.getEnabled(), "Form widget is not disabled."); this.assertFalse(this.__label.getEnabled(), "Label widget is not disabled."); // enabled the label, textfield should stay this.__label.setEnabled(true); // check if the enabled properties are still correct this.assertFalse(this.__formWidget.getEnabled(), "Form widget is not disabled at the end."); this.assertTrue(this.__label.getEnabled(), "Label widget is ensabled at the end."); }, __testEnabledRemove: function() { this.__label.setBuddy(this.__formWidget); // disable the textfield. Label should be disabled too this.__formWidget.setEnabled(false); // check if both are disabled this.assertFalse(this.__formWidget.getEnabled(), "Form widget is not disabled."); this.assertFalse(this.__label.getEnabled(), "Label widget is not disabled."); // remove the buddy this.__label.setBuddy(null); // enabled the textfield. label should stay this.__formWidget.setEnabled(true); // check if the enabled properties are still correct this.assertFalse(this.__label.getEnabled(), "Label widget is not disabled at the end."); this.assertTrue(this.__formWidget.getEnabled(), "Form widget is ensabled at the end."); }, __testFocus: function() { // NEEDED FOR THE FOCUS this.getRoot().add(this.__formWidget); this.__label.setBuddy(this.__formWidget); this.__formWidget.addListener("focus", function() { this.resume(function() { // do nothing. Just check for the event }, this); }, this); this.tapOn(this.__label); this.wait(); }, __testFocusRemove: function() { // NEEDED FOR THE FOCUS this.getRoot().add(this.__formWidget); this.__label.setBuddy(this.__formWidget); this.__label.setBuddy(null); var focused = false; this.__formWidget.addListener("focus", function() { focused = true; }, this); var self = this; window.setTimeout(function() { self.resume(function() { this.assertFalse(self.__label.hasListener("click"), "Listener still there."); this.assertFalse(focused, "Element has been focused"); }, self); }, 1000); this.tapOn(this.__label); this.wait(); }, testEnabledRemoveTextField: function() { this.__formWidget = new qx.ui.form.TextField("abc"); this.__testEnabledRemove(); }, testEnabledTextField: function() { this.__formWidget = new qx.ui.form.TextField("abc"); this.__testEnabled(); }, testEnabledRemoveSpinner: function() { this.__formWidget = new qx.ui.form.Spinner(); this.__testEnabledRemove(); }, testEnabledSpinner: function() { this.__formWidget = new qx.ui.form.Spinner(); this.__testEnabled(); }, testEnabledRemoveCheckBox: function() { this.__formWidget = new qx.ui.form.CheckBox(); this.__testEnabledRemove(); }, testEnabledCheckBox: function() { this.__formWidget = new qx.ui.form.CheckBox(); this.__testEnabled(); }, testFocusTextField: function() { this.__formWidget = new qx.ui.form.TextField("abc"); this.__testFocus(); }, testFocusSpinner: function() { this.__formWidget = new qx.ui.form.Spinner(); this.__testFocus(); }, testFocusCheckBox: function() { this.__formWidget = new qx.ui.form.CheckBox(); this.__testFocus(); }, testFocusRemoveTextField: function() { this.__formWidget = new qx.ui.form.TextField("abc"); this.__testFocusRemove(); }, testFocusRemoveSpinner: function() { this.__formWidget = new qx.ui.form.Spinner(); this.__testFocusRemove(); }, testFocusRemoveCheckBox: function() { this.__formWidget = new qx.ui.form.CheckBox(); this.__testFocusRemove(); }, testFocusNotFocusableTextField : function() { this.__formWidget = new qx.ui.form.TextField(); this.__formWidget.setReadOnly(true); this.__label.setBuddy(this.__formWidget); this.tapOn(this.__label); } }, destruct : function() { this.__label = this.__formWidget = null; } });