aboutsummaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2016-11-24 11:31:23 +0200
committerVaadin Code Review <review@vaadin.com>2016-11-28 06:49:13 +0000
commit7041760d1295cef8847bdae1de02636d9a2cd250 (patch)
treee2fe4e977dcb76fb5fd23e3c80f391cf32b9f0e8 /uitest
parente944b2bda4bb8df30eaa1bcc991a48a135f79bb8 (diff)
downloadvaadin-framework-7041760d1295cef8847bdae1de02636d9a2cd250.tar.gz
vaadin-framework-7041760d1295cef8847bdae1de02636d9a2cd250.zip
Re-add body rows when Escalator is reattached to DOM (#20477)
Change-Id: I0ae9144817db3bb730c80748d5e9190484b323e7
Diffstat (limited to 'uitest')
-rw-r--r--uitest/src/main/java/com/vaadin/tests/components/grid/MoveGridAndAddRow.java48
-rw-r--r--uitest/src/main/java/com/vaadin/tests/widgetset/client/grid/EscalatorBasicClientFeaturesWidget.java16
-rw-r--r--uitest/src/test/java/com/vaadin/tests/components/grid/MoveGridAndAddRowTest.java21
3 files changed, 85 insertions, 0 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/grid/MoveGridAndAddRow.java b/uitest/src/main/java/com/vaadin/tests/components/grid/MoveGridAndAddRow.java
new file mode 100644
index 0000000000..0c6379bee7
--- /dev/null
+++ b/uitest/src/main/java/com/vaadin/tests/components/grid/MoveGridAndAddRow.java
@@ -0,0 +1,48 @@
+package com.vaadin.tests.components.grid;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUIWithLog;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Button.ClickListener;
+import com.vaadin.ui.Grid;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.VerticalLayout;
+
+public class MoveGridAndAddRow extends AbstractTestUIWithLog {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ final VerticalLayout layout = new VerticalLayout();
+
+ final VerticalLayout anotherLayout = new VerticalLayout();
+ anotherLayout.addComponent(new Label("This is another layout"));
+ final Grid g = new Grid();
+ g.addColumn("A");
+ g.addRow("1");
+
+ final Button b = new Button("Add row and remove this button");
+ b.setId("add");
+ b.addClickListener(new ClickListener() {
+ @Override
+ public void buttonClick(ClickEvent e) {
+ g.addRow("2");
+ b.setVisible(false);
+ }
+ });
+
+ Button move = new Button("Move grid to other layout");
+ move.setId("move");
+ move.addClickListener(new ClickListener() {
+ @Override
+ public void buttonClick(ClickEvent event) {
+ anotherLayout.addComponent(g);
+ }
+ });
+
+ layout.addComponents(b, move, g);
+ addComponent(new HorizontalLayout(layout, anotherLayout));
+
+ }
+}
diff --git a/uitest/src/main/java/com/vaadin/tests/widgetset/client/grid/EscalatorBasicClientFeaturesWidget.java b/uitest/src/main/java/com/vaadin/tests/widgetset/client/grid/EscalatorBasicClientFeaturesWidget.java
index f39c8119be..8c456f1c7e 100644
--- a/uitest/src/main/java/com/vaadin/tests/widgetset/client/grid/EscalatorBasicClientFeaturesWidget.java
+++ b/uitest/src/main/java/com/vaadin/tests/widgetset/client/grid/EscalatorBasicClientFeaturesWidget.java
@@ -379,9 +379,25 @@ public class EscalatorBasicClientFeaturesWidget
String[] menupath = { GENERAL_MENU };
addMenuCommand("Detach Escalator", new ScheduledCommand() {
+
@Override
public void execute() {
+ // DockLayoutPanel removes height and width definitions on
+ // detach, so store them and restore them in attach to keep
+ // Escalator the same size
+ String detachHeight = escalator.getElement().getStyle()
+ .getHeight();
+ String detachWidth = escalator.getElement().getStyle()
+ .getWidth();
escalator.removeFromParent();
+ if (detachHeight != null) {
+ escalator.getElement().getStyle().setProperty("height",
+ detachHeight);
+ }
+ if (detachWidth != null) {
+ escalator.getElement().getStyle().setProperty("width",
+ detachWidth);
+ }
}
}, menupath);
diff --git a/uitest/src/test/java/com/vaadin/tests/components/grid/MoveGridAndAddRowTest.java b/uitest/src/test/java/com/vaadin/tests/components/grid/MoveGridAndAddRowTest.java
new file mode 100644
index 0000000000..c6d9aa394a
--- /dev/null
+++ b/uitest/src/test/java/com/vaadin/tests/components/grid/MoveGridAndAddRowTest.java
@@ -0,0 +1,21 @@
+package com.vaadin.tests.components.grid;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.vaadin.testbench.elements.ButtonElement;
+import com.vaadin.testbench.elements.GridElement;
+import com.vaadin.tests.tb3.SingleBrowserTest;
+
+public class MoveGridAndAddRowTest extends SingleBrowserTest {
+
+ @Test
+ public void addRowAndChangeLayout() {
+ openTestURL();
+ $(ButtonElement.class).id("add").click();
+
+ GridElement grid = $(GridElement.class).first();
+ Assert.assertEquals("1", grid.getCell(0, 0).getText());
+ Assert.assertEquals("2", grid.getCell(1, 0).getText());
+ }
+}