From 43ffcb8c1dbe8486986bd51d4c47c548d382fce0 Mon Sep 17 00:00:00 2001 From: Olli Tietäväinen Date: Wed, 14 Nov 2018 13:28:24 +0200 Subject: pick tests from https://github.com/vaadin/framework/pull/11092 --- .../components/grid/GridEditorScrollSync.java | 35 ++++++++++++++++++++++ .../components/grid/GridEditorScrollSyncTest.java | 35 ++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100755 uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorScrollSync.java create mode 100755 uitest/src/test/java/com/vaadin/tests/components/grid/GridEditorScrollSyncTest.java (limited to 'uitest') diff --git a/uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorScrollSync.java b/uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorScrollSync.java new file mode 100755 index 0000000000..1c5408455e --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorScrollSync.java @@ -0,0 +1,35 @@ +package com.vaadin.tests.components.grid; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.v7.ui.Grid; +public class GridEditorScrollSync extends AbstractTestUI { + @Override + protected void setup(VaadinRequest request) { + // Create a grid + Grid grid = new Grid(); + grid.setEditorEnabled(true); + grid.setEditorBuffered(false); + // Define some columns + grid.addColumn("name", String.class); + grid.addColumn("born", Integer.class); + grid.addColumn("name1", String.class); + grid.addColumn("born1", Integer.class); + grid.addColumn("name2", String.class); + grid.addColumn("born2", Integer.class); + grid.addColumn("name3", String.class); + grid.addColumn("born3", Integer.class); + grid.addColumn("name4", String.class); + grid.addColumn("born4", Integer.class); + grid.setWidth("450px"); + // Add some data rows + grid.addRow("Nicolaus Copernicus", 1543, "Nicolaus Copernicus", 1543, + "Nicolaus Copernicus", 1543, "Nicolaus Copernicus", 1543, + "Nicolaus Copernicus", 1543); + grid.addRow("Galileo Galilei", 1564, "Galileo Galilei", 1564, + "Galileo Galilei", 1564, "s", 55, "Nicolaus Copernicus", 1543); + grid.addRow("Johannes Kepler", 1571, "Johannes Kepler", 1571, + "Johannes Kepler", 1571, "Nicolaus Copernicus", 1543, + "Nicolaus Copernicus", 1543); + getLayout().addComponent(grid); + } +} \ No newline at end of file diff --git a/uitest/src/test/java/com/vaadin/tests/components/grid/GridEditorScrollSyncTest.java b/uitest/src/test/java/com/vaadin/tests/components/grid/GridEditorScrollSyncTest.java new file mode 100755 index 0000000000..33297bdbf9 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/grid/GridEditorScrollSyncTest.java @@ -0,0 +1,35 @@ +package com.vaadin.tests.components.grid; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.number.IsCloseTo.closeTo; +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.By; +import com.vaadin.testbench.TestBenchElement; +import com.vaadin.testbench.elements.GridElement; +import com.vaadin.tests.tb3.MultiBrowserTest; +public class GridEditorScrollSyncTest extends MultiBrowserTest { + private GridElement grid; + @Test + public void testScrollAndEdit() { + openTestURL(); + grid = $(GridElement.class).first(); + ((TestBenchElement) grid + .findElement(By.className("v-grid-scroller-horizontal"))) + .scrollLeft(300); + openEditor(); + GridElement.GridCellElement rowCell = grid.getCell(1, 6); + TestBenchElement editorField = grid.getEditor().getField(6); + assertPosition(rowCell.getLocation().getX(), + editorField.getWrappedElement().getLocation().getX()); + } + private GridElement openEditor() { + grid.getCell(0, 6).doubleClick(); + Assert.assertTrue("Grid editor should be displayed.", + grid.getEditor().isDisplayed()); + return grid; + } + private void assertPosition(double expected, double actual) { + // 1px leeway for calculations + assertThat("Unexpected position.", expected, closeTo(actual, 1d)); + } +} -- cgit v1.2.3