summaryrefslogtreecommitdiffstats
path: root/server/tests
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2015-06-02 21:21:44 +0300
committerVaadin Code Review <review@vaadin.com>2015-06-05 11:01:20 +0000
commit27f574154b5e27407370b6e072e5fa13d1d97797 (patch)
tree4ce666f0da18ddc2a8030518d6933073e4262920 /server/tests
parent69714e4251b3ef16ef18d96282996f9f452ec3fe (diff)
downloadvaadin-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.java54
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");
+ }
}