diff options
author | Denis Anisimov <denis@vaadin.com> | 2015-07-07 19:39:05 +0300 |
---|---|---|
committer | Teemu Suo-Anttila <teemusa@vaadin.com> | 2015-07-08 11:00:01 +0300 |
commit | a31104cfd2c4b4843be95fd9611323f16d4b9d2b (patch) | |
tree | aa8472e988263d62a51c01c2a4c56c17e27b1130 | |
parent | ac8aa788c2b1ded7787fb632b93080999256d2f6 (diff) | |
download | vaadin-framework-a31104cfd2c4b4843be95fd9611323f16d4b9d2b.tar.gz vaadin-framework-a31104cfd2c4b4843be95fd9611323f16d4b9d2b.zip |
Always add "last" item from the string to the collection (#18433).
Change-Id: Icf838aec9519aa12ea43773be86e508115c3883f
-rw-r--r-- | server/src/com/vaadin/data/util/converter/StringToCollectionConverter.java | 4 | ||||
-rw-r--r-- | server/tests/src/com/vaadin/tests/data/converter/StringToCollectionConverterTest.java | 10 |
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; } |