diff options
author | Artur Signell <artur@vaadin.com> | 2016-11-24 11:31:23 +0200 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2016-11-28 06:49:13 +0000 |
commit | 7041760d1295cef8847bdae1de02636d9a2cd250 (patch) | |
tree | e2fe4e977dcb76fb5fd23e3c80f391cf32b9f0e8 /uitest | |
parent | e944b2bda4bb8df30eaa1bcc991a48a135f79bb8 (diff) | |
download | vaadin-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')
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()); + } +} |