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.

GridContextClickTest.java 2.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.vaadin.tests.contextclick;
  2. import static org.junit.Assert.assertEquals;
  3. import org.junit.Ignore;
  4. import org.junit.Test;
  5. import org.openqa.selenium.WebElement;
  6. import com.vaadin.testbench.elements.ButtonElement;
  7. import com.vaadin.testbench.elements.GridElement;
  8. public class GridContextClickTest extends AbstractContextClickTest {
  9. @Test
  10. public void testBodyContextClickWithTypedListener() {
  11. addOrRemoveTypedListener();
  12. contextClick($(GridElement.class).first().getCell(0, 0));
  13. assertEquals(
  14. "1. ContextClickEvent value: Lisa Schneider, column: Address, section: BODY",
  15. getLogRow(0));
  16. contextClick($(GridElement.class).first().getCell(0, 3));
  17. assertEquals(
  18. "2. ContextClickEvent value: Lisa Schneider, column: Last Name, section: BODY",
  19. getLogRow(0));
  20. }
  21. @Test
  22. public void testHeaderContextClickWithTypedListener() {
  23. addOrRemoveTypedListener();
  24. contextClick($(GridElement.class).first().getHeaderCell(0, 0));
  25. assertEquals(
  26. "1. ContextClickEvent value: Address, column: Address, section: HEADER",
  27. getLogRow(0));
  28. contextClick($(GridElement.class).first().getHeaderCell(0, 3));
  29. assertEquals(
  30. "2. ContextClickEvent value: Last Name, column: Last Name, section: HEADER",
  31. getLogRow(0));
  32. }
  33. @Test
  34. public void testFooterContextClickWithTypedListener() {
  35. addOrRemoveTypedListener();
  36. contextClick($(GridElement.class).first().getFooterCell(0, 0));
  37. assertEquals(
  38. "1. ContextClickEvent value: Address, column: Address, section: FOOTER",
  39. getLogRow(0));
  40. contextClick($(GridElement.class).first().getFooterCell(0, 3));
  41. assertEquals(
  42. "2. ContextClickEvent value: Last Name, column: Last Name, section: FOOTER",
  43. getLogRow(0));
  44. }
  45. @Test
  46. public void testContextClickInEmptyGrid() {
  47. addOrRemoveTypedListener();
  48. $(ButtonElement.class).caption("Remove all content").first().click();
  49. contextClick($(GridElement.class).first(), 100, 100);
  50. assertEquals("1. ContextClickEvent value: , section: BODY",
  51. getLogRow(0));
  52. }
  53. /**
  54. * Performs a context click on given element at coordinates 20, 10 followed
  55. * by a regular click. This prevents browser context menu from blocking
  56. * future operations.
  57. *
  58. * A smaller X offset might hit the resize handle of the previous cell that
  59. * overlaps with the next header cell.
  60. *
  61. * @param e
  62. * web element
  63. */
  64. @Override
  65. protected void contextClick(WebElement e) {
  66. contextClick(e, 20, 10);
  67. }
  68. }