tests.js 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. test("getRootNodes()", function() {
  2. var rootNodes = $('#tree-1').treegrid('getRootNodes');
  3. ok(rootNodes.length === 2, "Length need to be 2");
  4. equal($(rootNodes.get(0)).attr('id'), 'node-1', 'Test node 1');
  5. equal($(rootNodes.get(1)).attr('id'), 'node-2', 'Test node 2');
  6. var rootNodes2 = $('#node-1-1-2-1').treegrid('getRootNodes');
  7. equal(rootNodes.length, rootNodes2.length, "Length need to be equal");
  8. });
  9. test("isolated options", function() {
  10. ok($('#node-1-1-2-1').treegrid('getSetting', 'initialState') !== $('#tnode-1-1-2-1').treegrid('getSetting', 'initialState'), "need to be not equal");
  11. });
  12. test("treeColumn test", function() {
  13. ok($($('#node-1-1-2').find('td').get(1)).find('.treegrid-expander').length === 0, "0");
  14. ok($($('#node-1-1-2').find('td').get(0)).find('.treegrid-expander').length === 1, "1");
  15. ok($($('#tnode-1-1-2').find('td').get(0)).find('.treegrid-expander').length === 0, "0");
  16. ok($($('#tnode-1-1-2').find('td').get(1)).find('.treegrid-expander').length === 1, "1");
  17. });
  18. test("getNodeId()", function() {
  19. equal($('#node-1-1-2-1').treegrid('getNodeId'), 10, "Return 10");
  20. equal($('#node-1-1-2').treegrid('getNodeId'), 9, "Return 9");
  21. });
  22. test("getParentNodeId()", function() {
  23. equal($('#node-1-1-2-1').treegrid('getParentNodeId'), 9, "Return 9");
  24. equal($('#node-1-1-2').treegrid('getParentNodeId'), 2, "Return 2");
  25. equal($('#node-1-1-2').treegrid('getParentNodeId'), $('#node-1-1').treegrid('getNodeId'), "Equal id");
  26. });
  27. test("getParentNode()", function() {
  28. equal($('#node-1-1-2-1').treegrid('getParentNode').treegrid('getNodeId'), 9, "Return 9");
  29. equal($('#node-1').treegrid('getParentNode'), null, "Return null");
  30. });
  31. test("getChildNodes()", function() {
  32. equal($('#node-1').treegrid('getChildNodes').length, 5, "Return 5");
  33. equal($('#node-1-1-2-1').treegrid('getChildNodes').length, [], "Return []");
  34. });
  35. test("getDepth()", function() {
  36. equal($('#node-1').treegrid('getDepth'), 0, "Return 0");
  37. equal($('#node-1-1-2-1').treegrid('getDepth'), 3, "Return 3");
  38. });
  39. test("isLeaf()", function() {
  40. ok($('#node-1-1-2-1').treegrid('isLeaf') === true, "true");
  41. ok($('#node-1').treegrid('isLeaf') === false, "false");
  42. });
  43. test("isLast()", function() {
  44. //Test root nodes
  45. ok($('#node-1').treegrid('isLast') === false, "Not Last!");
  46. ok($('#node-2').treegrid('isLast') === true, "Last!");
  47. //Test nodes with branch
  48. ok($('#node-1-4').treegrid('isLast') === false, "Not Last test!");
  49. ok($('#node-1-5').treegrid('isLast') === true, "Last test!");
  50. ok($('#node-1-1-2-1').treegrid('isLast') === true, "Last test!");
  51. ok($('#node-1-2').treegrid('isLast') === false, "Not Last test!");
  52. });
  53. test("isFirst()", function() {
  54. //Test root nodes
  55. ok($('#node-1').treegrid('isFirst') === true, "First!");
  56. ok($('#node-2').treegrid('isFirst') === false, "Not first!");
  57. //Test nodes with branch
  58. ok($('#node-1-1').treegrid('isFirst') === true, "First!");
  59. ok($('#node-1-4').treegrid('isFirst') === false, "Not first!");
  60. ok($('#node-1-1-2-1').treegrid('isFirst') === true, "First!");
  61. ok($('#node-1-2').treegrid('isFirst') === false, "Not First!");
  62. });
  63. test("isRoot()", function() {
  64. ok($('#node-1').treegrid('isRoot') === true, "Root test!");
  65. ok($('#node-1-2').treegrid('isRoot') === false, "Not Root test!");
  66. ok($('#node-2').treegrid('isRoot') === true, "Other root test!");
  67. });
  68. test("expand(), collapse(), isExpanded(), isCollapsed()", function() {
  69. $('#node-1').treegrid('expand');
  70. ok($('#node-1').treegrid('isExpanded') === true, "Expanded");
  71. ok($('#node-1').hasClass('treegrid-expanded'), "Expanded class");
  72. $('#node-1').treegrid('collapse');
  73. ok($('#node-1').treegrid('isCollapsed') === true, "Collapsed");
  74. ok($('#node-1').hasClass('treegrid-collapsed'), "Collapsed class");
  75. $('#node-1').find('.treegrid-expander').click();
  76. ok($('#node-1').treegrid('isExpanded') === true, "Expanded after click simulate");
  77. $('#node-1').treegrid('collapse');
  78. ok($('#node-1-1').is(':visible') === false, "hidden child node 1-1");
  79. ok($('#node-1-1-2').is(':visible') === false, "hidden child node 1-1-2");
  80. ok($('#node-1-1-2-1').is(':visible') === false, "hidden child node 1-1-2-1");
  81. });
  82. test("expandAll()", function() {
  83. $('#tree-1').treegrid('expandAll');
  84. ok($('#node-1').treegrid('isExpanded') === true, "Expanded");
  85. ok($('#node-1-1').treegrid('isExpanded') === true, "Expanded 1-1");
  86. ok($('#node-1-1-2').treegrid('isExpanded') === true, "Expanded 1-1-2");
  87. });
  88. test("collapseAll()", function() {
  89. $('#tree-1').treegrid('collapseAll');
  90. ok($('#node-1').treegrid('isExpanded') === false, "Collapsed");
  91. ok($('#node-1-1').treegrid('isExpanded') === false, "Collapsed 1-1");
  92. ok($('#node-1-1-2').treegrid('isExpanded') === false, "Collapsed 1-1-2");
  93. $('#node-1-1-2').treegrid('expandAll');
  94. ok($('#node-1-1').treegrid('isExpanded') === true, "Expanded 1-1");
  95. });
  96. test("Save state (cookie method)", function() {
  97. ok($.cookie(saveStateName) !== undefined, "Cookie set");
  98. $.cookie(saveStateName, '1,5');
  99. $('#tnode-1').treegrid('restoreState');
  100. $('#tnode-1-3').treegrid('restoreState');
  101. ok($('#tnode-1').treegrid('isExpanded'), "tnode-1 expanded");
  102. ok($('#tnode-1-3').treegrid('isExpanded'), "tnode-1-3 expanded");
  103. $.cookie(saveStateName, '2');
  104. $('#tnode-1').treegrid('restoreState');
  105. $('#tnode-1-3').treegrid('restoreState');
  106. $('#tnode-1-1').treegrid('restoreState');
  107. ok($('#tnode-1').treegrid('isCollapsed'), "tnode-1 collapsed");
  108. ok($('#tnode-1-3').treegrid('isCollapsed'), "tnode-1-3 collpased");
  109. ok($('#tnode-1-1').treegrid('isExpanded'), "tnode-1-1 expanded");
  110. });
  111. test("Alphanumeric id", function() {
  112. equal($('#anode-1').treegrid('getDepth'), 0, "Return 0");
  113. equal($('#anode-1-1-2-1').treegrid('getDepth'), 3, "Return 3");
  114. equal($('#anode-1').treegrid('getChildNodes').length, 4, "Return 4");
  115. equal($('#anode-1-1-2-1').treegrid('getChildNodes').length, [], "Return []");
  116. });
  117. test("getAllNodes", function() {
  118. equal($('#tree-1').treegrid('getAllNodes').length, 12, "12");
  119. });
  120. test("isNode", function() {
  121. ok($('#tree-head-1').treegrid("isNode") === false, 'Head is not node');
  122. ok($('#tree-summary-1').treegrid("isNode") === false, 'Summary is not node');
  123. ok($('#node-1-1').treegrid("isNode") === true, 'Node is node');
  124. });
  125. test("getLast from getAllNodes", function() {
  126. $('#tree-1').treegrid('getAllNodes').each(function() {
  127. if ($(this).treegrid("isLast")) {
  128. ok($.inArray($(this).treegrid('getNodeId'), [11, 7, 9, 10, 6, 8]));
  129. }
  130. });
  131. });
  132. test("getLast from tr.each", function() {
  133. $('#tree-1').find('tr').each(function() {
  134. if ($(this).treegrid("isNode") && $(this).treegrid("isLast")) {
  135. ok($.inArray($(this).treegrid('getNodeId'), [11, 7, 9, 10, 6, 8]));
  136. }
  137. });
  138. });
  139. test("Event collapse/expand", function() {
  140. var count = 0;
  141. $('#tree-4').find('#anode-1').treegrid("collapse");
  142. $('#tree-4').treegrid("getAllNodes").one("collapse", function(event) {
  143. count++;
  144. });
  145. $('#tree-4').treegrid("getAllNodes").one("expand", function(event) {
  146. count++;
  147. });
  148. $('#tree-4').find('#anode-1').treegrid("expand");
  149. $('#tree-4').find('#anode-1').treegrid("collapse");
  150. equal(count, 2);
  151. });
  152. test("Event change", function() {
  153. var count = 0;
  154. $('#tree-4').find('#anode-1').treegrid("collapse");
  155. var func=function(event) {
  156. count++;
  157. };
  158. $('#tree-4').treegrid("getAllNodes").on("change", func);
  159. $('#tree-4').find('#anode-1').treegrid("expand");
  160. $('#tree-4').find('#anode-1').treegrid("collapse");
  161. $('#tree-4').find('#anode-1').treegrid("expand");
  162. $('#tree-4').find('#anode-1').treegrid("collapse");
  163. $('#tree-4').treegrid("getAllNodes").off("change", func);
  164. equal(count, 4);
  165. });