diff options
Diffstat (limited to 'server/src/test/java')
-rw-r--r-- | server/src/test/java/com/vaadin/tests/server/component/grid/GridChildrenTest.java | 86 |
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()); + } +} |