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.

GridLayoutBaseTest.java 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.vaadin.tests.components.gridlayout;
  2. import static org.junit.Assert.assertEquals;
  3. import java.util.List;
  4. import org.junit.Test;
  5. import org.openqa.selenium.By;
  6. import org.openqa.selenium.WebElement;
  7. import com.vaadin.testbench.elements.ButtonElement;
  8. import com.vaadin.testbench.elements.GridLayoutElement;
  9. import com.vaadin.tests.tb3.MultiBrowserTest;
  10. public abstract class GridLayoutBaseTest extends MultiBrowserTest {
  11. @Test
  12. public void cellSizesAreCorrectlyCalculated() {
  13. openTestURL();
  14. hideMiddleRowAndColumn();
  15. final List<WebElement> slots4x4 = getSlots(1);
  16. waitUntilColumnAndRowAreHidden(slots4x4);
  17. final List<WebElement> slots5x5 = getSlots(0);
  18. for (int i = 0; i < slots5x5.size(); i++) {
  19. WebElement compared = slots5x5.get(i);
  20. WebElement actual = slots4x4.get(i);
  21. assertEquals("Different top coordinate for element " + i,
  22. compared.getCssValue("top"), actual.getCssValue("top"));
  23. assertEquals("Different left coordinate for element " + i,
  24. compared.getCssValue("left"), actual.getCssValue("left"));
  25. }
  26. }
  27. private void waitUntilColumnAndRowAreHidden(
  28. final List<WebElement> slots4x4) {
  29. waitUntil(input -> getSlots(0).size() == slots4x4.size(), 5);
  30. }
  31. private List<WebElement> getSlots(int index) {
  32. GridLayoutElement layout = $(GridLayoutElement.class).get(index);
  33. return layout.findElements(By.className("v-gridlayout-slot"));
  34. }
  35. private void hideMiddleRowAndColumn() {
  36. $(ButtonElement.class).first().click();
  37. }
  38. }