From 1f4c5f8ee28ba7ce6b5a3c490ff5cf70849f1807 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 18 Dec 2012 11:22:28 +0200 Subject: Do not update data model when locale changes (#10562, #8192) Change-Id: I84e00c9e73d69bb398a8e9cc2c6bdb7fa60d3907 --- .../AbstractFieldValueConversions.java | 22 ++++++++++++++++++++++ 1 file changed, 22 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 16c7c4060d..2f1b1f9dbc 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 @@ -26,6 +26,12 @@ public class AbstractFieldValueConversions extends TestCase { 34, Sex.FEMALE, new Address("Paula street 1", 12345, "P-town", Country.FINLAND)); + /** + * Java uses a non-breaking space (ascii 160) instead of space when + * formatting + */ + private static final char FORMATTED_SPACE = 160; + public void testWithoutConversion() { TextField tf = new TextField(); tf.setPropertyDataSource(new MethodProperty(paulaBean, @@ -87,6 +93,22 @@ public class AbstractFieldValueConversions extends TestCase { assertEquals("42", tf.getValue()); } + public void testChangeReadOnlyFieldLocale() { + VaadinSession.setCurrent(new VaadinSession(null)); + + TextField tf = new TextField("salary"); + tf.setLocale(new Locale("en", "US")); + ObjectProperty ds = new ObjectProperty(123456789); + ds.setReadOnly(true); + 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 testBooleanNullConversion() { CheckBox cb = new CheckBox(); cb.setConverter(new Converter() { -- cgit v1.2.3