UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

86 lines (64 loc) 2.33 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: * Christian Hagendorn (chris_schmidt) ************************************************************************ */ qx.Class.define("qx.test.ui.form.MenuButton", { extend : qx.test.ui.LayoutTestCase, members : { __menu : null, __menuButton : null, setUp : function() { this.base(arguments); this.__menu = new qx.ui.menu.Menu(); this.__menu.add(new qx.ui.menu.Button("Undo")); this.__menu.add(new qx.ui.menu.Button("Redo")); this.__menu.add(new qx.ui.menu.Button("Cut")); this.__menuButton = new qx.ui.form.MenuButton("Menu Button", null, this.__menu); this.getRoot().add(this.__menuButton); this.flush(); }, tearDown : function() { this.base(arguments); var buttons = this.__menu.getChildren(); for (var i = 0; i < buttons.length; i++) { buttons[i].dispose(); } this.__menu.dispose(); this.__menuButton.dispose(); this.flush(); }, testOpen: function() { this.__menuButton.open(); this.assertTrue(this.__menu.isVisible()); this.assertNull(this.__menu.getSelectedButton()); qx.ui.menu.Manager.getInstance().hideAll(); this.assertFalse(this.__menu.isVisible()); }, testOpenSelectFirst: function() { this.__menuButton.open(true); this.assertTrue(this.__menu.isVisible()); this.assertEquals(this.__menu.getChildren()[0], this.__menu.getSelectedButton()); qx.ui.menu.Manager.getInstance().hideAll(); this.assertFalse(this.__menu.isVisible()); }, testOpenSelectFirstWithDisabledElement: function() { this.__menu.getChildren()[0].setEnabled(false); this.__menuButton.open(true); this.assertTrue(this.__menu.isVisible()); this.assertEquals(this.__menu.getChildren()[1], this.__menu.getSelectedButton()); qx.ui.menu.Manager.getInstance().hideAll(); this.assertFalse(this.__menu.isVisible()); } } });