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.

HeaderFooterClickLeftRightMiddleTest.java 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.vaadin.tests.components.table;
  2. import static org.hamcrest.MatcherAssert.assertThat;
  3. import java.io.IOException;
  4. import java.util.Arrays;
  5. import org.junit.Test;
  6. import org.openqa.selenium.By;
  7. import com.vaadin.testbench.elements.TableElement;
  8. import com.vaadin.tests.tb3.MultiBrowserTest;
  9. /**
  10. * Tests Table Footer ClickListener
  11. *
  12. * @author Vaadin Ltd
  13. */
  14. @SuppressWarnings("deprecation")
  15. public class HeaderFooterClickLeftRightMiddleTest extends MultiBrowserTest {
  16. @Test
  17. public void testSingleClick() throws IOException {
  18. openTestURL();
  19. waitForElementPresent(By.className("v-table"));
  20. TableElement table = $(TableElement.class).first();
  21. table.getHeaderCell(0).click();
  22. assertAnyLogText("1. Click on header col1 using left");
  23. table.getFooterCell(1).click();
  24. assertAnyLogText("2. Click on footer col2 using left");
  25. }
  26. @Test
  27. public void testContextClick() {
  28. openTestURL();
  29. waitForElementPresent(By.className("v-table"));
  30. TableElement table = $(TableElement.class).first();
  31. table.getHeaderCell(0).contextClick();
  32. assertAnyLogText("1. Click on header col1 using right");
  33. table.getFooterCell(1).contextClick();
  34. assertAnyLogText("2. Click on footer col2 using right");
  35. }
  36. @Test
  37. public void testDoubleClick() {
  38. openTestURL();
  39. waitForElementPresent(By.className("v-table"));
  40. TableElement table = $(TableElement.class).first();
  41. table.getHeaderCell(0).doubleClick();
  42. assertAnyLogText("2. Double click on header col1 using left",
  43. "3. Double click on header col1 using left");
  44. table.getFooterCell(1).doubleClick();
  45. assertAnyLogText("4. Double click on footer col2 using left",
  46. "5. Double click on footer col2 using left",
  47. "6. Double click on footer col2 using left");
  48. }
  49. private void assertAnyLogText(String... texts) {
  50. assertThat(String.format(
  51. "Correct log text was not found, expected any of %s",
  52. Arrays.asList(texts)), logContainsAnyText(texts));
  53. }
  54. private boolean logContainsAnyText(String... texts) {
  55. for (String text : texts) {
  56. if (logContainsText(text)) {
  57. return true;
  58. }
  59. }
  60. return false;
  61. }
  62. }