diff options
author | Artur Signell <artur@vaadin.com> | 2015-06-02 21:21:44 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2015-06-05 11:01:20 +0000 |
commit | 27f574154b5e27407370b6e072e5fa13d1d97797 (patch) | |
tree | 4ce666f0da18ddc2a8030518d6933073e4262920 /server/tests | |
parent | 69714e4251b3ef16ef18d96282996f9f452ec3fe (diff) | |
download | vaadin-framework-27f574154b5e27407370b6e072e5fa13d1d97797.tar.gz vaadin-framework-27f574154b5e27407370b6e072e5fa13d1d97797.zip |
Better error messages for addColumn/setColumns (#18019, #17890)
Change-Id: Iadf455ae6cbc60e0ce0b88fe7c12df946ed08cf0
Diffstat (limited to 'server/tests')
-rw-r--r-- | server/tests/src/com/vaadin/tests/server/component/grid/GridContainerTest.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/server/tests/src/com/vaadin/tests/server/component/grid/GridContainerTest.java b/server/tests/src/com/vaadin/tests/server/component/grid/GridContainerTest.java index cbd448618b..527568eac8 100644 --- a/server/tests/src/com/vaadin/tests/server/component/grid/GridContainerTest.java +++ b/server/tests/src/com/vaadin/tests/server/component/grid/GridContainerTest.java @@ -15,9 +15,11 @@ */ package com.vaadin.tests.server.component.grid; +import org.junit.Assert; import org.junit.Test; import com.vaadin.data.util.IndexedContainer; +import com.vaadin.ui.Grid; public class GridContainerTest { @@ -43,4 +45,56 @@ public class GridContainerTest { container.addItem(0).getItemProperty("x").setValue("y"); return container; } + + @Test + public void setColumnsOrder() { + Grid grid = new Grid(); + IndexedContainer ic = new IndexedContainer(); + ic.addContainerProperty("foo", String.class, ""); + ic.addContainerProperty("baz", String.class, ""); + ic.addContainerProperty("bar", String.class, ""); + grid.setContainerDataSource(ic); + grid.setColumns("foo", "baz", "bar"); + + Assert.assertEquals("foo", grid.getColumns().get(0).getPropertyId()); + Assert.assertEquals("baz", grid.getColumns().get(1).getPropertyId()); + Assert.assertEquals("bar", grid.getColumns().get(2).getPropertyId()); + } + + @Test + public void addColumnNotInContainer() { + Grid grid = new Grid(); + grid.setContainerDataSource(new IndexedContainer()); + try { + grid.addColumn("notInContainer"); + Assert.fail("Adding a property id not in the container should throw an exception"); + } catch (IllegalStateException e) { + Assert.assertTrue(e.getMessage().contains("notInContainer")); + Assert.assertTrue(e.getMessage().contains( + "does not exist in the container")); + } + } + + @Test + public void setColumnsForPropertyIdNotInContainer() { + Grid grid = new Grid(); + grid.setContainerDataSource(new IndexedContainer()); + try { + grid.setColumns("notInContainer", "notThereEither"); + Assert.fail("Setting columns for property ids not in the container should throw an exception"); + } catch (IllegalStateException e) { + // addColumn is run in random order.. + Assert.assertTrue(e.getMessage().contains("notInContainer") + || e.getMessage().contains("notThereEither")); + Assert.assertTrue(e.getMessage().contains( + "does not exist in the container")); + } + } + + @Test(expected = IllegalStateException.class) + public void multipleAddColumnsForDefaultContainer() { + Grid grid = new Grid(); + grid.addColumn("foo"); + grid.addColumn("foo"); + } } |