UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

279 lines (212 loc) 6.73 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-2009 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.ModelSelection", { extend : qx.test.ui.LayoutTestCase, members : { __testGetSingle : function(widget, children) { var children = children || widget.getChildren(); // check the model selection widget.setSelection([children[0]]); this.assertEquals(1, widget.getModelSelection().getItem(0)); // check the model selection again widget.setSelection([children[2]]); this.assertEquals(3, widget.getModelSelection().getItem(0)); }, __testGetMulti : function(widget, children) { var children = children || widget.getChildren(); // check the model selection widget.setSelection([children[0]]); this.assertEquals(1, widget.getModelSelection().getItem(0)); // check the model selection again widget.setSelection([children[1], children[2]]); this.assertEquals(2, widget.getModelSelection().getLength(), "Wrong length"); this.assertTrue(widget.getModelSelection().contains(2)); this.assertTrue(widget.getModelSelection().contains(3)); }, __testSetSingle : function(widget, children) { var children = children || widget.getChildren(); // check the set selection widget.setModelSelection([2]); this.assertEquals(children[1], widget.getSelection()[0]); // check the set selection again widget.setModelSelection([3]); this.assertEquals(children[2], widget.getSelection()[0]); }, __testSetMulti : function(widget, children) { var children = children || widget.getChildren(); // check the set selection widget.setModelSelection([2]); this.assertEquals(children[1], widget.getSelection()[0]); // check the set selection again widget.setModelSelection([2, 3]); this.assertEquals(2, widget.getSelection().length); this.assertTrue(widget.getSelection().includes(children[1])); this.assertTrue(widget.getSelection().includes(children[2])); }, __createSelectBox : function() { var box = new qx.ui.form.SelectBox(); this.__addListItems(box); return box; }, __createList : function() { var list = new qx.ui.form.List(); this.__addListItems(list); return list; }, __addListItems : function(widget) { for (var i = 0; i < 3; i++) { var l = new qx.ui.form.ListItem("I" + (i + 1)); l.setModel(i + 1); widget.add(l); } }, __createRadioGroup : function() { var group = new qx.ui.form.RadioGroup(); this.__addRadioButton(group); return group; }, __createRadioButtonGroup : function() { var group = new qx.ui.form.RadioButtonGroup(); this.__addRadioButton(group); return group; }, __addRadioButton : function(widget) { for (var i = 0; i < 3; i++) { var r = new qx.ui.form.RadioButton(); r.setModel(i + 1); widget.add(r); } }, __createTree : function() { var tree = new qx.ui.tree.Tree(); var t2 = new qx.ui.tree.TreeFolder().set({model: 3}); var t1 = new qx.ui.tree.TreeFolder().set({model: 2}); var t0 = new qx.ui.tree.TreeFolder().set({model: 1}); tree.setRoot(t0); t0.add(t1); t1.add(t2); // keep one folder closed because the behavior could change if the // folders should be opened t1.setOpen(true); return tree; }, __getRidOf : function (box) { var children = box.getChildren(); for (var i = 0; i < children.length; i++) { children[i].dispose(); } box.dispose(); }, testSelectBoxGetSingle : function() { var box = this.__createSelectBox(); this.__testGetSingle(box); this.__getRidOf(box); }, testSelectBoxSetSingle : function() { var box = this.__createSelectBox(); this.__testSetSingle(box); this.__getRidOf(box); }, testListGetSingle : function() { var list = this.__createList(); this.__testGetSingle(list); this.__getRidOf(list); }, testListSetSingle : function() { var list = this.__createList(); this.__testSetSingle(list); this.__getRidOf(list); }, testListGetMulti : function() { var list = this.__createList(); list.setSelectionMode("multi"); this.__testGetMulti(list); this.__getRidOf(list); }, testListSetMulti : function() { var list = this.__createList(); list.setSelectionMode("multi"); this.__testSetMulti(list); this.__getRidOf(list); }, testRadioGroupGetSingle : function() { var group = this.__createRadioGroup(); this.__testGetSingle(group); this.__getRidOf(group); }, testRadioGroupSetSingle : function() { var group = this.__createRadioGroup(); this.__testSetSingle(group); this.__getRidOf(group); }, testRadioButtonGroupGetSingle : function() { var group = this.__createRadioButtonGroup(); this.__testGetSingle(group); this.__getRidOf(group); }, testRadioButtonGroupSetSingle : function() { var group = this.__createRadioButtonGroup(); this.__testSetSingle(group); this.__getRidOf(group); }, testTreeGetSingle : function() { var widget = this.__createTree(); var children = widget.getItems(true); this.__testGetSingle(widget, children); widget.destroy(); }, testTreeSetSingle : function() { var widget = this.__createTree(); var children = widget.getItems(true); this.__testSetSingle(widget, children); widget.destroy(); }, testTreeGetMulti : function() { var widget = this.__createTree(); widget.setSelectionMode("multi"); var children = widget.getItems(true); this.__testGetMulti(widget, children); widget.destroy(); }, testTreeSetMulti : function() { var widget = this.__createTree(); widget.setSelectionMode("multi"); var children = widget.getItems(true); this.__testSetMulti(widget, children); widget.destroy(); } } });