summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/src/com/vaadin/data/util/converter/StringToCollectionConverter.java4
-rw-r--r--server/tests/src/com/vaadin/tests/data/converter/StringToCollectionConverterTest.java10
2 files changed, 11 insertions, 3 deletions
diff --git a/server/src/com/vaadin/data/util/converter/StringToCollectionConverter.java b/server/src/com/vaadin/data/util/converter/StringToCollectionConverter.java
index 495bed74f8..b86fec5558 100644
--- a/server/src/com/vaadin/data/util/converter/StringToCollectionConverter.java
+++ b/server/src/com/vaadin/data/util/converter/StringToCollectionConverter.java
@@ -155,9 +155,7 @@ public class StringToCollectionConverter implements
previous = index + delimiter.length();
index = value.indexOf(delimiter, previous);
}
- if (result.size() > 0) {
- collectToken(value.substring(previous), result, converter, locale);
- }
+ collectToken(value.substring(previous), result, converter, locale);
return result;
}
diff --git a/server/tests/src/com/vaadin/tests/data/converter/StringToCollectionConverterTest.java b/server/tests/src/com/vaadin/tests/data/converter/StringToCollectionConverterTest.java
index 977985c6cb..bcd0dc15bd 100644
--- a/server/tests/src/com/vaadin/tests/data/converter/StringToCollectionConverterTest.java
+++ b/server/tests/src/com/vaadin/tests/data/converter/StringToCollectionConverterTest.java
@@ -141,6 +141,16 @@ public class StringToCollectionConverterTest {
Assert.assertEquals("Z,Y", presentation);
}
+ @Test
+ public void convertToModel_singleItem() {
+ StringToCollectionConverter converter = new StringToCollectionConverter();
+ Collection<?> model = converter.convertToModel("a", List.class, null);
+ Iterator<?> iterator = model.iterator();
+ Assert.assertEquals("Incorrect fist token", "a", iterator.next());
+ Assert.assertFalse("More than one item detected after conversation",
+ iterator.hasNext());
+ }
+
public enum TestEnum {
X, Y, Z;
}