From 90da2e172af7ae095b1ada5bc7dafc4986b36217 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 18 Dec 2012 16:45:45 +0200 Subject: Update buffered field value if it has not been changed (#8192) Change-Id: I70501fe0813d014304fac71b6b80f94d0fdee9da --- .../AbstractFieldValueConversions.java | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'server/tests') diff --git a/server/tests/src/com/vaadin/tests/server/component/abstractfield/AbstractFieldValueConversions.java b/server/tests/src/com/vaadin/tests/server/component/abstractfield/AbstractFieldValueConversions.java index 2f1b1f9dbc..cd77101ac3 100644 --- a/server/tests/src/com/vaadin/tests/server/component/abstractfield/AbstractFieldValueConversions.java +++ b/server/tests/src/com/vaadin/tests/server/component/abstractfield/AbstractFieldValueConversions.java @@ -44,6 +44,41 @@ public class AbstractFieldValueConversions extends TestCase { assertEquals("abc", paulaBean.getFirstName()); } + public void testNonmodifiedBufferedFieldConversion() { + VaadinSession.setCurrent(new VaadinSession(null)); + TextField tf = new TextField("salary"); + tf.setBuffered(true); + tf.setLocale(new Locale("en", "US")); + ObjectProperty ds = new ObjectProperty(123456789); + tf.setPropertyDataSource(ds); + assertEquals((Integer) 123456789, ds.getValue()); + assertEquals("123,456,789", tf.getValue()); + tf.setLocale(new Locale("fi", "FI")); + assertEquals((Integer) 123456789, ds.getValue()); + assertEquals("123" + FORMATTED_SPACE + "456" + FORMATTED_SPACE + "789", + tf.getValue()); + + } + + public void testModifiedBufferedFieldConversion() { + VaadinSession.setCurrent(new VaadinSession(null)); + TextField tf = new TextField("salary"); + tf.setBuffered(true); + tf.setLocale(new Locale("en", "US")); + ObjectProperty ds = new ObjectProperty(123456789); + tf.setPropertyDataSource(ds); + assertEquals((Integer) 123456789, ds.getValue()); + assertEquals("123,456,789", tf.getValue()); + tf.setValue("123,123"); + assertEquals((Integer) 123456789, ds.getValue()); + assertEquals("123,123", tf.getValue()); + + tf.setLocale(new Locale("fi", "FI")); + assertEquals((Integer) 123456789, ds.getValue()); + // Value should not be updated when field is buffered + assertEquals("123,123", tf.getValue()); + } + public void testStringIdentityConversion() { TextField tf = new TextField(); tf.setConverter(new Converter() { -- cgit v1.2.3