UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

144 lines (109 loc) 4.6 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-2010 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.tree.virtual.SingleSelection", { extend : qx.test.ui.tree.virtual.AbstractTreeTest, members : { testSelection : function() { var root = this.createModelAndSetModel(2); var selection = this.tree.getSelection(); selection.push(root); // check selection from list this.assertEquals(1, this.tree.getSelection().getLength(), "On Tree"); this.assertEquals(root, selection.getItem(0), "On Tree"); // check selection from manager var row = this.tree._manager.getSelectedItem(); this.assertEquals(0, row); }, testInvalidSelection : function() { var root = this.createModelAndSetModel(2); var selection = this.tree.getSelection(); selection.push(root); selection.push(root.getChildren().getItem(0)); // check selection from list this.assertEquals(1, this.tree.getSelection().getLength(), "On Tree"); this.assertEquals(root.getChildren().getItem(0), selection.getItem(0), "On Tree"); // check selection from manager var selection = this.tree._manager.getSelection(); this.assertEquals(1, selection.length); this.assertEquals(1, selection[0]); }, testSelectionByUserInteraction : function() { var root = this.createModelAndSetModel(2); var selection = this.tree.getSelection(); this.tree._manager.selectItem(2); this.assertEquals(1, selection.getLength()); this.assertEquals(root.getChildren().getItem(1), selection.getItem(0)); this.assertEquals(2, this.tree._manager.getSelectedItem()); }, testSelectionEventByUserInteraction : function() { var root = this.createModelAndSetModel(2); var selection = this.tree.getSelection(); var that = this; this.assertEventFired(selection, "change", function() { that.tree._manager.selectItem(2); }, function(e) { that.assertEquals(1, selection.getLength()); that.assertEquals(root.getChildren().getItem(1), selection.getItem(0)); that.assertEquals(2, that.tree._manager.getSelectedItem()); } ); }, testSelectionWithClosedNode : function() { var root = this.createModelAndSetModel(2); var selection = this.tree.getSelection(); var parent = root.getChildren().getItem(0); var itemToSelect = parent.getChildren().getItem(2); this.tree.openNode(parent); selection.push(itemToSelect); // check selection from tree this.assertEquals(1, selection.getLength(), "On Tree"); this.assertEquals(itemToSelect, selection.getItem(0), "On Tree"); // check selection from manager var selectionOnManager = this.tree._manager.getSelection(); this.assertEquals(1, selectionOnManager.length); this.assertEquals(this.tree.getLookupTable().indexOf(itemToSelect), selectionOnManager[0]); this.tree.closeNode(parent); var selectionOnManager = this.tree._manager.getSelection(); this.assertEquals(0, selection.getLength(), "Selection not reset on Tree"); this.assertEquals(0, selectionOnManager.length, "Selection not reset on manager"); }, testRemoveItem : function() { var root = this.createModelAndSetModel(2); var selection = this.tree.getSelection(); var parent = root.getChildren().getItem(0); var itemToSelect = parent.getChildren().getItem(2); this.tree.openNode(parent); selection.push(itemToSelect); // check selection from tree before remove item this.assertEquals(1, selection.getLength(), "On Tree (setup)"); this.assertEquals(itemToSelect, selection.getItem(0), "On Tree (setup)"); // remove selected item parent.getChildren().removeAt(2).dispose(); // check selection from list this.assertEquals(0, selection.getLength(), "On Tree"); // check selection from manager var selectionOnManager = this.tree._manager.getSelection(); this.assertEquals(0, selectionOnManager.length, "On Manager"); } } });