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.

GridColspansTest.java 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.vaadin.tests.components.grid;
  2. import static org.junit.Assert.assertEquals;
  3. import static org.junit.Assert.assertFalse;
  4. import java.util.Locale;
  5. import org.junit.Before;
  6. import org.junit.Test;
  7. import org.openqa.selenium.By;
  8. import com.vaadin.testbench.elements.GridElement;
  9. import com.vaadin.testbench.elements.ButtonElement;
  10. import com.vaadin.testbench.elements.GridElement.GridCellElement;
  11. import com.vaadin.testbench.parallel.TestCategory;
  12. import com.vaadin.tests.tb3.MultiBrowserTest;
  13. @TestCategory("grid")
  14. public class GridColspansTest extends MultiBrowserTest {
  15. @Before
  16. public void setUp() {
  17. setDebug(true);
  18. }
  19. @Test
  20. public void testColSpans() {
  21. openTestURL();
  22. GridElement grid = $(GridElement.class).first();
  23. assertEquals("5", grid.getHeaderCell(0, 1).getAttribute("colspan"));
  24. assertEquals("2", grid.getHeaderCell(1, 1).getAttribute("colspan"));
  25. assertEquals("3", grid.getHeaderCell(1, 3).getAttribute("colspan"));
  26. assertEquals("5", grid.getFooterCell(1, 1).getAttribute("colspan"));
  27. assertEquals("2", grid.getFooterCell(0, 1).getAttribute("colspan"));
  28. assertEquals("3", grid.getFooterCell(0, 3).getAttribute("colspan"));
  29. }
  30. @Test
  31. public void testHideFirstColumnOfColspan() {
  32. openTestURL();
  33. GridElement grid = $(GridElement.class).first();
  34. assertEquals("Failed initial condition.", "all the stuff",
  35. grid.getHeaderCell(0, 1).getText().toLowerCase(Locale.ROOT));
  36. assertEquals("Failed initial condition.", "first name",
  37. grid.getHeaderCell(2, 1).getText().toLowerCase(Locale.ROOT));
  38. $(ButtonElement.class).caption("Show/Hide firstName").first().click();
  39. assertEquals("Header text changed on column hide.", "all the stuff",
  40. grid.getHeaderCell(0, 1).getText().toLowerCase(Locale.ROOT));
  41. assertEquals("Failed initial condition.", "last name",
  42. grid.getHeaderCell(2, 1).getText().toLowerCase(Locale.ROOT));
  43. }
  44. @Test
  45. public void testHideAndReAddFirstCOlumn() {
  46. openTestURL();
  47. GridElement grid = $(GridElement.class).first();
  48. assertEquals("Failed initial condition.", "first name",
  49. grid.getHeaderCell(2, 1).getText().toLowerCase(Locale.ROOT));
  50. $(ButtonElement.class).caption("Show/Hide firstName").first().click();
  51. assertEquals("Failed initial condition.", "last name",
  52. grid.getHeaderCell(2, 1).getText().toLowerCase(Locale.ROOT));
  53. $(ButtonElement.class).caption("Show/Hide firstName").first().click();
  54. assertEquals("Failed to find first name in last column", "first name",
  55. grid.getHeaderCell(2, 5).getText().toLowerCase(Locale.ROOT));
  56. }
  57. @Test
  58. public void testSplittingMergedHeaders() {
  59. openTestURL();
  60. GridElement grid = $(GridElement.class).first();
  61. GridCellElement headerCell = grid.getHeaderCell(1, 1);
  62. assertEquals("Failed initial condition.", "full name",
  63. headerCell.getText().toLowerCase(Locale.ROOT));
  64. assertEquals("Failed initial condition.", "first name",
  65. grid.getHeaderCell(2, 1).getText().toLowerCase(Locale.ROOT));
  66. $(ButtonElement.class).get(1).click();
  67. headerCell = grid.getHeaderCell(1, 1);
  68. assertEquals("Joined Header text not changed on column reorder.",
  69. "misc", headerCell.getText().toLowerCase(Locale.ROOT));
  70. assertEquals("Unexpected colspan", "1",
  71. headerCell.getAttribute("colspan"));
  72. headerCell = grid.getHeaderCell(1, 2);
  73. assertEquals("Header text not changed on column reorder", "full name",
  74. headerCell.getText().toLowerCase(Locale.ROOT));
  75. assertEquals("Unexpected colspan", "2",
  76. headerCell.getAttribute("colspan"));
  77. assertFalse("Error indicator not present",
  78. isElementPresent(By.className("v-errorindicator")));
  79. }
  80. }