]> source.dussan.org Git - vaadin-framework.git/commitdiff
Additional test for converters (#8185)
authorArtur Signell <artur@vaadin.com>
Tue, 19 Jun 2012 12:36:35 +0000 (15:36 +0300)
committerArtur Signell <artur@vaadin.com>
Thu, 21 Jun 2012 14:11:25 +0000 (17:11 +0300)
tests/server-side/com/vaadin/tests/server/component/abstractfield/AbstractFieldValueConversions.java

index 050ab282a608f2796334681eda10aaaa0d522400..7305e022ee52366b1f20560890b94eede154f114 100644 (file)
@@ -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<Number>(nb, "number"));
+        assertEquals(490, tf.getPropertyDataSource().getValue());
+        assertEquals("490", tf.getValue());
+
+        Converter c1 = tf.getConverter();
+
+        tf.setPropertyDataSource(new MethodProperty<Number>(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());
+
+    }
+
 }