aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/test/java
diff options
context:
space:
mode:
authorArtur <artur@vaadin.com>2017-03-08 16:34:03 +0200
committerHenri Sara <henri.sara@gmail.com>2017-03-08 16:34:03 +0200
commitd1282e8734bccf78250554665a13dfffcc14deb7 (patch)
tree7d7b86931e7b3494b3380db7956db52c5aaff83c /server/src/test/java
parent76713bbb4cea42647f149f582e47e1254beb468f (diff)
downloadvaadin-framework-d1282e8734bccf78250554665a13dfffcc14deb7.tar.gz
vaadin-framework-d1282e8734bccf78250554665a13dfffcc14deb7.zip
Include components in joined cells when finding child components (#8772)
Fixes #8722
Diffstat (limited to 'server/src/test/java')
-rw-r--r--server/src/test/java/com/vaadin/tests/server/component/grid/GridChildrenTest.java86
1 files changed, 86 insertions, 0 deletions
diff --git a/server/src/test/java/com/vaadin/tests/server/component/grid/GridChildrenTest.java b/server/src/test/java/com/vaadin/tests/server/component/grid/GridChildrenTest.java
new file mode 100644
index 0000000000..4959169cf8
--- /dev/null
+++ b/server/src/test/java/com/vaadin/tests/server/component/grid/GridChildrenTest.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2000-2016 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.server.component.grid;
+
+import java.util.Iterator;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.vaadin.tests.data.bean.Person;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.Grid;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.components.grid.FooterCell;
+import com.vaadin.ui.components.grid.HeaderCell;
+
+public class GridChildrenTest {
+
+ private Grid<Person> grid;
+
+ @Before
+ public void createGrid() {
+ grid = new Grid<>();
+ grid.addColumn(Person::getFirstName).setId("foo");
+ grid.addColumn(Person::getLastName).setId("bar");
+ grid.addColumn(Person::getEmail).setId("baz");
+
+ }
+
+ @Test
+ public void iteratorFindsComponentsInMergedHeader() {
+ HeaderCell merged = grid.getDefaultHeaderRow().join("foo", "bar",
+ "baz");
+ Label label = new Label();
+ merged.setComponent(label);
+ Iterator<Component> i = grid.iterator();
+ Assert.assertEquals(label, i.next());
+ Assert.assertFalse(i.hasNext());
+ }
+
+ @Test
+ public void removeComponentInMergedHeaderCell() {
+ HeaderCell merged = grid.getDefaultHeaderRow().join("foo", "bar",
+ "baz");
+ Label label = new Label();
+ merged.setComponent(label);
+ Assert.assertEquals(grid, label.getParent());
+ merged.setText("foo");
+ Assert.assertNull(label.getParent());
+ }
+
+ @Test
+ public void removeComponentInMergedFooterCell() {
+ FooterCell merged = grid.addFooterRowAt(0).join("foo", "bar", "baz");
+ Label label = new Label();
+ merged.setComponent(label);
+ Assert.assertEquals(grid, label.getParent());
+ merged.setText("foo");
+ Assert.assertNull(label.getParent());
+ }
+
+ @Test
+ public void componentsInMergedFooter() {
+ FooterCell merged = grid.addFooterRowAt(0).join("foo", "bar", "baz");
+ Label label = new Label();
+ merged.setComponent(label);
+ Iterator<Component> i = grid.iterator();
+ Assert.assertEquals(label, i.next());
+ Assert.assertFalse(i.hasNext());
+ Assert.assertEquals(grid, label.getParent());
+ }
+}