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.

GridNoSelectionTest.java 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package com.vaadin.tests.components.grid;
  2. import static org.junit.Assert.assertEquals;
  3. import static org.junit.Assert.assertFalse;
  4. import static org.junit.Assert.assertTrue;
  5. import org.junit.Test;
  6. import org.openqa.selenium.By;
  7. import org.openqa.selenium.Keys;
  8. import org.openqa.selenium.interactions.Actions;
  9. import com.vaadin.testbench.elements.GridElement;
  10. import com.vaadin.tests.components.grid.basics.GridBasicsTest;
  11. public class GridNoSelectionTest extends GridBasicsTest {
  12. @Test
  13. public void clickToSelectDoesNothing() {
  14. setSelectionModelNone();
  15. verifyClickSelectDoesNothing();
  16. }
  17. @Test
  18. public void spaceBarSelectDoesNothing() {
  19. setSelectionModelNone();
  20. verifyKeyboardSelectionNotAllowed();
  21. }
  22. @Test
  23. public void serverSideSelectDoesNothing() {
  24. toggleFirstRowSelection();
  25. assertTrue(getGridElement().getRow(0).isSelected());
  26. setSelectionModelNone();
  27. toggleFirstRowSelection();
  28. assertFalse(getGridElement().getRow(0).isSelected());
  29. }
  30. @Test
  31. public void changingSelectionModels_fromMulti() {
  32. setSelectionModelMulti();
  33. getGridElement().getCell(0, 0).click();
  34. assertTrue(getGridElement().getRow(0).isSelected());
  35. getGridElement().scrollToRow(50);
  36. getGridElement().getCell(49, 0).click();
  37. assertTrue(getGridElement().getRow(49).isSelected());
  38. setSelectionModelNone();
  39. assertFalse(getGridElement().getRow(0).isSelected());
  40. verifyClickSelectDoesNothing();
  41. verifyKeyboardSelectionNotAllowed();
  42. getGridElement().scrollToRow(50);
  43. assertFalse(getGridElement().getRow(49).isSelected());
  44. }
  45. @Test
  46. public void changingSelectionModels_fromMultiAllSelected() {
  47. setSelectionModelMulti();
  48. getGridHeaderRowCells().get(0).click(); // select all click
  49. assertTrue(getDefaultColumnHeader(0).findElement(By.tagName("input"))
  50. .isSelected());
  51. assertTrue(getGridElement().getRow(0).isSelected());
  52. assertTrue(getGridElement().getRow(1).isSelected());
  53. assertTrue(getGridElement().getRow(10).isSelected());
  54. setSelectionModelNone();
  55. assertEquals(0, getDefaultColumnHeader(0)
  56. .findElements(By.tagName("input")).size());
  57. assertFalse(getGridElement().getRow(0).isSelected());
  58. assertFalse(getGridElement().getRow(1).isSelected());
  59. assertFalse(getGridElement().getRow(10).isSelected());
  60. }
  61. @Test
  62. public void changingSelectionModels_fromSingle() {
  63. // this is the same as default
  64. getGridElement().getCell(3, 0).click();
  65. assertTrue(getGridElement().getRow(3).isSelected());
  66. setSelectionModelNone();
  67. assertFalse(getGridElement().getRow(3).isSelected());
  68. verifyClickSelectDoesNothing();
  69. verifyKeyboardSelectionNotAllowed();
  70. }
  71. protected void verifyClickSelectDoesNothing() {
  72. getGridElement().getCell(0, 0).click();
  73. assertFalse("Grid row should not be selected",
  74. getGridElement().getRow(0).isSelected());
  75. getGridElement().getCell(2, 2).click();
  76. assertFalse("Grid row should not be selected",
  77. getGridElement().getRow(2).isSelected());
  78. }
  79. protected void verifyKeyboardSelectionNotAllowed() {
  80. GridElement grid = getGridElement();
  81. grid.getCell(3, 1).click();
  82. assertFalse("Grid should not allow selecting",
  83. grid.getRow(3).isSelected());
  84. new Actions(getDriver()).sendKeys(Keys.SPACE).perform();
  85. assertFalse("Grid should not allow selecting with space key",
  86. grid.getRow(3).isSelected());
  87. new Actions(getDriver()).sendKeys(Keys.SPACE).perform();
  88. assertFalse("Grid should not allow selecting",
  89. grid.getRow(3).isSelected());
  90. new Actions(getDriver()).sendKeys(Keys.ARROW_DOWN).perform();
  91. new Actions(getDriver()).sendKeys(Keys.SPACE).perform();
  92. assertFalse("Grid should not allow selecting",
  93. grid.getRow(4).isSelected());
  94. }
  95. }