UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

139 lines (108 loc) 3.84 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2013 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.UtilTest", { extend: qx.dev.unit.TestCase, members: { model: null, setUp() { var rawData = { name: "Root", kids: [ { name: "Node1", kids: [{ name: "Leaf1.1" }] }, { name: "Node2", kids: [] }, { name: "Node3", kids: null }, { name: "Leaf1" }, { name: "Leaf2" } ] }; this.model = qx.data.marshal.Json.createModel(rawData); }, tearDown() { this.model.dispose(); this.model = null; }, "test isNode with nodes and leafs"() { var model = this.model; this.assertTrue(qx.ui.tree.core.Util.isNode(model, "kids")); var children = model.getKids(); for (var i = 0, l = children.getLength(); i < l; i++) { var item = children.getItem(i); var result = qx.ui.tree.core.Util.isNode(item, "kids"); if (item.getKids !== undefined) { this.assertTrue(result); } else { this.assertFalse(result); } } }, "test isNode with invalid child property"() { this.assertFalse( qx.ui.tree.core.Util.isNode(this.model, "noChildProperty") ); }, "test isNode with null calls"() { this.assertFalse(qx.ui.tree.core.Util.isNode(null, "kids")); this.assertFalse(qx.ui.tree.core.Util.isNode(this.model, null)); this.assertFalse(qx.ui.tree.core.Util.isNode(null, null)); }, "test hasChildren with leafs"() { var model = this.model; var children = model.getKids(); this.assertTrue(qx.ui.tree.core.Util.hasChildren(model, "kids")); this.assertTrue( qx.ui.tree.core.Util.hasChildren(children.getItem(0), "kids") ); this.assertFalse( qx.ui.tree.core.Util.hasChildren(children.getItem(1), "kids") ); this.assertFalse( qx.ui.tree.core.Util.hasChildren(children.getItem(2), "kids") ); this.assertFalse( qx.ui.tree.core.Util.hasChildren(children.getItem(3), "kids") ); this.assertFalse( qx.ui.tree.core.Util.hasChildren(children.getItem(4), "kids") ); }, "test hasChildren and ignore leafs"() { var model = this.model; var children = model.getKids(); this.assertTrue(qx.ui.tree.core.Util.hasChildren(model, "kids", true)); this.assertFalse( qx.ui.tree.core.Util.hasChildren(children.getItem(0), "kids", true) ); this.assertFalse( qx.ui.tree.core.Util.hasChildren(children.getItem(1), "kids", true) ); this.assertFalse( qx.ui.tree.core.Util.hasChildren(children.getItem(2), "kids", true) ); this.assertFalse( qx.ui.tree.core.Util.hasChildren(children.getItem(3), "kids", true) ); this.assertFalse( qx.ui.tree.core.Util.hasChildren(children.getItem(4), "kids", true) ); }, "test hasChildren with invalid child property"() { this.assertFalse( qx.ui.tree.core.Util.hasChildren(this.model, "noChildProperty") ); }, "test hasChildren with null calls"() { this.assertFalse(qx.ui.tree.core.Util.hasChildren(null, "kids")); this.assertFalse(qx.ui.tree.core.Util.hasChildren(this.model, null)); this.assertFalse(qx.ui.tree.core.Util.hasChildren(null, null)); } } });