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.

GridLayoutRequiredIndicatorLocationTest.java 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package com.vaadin.tests.components.gridlayout;
  2. import static org.junit.Assert.assertEquals;
  3. import java.io.IOException;
  4. import org.junit.Test;
  5. import org.openqa.selenium.By;
  6. import org.openqa.selenium.WebElement;
  7. import com.vaadin.testbench.elements.GridLayoutElement;
  8. import com.vaadin.tests.tb3.MultiBrowserTest;
  9. public class GridLayoutRequiredIndicatorLocationTest extends MultiBrowserTest {
  10. private WebElement gridLayoutSlot;
  11. @Override
  12. public void setup() throws Exception {
  13. super.setup();
  14. openTestURL();
  15. gridLayoutSlot = $(GridLayoutElement.class).first()
  16. .findElement(By.className("v-gridlayout-slot"));
  17. }
  18. @Test
  19. public void testRequiredIndicatorLocationLeftFixedField() {
  20. assertIndicatorPosition(getSlot(1));
  21. }
  22. @Test
  23. public void testRequiredIndicatorLocationLeftRelativeField() {
  24. assertIndicatorPosition(getSlot(3));
  25. }
  26. @Test
  27. public void testRequiredIndicatorLocationLeft100PercentField() {
  28. assertIndicatorPosition(getSlot(5));
  29. }
  30. @Test
  31. public void testRequiredIndicatorLocationCenterFixedField() {
  32. assertIndicatorPosition(getSlot(7));
  33. }
  34. @Test
  35. public void testRequiredIndicatorLocationCenterRelativeField() {
  36. assertIndicatorPosition(getSlot(9));
  37. }
  38. @Test
  39. public void testRequiredIndicatorLocationCenter100PercentField() {
  40. assertIndicatorPosition(getSlot(11));
  41. }
  42. @Test
  43. public void testRequiredIndicatorLocationRightFixedField() {
  44. assertIndicatorPosition(getSlot(13));
  45. }
  46. @Test
  47. public void testRequiredIndicatorLocationRightRelativeField() {
  48. assertIndicatorPosition(getSlot(15));
  49. }
  50. @Test
  51. public void testRequiredIndicatorLocationRight100PercentField() {
  52. assertIndicatorPosition(getSlot(17));
  53. }
  54. private void assertIndicatorPosition(WebElement slot) {
  55. WebElement field = slot.findElement(By.tagName("input"));
  56. WebElement caption = slot.findElement(By.className("v-caption"));
  57. int desiredIndicatorPosition = field.getLocation().getX()
  58. + field.getSize().getWidth();
  59. int actualIndicatorPosition = caption.getLocation().getX();
  60. assertEquals("Required indicator has wrong position",
  61. desiredIndicatorPosition, actualIndicatorPosition, 1d);
  62. }
  63. @Test
  64. public void testScreenshotMatches() throws IOException {
  65. compareScreen("indicators");
  66. }
  67. private WebElement getSlot(int index) {
  68. return gridLayoutSlot.findElements(By.className("v-gridlayout-slot"))
  69. .get(index);
  70. }
  71. }