You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TreeGridScrollingTest.java 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. package com.vaadin.tests.components.treegrid;
  2. import org.junit.Assert;
  3. import org.junit.Test;
  4. import com.vaadin.testbench.elements.TreeGridElement;
  5. import com.vaadin.tests.tb3.SingleBrowserTest;
  6. public class TreeGridScrollingTest extends SingleBrowserTest {
  7. @Test
  8. public void testScrollingTree_expandCollapseFromBeginning_correctItemsShown() {
  9. // TODO refactor this test to verify each row against a model, e.g. a
  10. // InMemoryDataProvider, or the used lazy hierarchical data provider
  11. openTestURL();
  12. TreeGridElement grid = $(TreeGridElement.class).first();
  13. Assert.assertEquals(grid.getRowCount(),
  14. TreeGridScrolling.DEFAULT_NODES);
  15. verifyRow(0, 0, 0);
  16. verifyRow(10, 0, 10);
  17. verifyRow(19, 0, 19);
  18. verifyRow(10, 0, 10);
  19. verifyRow(0, 0, 0);
  20. grid.expandWithClick(0);
  21. verifyRow(0, 0, 0);
  22. verifyRow(1, 1, 0);
  23. verifyRow(11, 1, 10);
  24. verifyRow(20, 1, 19);
  25. verifyRow(39, 0, 19);
  26. // verifying in reverse order causes scrolling up
  27. verifyRow(20, 1, 19);
  28. verifyRow(11, 1, 10);
  29. verifyRow(1, 1, 0);
  30. verifyRow(0, 0, 0);
  31. grid.expandWithClick(3);
  32. verifyRow(0, 0, 0);
  33. verifyRow(1, 1, 0);
  34. verifyRow(2, 1, 1);
  35. verifyRow(3, 1, 2);
  36. verifyRow(4, 2, 0);
  37. verifyRow(14, 2, 10);
  38. verifyRow(23, 2, 19);
  39. verifyRow(24, 1, 3);
  40. verifyRow(40, 1, 19);
  41. verifyRow(59, 0, 19);
  42. // scroll back up
  43. verifyRow(40, 1, 19);
  44. verifyRow(24, 1, 3);
  45. verifyRow(23, 2, 19);
  46. verifyRow(14, 2, 10);
  47. verifyRow(4, 2, 0);
  48. verifyRow(2, 1, 1);
  49. verifyRow(3, 1, 2);
  50. verifyRow(1, 1, 0);
  51. verifyRow(0, 0, 0);
  52. grid.expandWithClick(2);
  53. verifyRow(0, 0, 0);
  54. verifyRow(1, 1, 0);
  55. verifyRow(2, 1, 1);
  56. verifyRow(3, 2, 0);
  57. verifyRow(22, 2, 19);
  58. verifyRow(23, 1, 2);
  59. verifyRow(24, 2, 0);
  60. verifyRow(43, 2, 19);
  61. verifyRow(44, 1, 3);
  62. verifyRow(60, 1, 19);
  63. verifyRow(79, 0, 19);
  64. // scroll back up
  65. verifyRow(60, 1, 19);
  66. verifyRow(44, 1, 3);
  67. verifyRow(43, 2, 19);
  68. verifyRow(24, 2, 0);
  69. verifyRow(23, 1, 2);
  70. verifyRow(22, 2, 19);
  71. verifyRow(3, 2, 0);
  72. verifyRow(2, 1, 1);
  73. verifyRow(1, 1, 0);
  74. verifyRow(0, 0, 0);
  75. grid.collapseWithClick(2);
  76. verifyRow(0, 0, 0);
  77. verifyRow(1, 1, 0);
  78. verifyRow(2, 1, 1);
  79. verifyRow(3, 1, 2);
  80. verifyRow(4, 2, 0);
  81. verifyRow(14, 2, 10);
  82. verifyRow(23, 2, 19);
  83. verifyRow(24, 1, 3);
  84. verifyRow(40, 1, 19);
  85. verifyRow(59, 0, 19);
  86. // scroll back up
  87. verifyRow(40, 1, 19);
  88. verifyRow(24, 1, 3);
  89. verifyRow(23, 2, 19);
  90. verifyRow(14, 2, 10);
  91. verifyRow(4, 2, 0);
  92. verifyRow(2, 1, 1);
  93. verifyRow(3, 1, 2);
  94. verifyRow(1, 1, 0);
  95. verifyRow(0, 0, 0);
  96. grid.collapseWithClick(3);
  97. verifyRow(0, 0, 0);
  98. verifyRow(1, 1, 0);
  99. verifyRow(11, 1, 10);
  100. verifyRow(20, 1, 19);
  101. verifyRow(39, 0, 19);
  102. // scroll back up
  103. verifyRow(20, 1, 19);
  104. verifyRow(11, 1, 10);
  105. verifyRow(1, 1, 0);
  106. verifyRow(0, 0, 0);
  107. grid.collapseWithClick(0);
  108. verifyRow(0, 0, 0);
  109. verifyRow(10, 0, 10);
  110. verifyRow(19, 0, 19);
  111. verifyRow(10, 0, 10);
  112. verifyRow(0, 0, 0);
  113. }
  114. private void verifyRow(int rowActualIndex, int depth, int levelIndex) {
  115. TreeGridElement grid = $(TreeGridElement.class).first();
  116. Assert.assertEquals("Invalid row at index " + rowActualIndex,
  117. depth + " | " + levelIndex,
  118. grid.getCell(rowActualIndex, 0).getText());
  119. }
  120. }