From: Artur Signell Date: Tue, 19 Jun 2012 12:36:35 +0000 (+0300) Subject: Additional test for converters (#8185) X-Git-Tag: 7.0.0.alpha3~86 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=71abc602b00089b17b247c64729588a0d187eafd;p=vaadin-framework.git Additional test for converters (#8185) --- diff --git a/tests/server-side/com/vaadin/tests/server/component/abstractfield/AbstractFieldValueConversions.java b/tests/server-side/com/vaadin/tests/server/component/abstractfield/AbstractFieldValueConversions.java index 050ab282a6..7305e022ee 100644 --- a/tests/server-side/com/vaadin/tests/server/component/abstractfield/AbstractFieldValueConversions.java +++ b/tests/server-side/com/vaadin/tests/server/component/abstractfield/AbstractFieldValueConversions.java @@ -4,6 +4,7 @@ import java.util.Locale; import junit.framework.TestCase; +import com.vaadin.Application; import com.vaadin.data.util.MethodProperty; import com.vaadin.data.util.converter.Converter; import com.vaadin.data.util.converter.StringToIntegerConverter; @@ -159,4 +160,45 @@ public class AbstractFieldValueConversions extends TestCase { } + public static class NumberBean { + private Number number; + + public Number getNumber() { + return number; + } + + public void setNumber(Number number) { + this.number = number; + } + + } + + public void testNumberDoubleConverterChange() { + final Application a = new Application(); + Application.setCurrentApplication(a); + TextField tf = new TextField() { + @Override + public Application getApplication() { + return a; + } + }; + NumberBean nb = new NumberBean(); + nb.setNumber(490); + + tf.setPropertyDataSource(new MethodProperty(nb, "number")); + assertEquals(490, tf.getPropertyDataSource().getValue()); + assertEquals("490", tf.getValue()); + + Converter c1 = tf.getConverter(); + + tf.setPropertyDataSource(new MethodProperty(nb, "number")); + Converter c2 = tf.getConverter(); + assertTrue( + "StringToNumber converter is ok for integer types and should stay even though property is changed", + c1 == c2); + assertEquals(490, tf.getPropertyDataSource().getValue()); + assertEquals("490", tf.getValue()); + + } + }