jquery-treegrid
Version:
jQuery TreeGrid plugin
188 lines (165 loc) • 8.13 kB
JavaScript
test("getRootNodes()", function() {
var rootNodes = $('#tree-1').treegrid('getRootNodes');
ok(rootNodes.length === 2, "Length need to be 2");
equal($(rootNodes.get(0)).attr('id'), 'node-1', 'Test node 1');
equal($(rootNodes.get(1)).attr('id'), 'node-2', 'Test node 2');
var rootNodes2 = $('#node-1-1-2-1').treegrid('getRootNodes');
equal(rootNodes.length, rootNodes2.length, "Length need to be equal");
});
test("isolated options", function() {
ok($('#node-1-1-2-1').treegrid('getSetting', 'initialState') !== $('#tnode-1-1-2-1').treegrid('getSetting', 'initialState'), "need to be not equal");
});
test("treeColumn test", function() {
ok($($('#node-1-1-2').find('td').get(1)).find('.treegrid-expander').length === 0, "0");
ok($($('#node-1-1-2').find('td').get(0)).find('.treegrid-expander').length === 1, "1");
ok($($('#tnode-1-1-2').find('td').get(0)).find('.treegrid-expander').length === 0, "0");
ok($($('#tnode-1-1-2').find('td').get(1)).find('.treegrid-expander').length === 1, "1");
});
test("getNodeId()", function() {
equal($('#node-1-1-2-1').treegrid('getNodeId'), 10, "Return 10");
equal($('#node-1-1-2').treegrid('getNodeId'), 9, "Return 9");
});
test("getParentNodeId()", function() {
equal($('#node-1-1-2-1').treegrid('getParentNodeId'), 9, "Return 9");
equal($('#node-1-1-2').treegrid('getParentNodeId'), 2, "Return 2");
equal($('#node-1-1-2').treegrid('getParentNodeId'), $('#node-1-1').treegrid('getNodeId'), "Equal id");
});
test("getParentNode()", function() {
equal($('#node-1-1-2-1').treegrid('getParentNode').treegrid('getNodeId'), 9, "Return 9");
equal($('#node-1').treegrid('getParentNode'), null, "Return null");
});
test("getChildNodes()", function() {
equal($('#node-1').treegrid('getChildNodes').length, 5, "Return 5");
equal($('#node-1-1-2-1').treegrid('getChildNodes').length, [], "Return []");
});
test("getDepth()", function() {
equal($('#node-1').treegrid('getDepth'), 0, "Return 0");
equal($('#node-1-1-2-1').treegrid('getDepth'), 3, "Return 3");
});
test("isLeaf()", function() {
ok($('#node-1-1-2-1').treegrid('isLeaf') === true, "true");
ok($('#node-1').treegrid('isLeaf') === false, "false");
});
test("isLast()", function() {
//Test root nodes
ok($('#node-1').treegrid('isLast') === false, "Not Last!");
ok($('#node-2').treegrid('isLast') === true, "Last!");
//Test nodes with branch
ok($('#node-1-4').treegrid('isLast') === false, "Not Last test!");
ok($('#node-1-5').treegrid('isLast') === true, "Last test!");
ok($('#node-1-1-2-1').treegrid('isLast') === true, "Last test!");
ok($('#node-1-2').treegrid('isLast') === false, "Not Last test!");
});
test("isFirst()", function() {
//Test root nodes
ok($('#node-1').treegrid('isFirst') === true, "First!");
ok($('#node-2').treegrid('isFirst') === false, "Not first!");
//Test nodes with branch
ok($('#node-1-1').treegrid('isFirst') === true, "First!");
ok($('#node-1-4').treegrid('isFirst') === false, "Not first!");
ok($('#node-1-1-2-1').treegrid('isFirst') === true, "First!");
ok($('#node-1-2').treegrid('isFirst') === false, "Not First!");
});
test("isRoot()", function() {
ok($('#node-1').treegrid('isRoot') === true, "Root test!");
ok($('#node-1-2').treegrid('isRoot') === false, "Not Root test!");
ok($('#node-2').treegrid('isRoot') === true, "Other root test!");
});
test("expand(), collapse(), isExpanded(), isCollapsed()", function() {
$('#node-1').treegrid('expand');
ok($('#node-1').treegrid('isExpanded') === true, "Expanded");
ok($('#node-1').hasClass('treegrid-expanded'), "Expanded class");
$('#node-1').treegrid('collapse');
ok($('#node-1').treegrid('isCollapsed') === true, "Collapsed");
ok($('#node-1').hasClass('treegrid-collapsed'), "Collapsed class");
$('#node-1').find('.treegrid-expander').click();
ok($('#node-1').treegrid('isExpanded') === true, "Expanded after click simulate");
$('#node-1').treegrid('collapse');
ok($('#node-1-1').is(':visible') === false, "hidden child node 1-1");
ok($('#node-1-1-2').is(':visible') === false, "hidden child node 1-1-2");
ok($('#node-1-1-2-1').is(':visible') === false, "hidden child node 1-1-2-1");
});
test("expandAll()", function() {
$('#tree-1').treegrid('expandAll');
ok($('#node-1').treegrid('isExpanded') === true, "Expanded");
ok($('#node-1-1').treegrid('isExpanded') === true, "Expanded 1-1");
ok($('#node-1-1-2').treegrid('isExpanded') === true, "Expanded 1-1-2");
});
test("collapseAll()", function() {
$('#tree-1').treegrid('collapseAll');
ok($('#node-1').treegrid('isExpanded') === false, "Collapsed");
ok($('#node-1-1').treegrid('isExpanded') === false, "Collapsed 1-1");
ok($('#node-1-1-2').treegrid('isExpanded') === false, "Collapsed 1-1-2");
$('#node-1-1-2').treegrid('expandAll');
ok($('#node-1-1').treegrid('isExpanded') === true, "Expanded 1-1");
});
test("Save state (cookie method)", function() {
ok($.cookie(saveStateName) !== undefined, "Cookie set");
$.cookie(saveStateName, '1,5');
$('#tnode-1').treegrid('restoreState');
$('#tnode-1-3').treegrid('restoreState');
ok($('#tnode-1').treegrid('isExpanded'), "tnode-1 expanded");
ok($('#tnode-1-3').treegrid('isExpanded'), "tnode-1-3 expanded");
$.cookie(saveStateName, '2');
$('#tnode-1').treegrid('restoreState');
$('#tnode-1-3').treegrid('restoreState');
$('#tnode-1-1').treegrid('restoreState');
ok($('#tnode-1').treegrid('isCollapsed'), "tnode-1 collapsed");
ok($('#tnode-1-3').treegrid('isCollapsed'), "tnode-1-3 collpased");
ok($('#tnode-1-1').treegrid('isExpanded'), "tnode-1-1 expanded");
});
test("Alphanumeric id", function() {
equal($('#anode-1').treegrid('getDepth'), 0, "Return 0");
equal($('#anode-1-1-2-1').treegrid('getDepth'), 3, "Return 3");
equal($('#anode-1').treegrid('getChildNodes').length, 4, "Return 4");
equal($('#anode-1-1-2-1').treegrid('getChildNodes').length, [], "Return []");
});
test("getAllNodes", function() {
equal($('#tree-1').treegrid('getAllNodes').length, 12, "12");
});
test("isNode", function() {
ok($('#tree-head-1').treegrid("isNode") === false, 'Head is not node');
ok($('#tree-summary-1').treegrid("isNode") === false, 'Summary is not node');
ok($('#node-1-1').treegrid("isNode") === true, 'Node is node');
});
test("getLast from getAllNodes", function() {
$('#tree-1').treegrid('getAllNodes').each(function() {
if ($(this).treegrid("isLast")) {
ok($.inArray($(this).treegrid('getNodeId'), [11, 7, 9, 10, 6, 8]));
}
});
});
test("getLast from tr.each", function() {
$('#tree-1').find('tr').each(function() {
if ($(this).treegrid("isNode") && $(this).treegrid("isLast")) {
ok($.inArray($(this).treegrid('getNodeId'), [11, 7, 9, 10, 6, 8]));
}
});
});
test("Event collapse/expand", function() {
var count = 0;
$('#tree-4').find('#anode-1').treegrid("collapse");
$('#tree-4').treegrid("getAllNodes").one("collapse", function(event) {
count++;
});
$('#tree-4').treegrid("getAllNodes").one("expand", function(event) {
count++;
});
$('#tree-4').find('#anode-1').treegrid("expand");
$('#tree-4').find('#anode-1').treegrid("collapse");
equal(count, 2);
});
test("Event change", function() {
var count = 0;
$('#tree-4').find('#anode-1').treegrid("collapse");
var func=function(event) {
count++;
};
$('#tree-4').treegrid("getAllNodes").on("change", func);
$('#tree-4').find('#anode-1').treegrid("expand");
$('#tree-4').find('#anode-1').treegrid("collapse");
$('#tree-4').find('#anode-1').treegrid("expand");
$('#tree-4').find('#anode-1').treegrid("collapse");
$('#tree-4').treegrid("getAllNodes").off("change", func);
equal(count, 4);
});