summaryrefslogtreecommitdiffstats
path: root/uitest
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2015-05-20 20:59:55 +0300
committerVaadin Code Review <review@vaadin.com>2015-06-11 14:59:38 +0000
commit21427ab2a60da967c489d6cc86bf9d89eb02412a (patch)
tree267d24d80f3337d2b493f085ffc670b8cdda1cc0 /uitest
parent40bfdbf83d2e622aa826c8b66f3e2ad7d29ddb6b (diff)
downloadvaadin-framework-21427ab2a60da967c489d6cc86bf9d89eb02412a.tar.gz
vaadin-framework-21427ab2a60da967c489d6cc86bf9d89eb02412a.zip
Render nested invalid layouts correctly (#17598)
Change-Id: I959d62091f79c171a8c9f2c9b4ed2c7a67c65c39
Diffstat (limited to 'uitest')
-rw-r--r--uitest/src/com/vaadin/tests/components/orderedlayout/NestedInvalidLayouts.java87
-rw-r--r--uitest/src/com/vaadin/tests/components/orderedlayout/NestedInvalidLayoutsTest.java57
-rw-r--r--uitest/src/com/vaadin/tests/components/table/SelectAllConstantViewport.java2
3 files changed, 146 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/NestedInvalidLayouts.java b/uitest/src/com/vaadin/tests/components/orderedlayout/NestedInvalidLayouts.java
new file mode 100644
index 0000000000..9bc8a418da
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/orderedlayout/NestedInvalidLayouts.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.components.orderedlayout;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.NativeButton;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ *
+ * @since
+ * @author Vaadin Ltd
+ */
+public class NestedInvalidLayouts extends AbstractTestUI {
+ @Override
+ protected void setup(VaadinRequest request) {
+ fullWidthTest(getLayout(), null);
+ fullWidthTest(getLayout(), "100%");
+ fullHeightTest(getLayout(), null);
+ fullHeightTest(getLayout(), "100%");
+ }
+
+ private void fullWidthTest(VerticalLayout layout, String rootWidth) {
+ // Contains
+ // HL (-1)
+ // * VL (100%)
+ // ** Button (-1) (wide)
+ // ** Button (100%)
+
+ // This should be rendered just as if VL width was -1 (which it will
+ // become when sending width to client), i.e. both buttons should be
+ // equally wide
+
+ final VerticalLayout l = new VerticalLayout();
+ l.setWidth(rootWidth);
+ final Button c = new Button("blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+ c.setWidth(null);
+ l.addComponent(c);
+ final Button b = new Button("c");
+ b.setWidth("100%");
+ l.addComponent(b);
+ layout.addComponent(new HorizontalLayout(l));
+ }
+
+ private void fullHeightTest(VerticalLayout layout, String rootHeight) {
+ // Contains (height)
+ // VL (-1)
+ // * HL (100%)
+ // ** Button (200px) (high)
+ // ** Button (100%)
+
+ // This should be rendered just as if HL height was -1 (which it will
+ // become when sending height to client), i.e. both buttons should be
+ // equally high
+
+ final HorizontalLayout l = new HorizontalLayout();
+ l.setHeight(rootHeight);
+
+ final NativeButton c = new NativeButton("hiiiigh");
+ c.setWidth(null);
+ c.setHeight("200px");
+ l.addComponent(c);
+ final NativeButton b = new NativeButton("c");
+ b.setHeight("100%");
+ l.addComponent(b);
+ VerticalLayout vl = new VerticalLayout(l);
+ vl.setHeight("100%");
+ layout.addComponent(vl);
+ }
+
+}
diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/NestedInvalidLayoutsTest.java b/uitest/src/com/vaadin/tests/components/orderedlayout/NestedInvalidLayoutsTest.java
new file mode 100644
index 0000000000..cbae7acc94
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/orderedlayout/NestedInvalidLayoutsTest.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.components.orderedlayout;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.vaadin.testbench.elements.ButtonElement;
+import com.vaadin.testbench.elements.NativeButtonElement;
+import com.vaadin.tests.tb3.SingleBrowserTest;
+
+public class NestedInvalidLayoutsTest extends SingleBrowserTest {
+
+ @Test
+ public void ensureCorrectSizes() {
+ openTestURL();
+
+ // All Button components should have equal width
+ List<Integer> widths = new ArrayList<Integer>();
+ List<ButtonElement> all = $(ButtonElement.class).state(
+ "primaryStyleName", "v-button").all();
+ for (ButtonElement button : all) {
+ widths.add(button.getSize().getWidth());
+ }
+ assertAllEqual(widths);
+
+ // All NativeButton components should have equal height
+ List<Integer> heights = new ArrayList<Integer>();
+ for (NativeButtonElement button : $(NativeButtonElement.class).all()) {
+ heights.add(button.getSize().getHeight());
+ }
+ assertAllEqual(heights);
+ }
+
+ private void assertAllEqual(List<Integer> values) {
+ Integer first = values.get(0);
+ for (Integer w : values) {
+ Assert.assertEquals(first, w);
+ }
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/components/table/SelectAllConstantViewport.java b/uitest/src/com/vaadin/tests/components/table/SelectAllConstantViewport.java
index 5a406eac48..3bd17c163c 100644
--- a/uitest/src/com/vaadin/tests/components/table/SelectAllConstantViewport.java
+++ b/uitest/src/com/vaadin/tests/components/table/SelectAllConstantViewport.java
@@ -72,6 +72,8 @@ public class SelectAllConstantViewport extends AbstractTestUIWithLog {
layout.addComponent(table);
layout.setSizeFull();
addComponent(layout);
+ getContent().setSizeFull();
+ getLayout().setSizeFull();
}
/*