Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

TableToggleColumnVisibilityTest.java 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.vaadin.tests.components.table;
  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 com.vaadin.testbench.elements.ButtonElement;
  8. import com.vaadin.testbench.elements.TableElement;
  9. import com.vaadin.testbench.elements.TableHeaderElement;
  10. import com.vaadin.tests.tb3.MultiBrowserTest;
  11. /**
  12. * Tests that column keeps its header, icon, alignment after toggling visibility
  13. * (#6245, #12303).
  14. *
  15. * @author Vaadin Ltd
  16. */
  17. public class TableToggleColumnVisibilityTest extends MultiBrowserTest {
  18. @Test
  19. public void testColumnWidthRestoredAfterTogglingVisibility() {
  20. openTestURL();
  21. ButtonElement toggleVisibilityButton = $(ButtonElement.class)
  22. .id("visib-toggler");
  23. ButtonElement changeOrderButton = $(ButtonElement.class)
  24. .id("order-toggler");
  25. checkHeaderAttributes(1);
  26. toggleVisibilityButton.click(); // hide column #1
  27. assertEquals("One column should be visible",
  28. findElements(By.className("v-table-header-cell")).size(), 1);
  29. toggleVisibilityButton.click(); // restore column #1
  30. assertEquals("Two columns should be visible",
  31. findElements(By.className("v-table-header-cell")).size(), 2);
  32. checkHeaderAttributes(1);
  33. // change column order, column #1 now becomes column #0
  34. changeOrderButton.click();
  35. checkHeaderAttributes(0);
  36. }
  37. /*
  38. * Checks column header with number columnNumber.
  39. */
  40. private void checkHeaderAttributes(int columnNumber) {
  41. TableHeaderElement headerCell = $(TableElement.class).first()
  42. .getHeaderCell(columnNumber);
  43. assertTrue("Column header text should be custom",
  44. headerCell.getText().equalsIgnoreCase("Hello World"));
  45. assertFalse("Column should have an icon",
  46. headerCell.findElements(By.className("v-icon")).isEmpty());
  47. assertFalse("Column should have alignment to the right", headerCell
  48. .findElements(
  49. By.className("v-table-caption-container-align-right"))
  50. .isEmpty());
  51. }
  52. }