]> source.dussan.org Git - vaadin-framework.git/commitdiff
Allow use of Collection<String> and others with addItems (#13865)
authorArtur Signell <artur@vaadin.com>
Wed, 28 May 2014 12:29:28 +0000 (15:29 +0300)
committerArtur Signell <artur@vaadin.com>
Wed, 28 May 2014 12:30:41 +0000 (15:30 +0300)
Change-Id: Ie5c0a00b65d27f65522a14c4fbcd05fe21814cc0

server/src/com/vaadin/ui/AbstractSelect.java
server/tests/src/com/vaadin/ui/AbstractSelectTest.java [new file with mode: 0644]

index c6abb8e68524e9a7731da12dcbd0cf435f3328ea..b8db32990609b78b4d53c83d862cd9ddb1487a61 100644 (file)
@@ -904,7 +904,7 @@ public abstract class AbstractSelect extends AbstractField<Object> implements
      *             if the underlying container don't support adding items with
      *             identifiers
      */
-    public void addItems(Collection<Object> itemIds)
+    public void addItems(Collection<?> itemIds)
             throws UnsupportedOperationException {
         addItems(itemIds.toArray());
     }
diff --git a/server/tests/src/com/vaadin/ui/AbstractSelectTest.java b/server/tests/src/com/vaadin/ui/AbstractSelectTest.java
new file mode 100644 (file)
index 0000000..83d66ee
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * 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.ui;
+
+import java.util.ArrayList;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class AbstractSelectTest {
+
+    @Test
+    public void addItemsStrings() {
+        NativeSelect ns = new NativeSelect();
+        ns.addItems("Foo", "bar", "baz");
+        Assert.assertEquals(3, ns.size());
+        Assert.assertArrayEquals(new Object[] { "Foo", "bar", "baz" }, ns
+                .getItemIds().toArray());
+    }
+
+    @Test
+    public void addItemsObjects() {
+        Object o1 = new Object();
+        Object o2 = new Object();
+        Object o3 = new Object();
+
+        NativeSelect ns = new NativeSelect();
+        ns.addItems(o1, o2, o3);
+        Assert.assertEquals(3, ns.size());
+        Assert.assertArrayEquals(new Object[] { o1, o2, o3 }, ns.getItemIds()
+                .toArray());
+    }
+
+    @Test
+    public void addItemsStringList() {
+        ArrayList<String> itemIds = new ArrayList<String>();
+        itemIds.add("foo");
+        itemIds.add("bar");
+        itemIds.add("baz");
+        NativeSelect ns = new NativeSelect();
+        ns.addItems(itemIds);
+        Assert.assertEquals(3, ns.size());
+        Assert.assertArrayEquals(new Object[] { "foo", "bar", "baz" }, ns
+                .getItemIds().toArray());
+    }
+
+    @Test
+    public void addItemsObjectList() {
+        Object o1 = new Object();
+        Object o2 = new Object();
+        Object o3 = new Object();
+        ArrayList<Object> itemIds = new ArrayList<Object>();
+        itemIds.add(o1);
+        itemIds.add(o2);
+        itemIds.add(o3);
+        NativeSelect ns = new NativeSelect();
+        ns.addItems(itemIds);
+        Assert.assertEquals(3, ns.size());
+        Assert.assertArrayEquals(new Object[] { o1, o2, o3 }, ns.getItemIds()
+                .toArray());
+
+    }
+}