From 9153f1534aa78dc0c85c0a512f956d30c0e1c570 Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Wed, 2 Aug 2017 14:00:18 +0300 Subject: [PATCH] Stabilize integration test using Grid (#9766) --- .../finland-phantomjs.png | Bin 11577 -> 10897 bytes .../initial-phantomjs.png | Bin 10740 -> 10130 bytes .../integration/ServletIntegrationUI.java | 68 ++++++++++-------- .../AbstractServletIntegrationTest.java | 4 +- 4 files changed, 42 insertions(+), 30 deletions(-) diff --git a/test/servlet-containers/generic/reference-screenshots/finland-phantomjs.png b/test/servlet-containers/generic/reference-screenshots/finland-phantomjs.png index e372c198e28a34c4953d2b2adb50b32f87f11f97..78533075842e67f28c5ca4123be65a431270f212 100644 GIT binary patch literal 10897 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 NId1k{p5eu?e**Dk3WWdw literal 11577 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 QBDEacZ@w>Q&kv#h3yd85%>V!Z diff --git a/test/servlet-containers/generic/reference-screenshots/initial-phantomjs.png b/test/servlet-containers/generic/reference-screenshots/initial-phantomjs.png index 642759734ecb9af3bdfb5b07c8a3373c425274da..8764e467f2957062c0747e9ea135f7f028aea66d 100644 GIT binary patch literal 10130 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 AoB#j- literal 10740 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 BGS~nB diff --git a/test/servlet-containers/generic/src/main/java/com/vaadin/tests/integration/ServletIntegrationUI.java b/test/servlet-containers/generic/src/main/java/com/vaadin/tests/integration/ServletIntegrationUI.java index af20c415ad7..0d4010beaa3 100644 --- a/test/servlet-containers/generic/src/main/java/com/vaadin/tests/integration/ServletIntegrationUI.java +++ b/test/servlet-containers/generic/src/main/java/com/vaadin/tests/integration/ServletIntegrationUI.java @@ -5,49 +5,61 @@ import com.vaadin.server.ClassResource; import com.vaadin.server.Resource; import com.vaadin.server.VaadinRequest; +import com.vaadin.ui.Grid; +import com.vaadin.ui.Image; import com.vaadin.ui.Label; import com.vaadin.ui.UI; import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.declarative.Design; -import com.vaadin.v7.data.Item; -import com.vaadin.v7.data.Property.ValueChangeEvent; -import com.vaadin.v7.data.Property.ValueChangeListener; -import com.vaadin.v7.ui.Table; -@Widgetset("com.vaadin.v7.Vaadin7WidgetSet") +@Widgetset("com.vaadin.DefaultWidgetSet") public class ServletIntegrationUI extends UI { + public static class Country { + private final String name; + private final String id; + private final Resource icon; + + public Country(String name, String id, Resource icon) { + this.name = name; + this.id = id; + this.icon = icon; + } + + public String getName() { + return name; + } + + public String getId() { + return id; + } + + public Resource getIcon() { + return icon; + } + } + @Override protected void init(VaadinRequest request) { VerticalLayout layout = new VerticalLayout(); layout.setMargin(true); setContent(layout); - final Table table = new Table(); - table.addContainerProperty("icon", Resource.class, null); - table.setItemIconPropertyId("icon"); - table.addContainerProperty("country", String.class, null); - table.setRowHeaderMode(Table.RowHeaderMode.ICON_ONLY); - table.setImmediate(true); - table.setSelectable(true); - table.setVisibleColumns(new Object[] { "country" }); - layout.addComponent(table); - table.setWidth("112px"); - - Item item = table.addItem("FI"); - item.getItemProperty("icon").setValue(new ClassResource("fi.gif")); - item.getItemProperty("country").setValue("Finland"); - item = table.addItem("SE"); - item.getItemProperty("icon").setValue(new FlagSeResource()); - item.getItemProperty("country").setValue("Sweden"); + final Grid grid = new Grid<>(); + // TODO ImageRenderer does not support ClassResource + grid.addComponentColumn(country -> new Image(null, country.getIcon())) + .setWidth(50).setCaption(""); + grid.addColumn(country -> country.getName()).setWidth(100) + .setCaption("Country"); + grid.setItems(new Country("Finland", "FI", new ClassResource("fi.gif")), + new Country("Sweden", "SE", new FlagSeResource())); + grid.setHeight("200px"); + grid.setWidth("200px"); + layout.addComponent(grid); final Label selectedLabel = new LabelFromDesign(); - table.addValueChangeListener(new ValueChangeListener() { - @Override - public void valueChange(ValueChangeEvent event) { - selectedLabel.setValue(String.valueOf(table.getValue())); - } - }); + grid.addSelectionListener(event -> selectedLabel.setValue( + event.getFirstSelectedItem().map(c -> c.getId()).orElse(""))); layout.addComponent(selectedLabel); } diff --git a/test/servlet-containers/generic/src/test/java/com/vaadin/tests/integration/AbstractServletIntegrationTest.java b/test/servlet-containers/generic/src/test/java/com/vaadin/tests/integration/AbstractServletIntegrationTest.java index fd3600df38b..ddfcb9ec3be 100644 --- a/test/servlet-containers/generic/src/test/java/com/vaadin/tests/integration/AbstractServletIntegrationTest.java +++ b/test/servlet-containers/generic/src/test/java/com/vaadin/tests/integration/AbstractServletIntegrationTest.java @@ -2,7 +2,7 @@ import org.junit.Test; -import com.vaadin.testbench.elements.TableElement; +import com.vaadin.testbench.elements.GridElement; public abstract class AbstractServletIntegrationTest extends AbstractIntegrationTest { @@ -12,7 +12,7 @@ public void runTest() throws Exception { // make sure no fading progress indicator from table update is lingering Thread.sleep(2000); compareScreen("initial"); - $(TableElement.class).first().getCell(0, 1).click(); + $(GridElement.class).first().getCell(0, 1).click(); // without this, table fetch might have a fading progress indicator Thread.sleep(2000); compareScreen("finland");