summaryrefslogtreecommitdiffstats
path: root/server/tests/src
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-12-14 17:04:26 +0200
committerLeif Åstrand <leif@vaadin.com>2012-12-14 17:04:26 +0200
commit6511a066c124a8c336bd299c6200c99fe0c0b08c (patch)
tree42748c2845b895e044c673cb9c2b9b7530e090bd /server/tests/src
parenta5f373333258ed361ad71647e7ac1a514960566b (diff)
downloadvaadin-framework-6511a066c124a8c336bd299c6200c99fe0c0b08c.tar.gz
vaadin-framework-6511a066c124a8c336bd299c6200c99fe0c0b08c.zip
Support null values in legacy messages (#9254)
Change-Id: I8a7bc1f52ffed7acc2de03c6d17cdff7f640ddf2
Diffstat (limited to 'server/tests/src')
-rw-r--r--server/tests/src/com/vaadin/server/JSONSerializerTest.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/server/tests/src/com/vaadin/server/JSONSerializerTest.java b/server/tests/src/com/vaadin/server/JSONSerializerTest.java
index fc02c13781..981f74a2a4 100644
--- a/server/tests/src/com/vaadin/server/JSONSerializerTest.java
+++ b/server/tests/src/com/vaadin/server/JSONSerializerTest.java
@@ -16,13 +16,20 @@ package com.vaadin.server;
* the License.
*/
import java.lang.reflect.Type;
+import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
+import junit.framework.AssertionFailedError;
import junit.framework.TestCase;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
import com.vaadin.server.JsonCodec.BeanProperty;
+import com.vaadin.shared.communication.UidlValue;
import com.vaadin.shared.ui.splitpanel.AbstractSplitPanelState;
/**
@@ -72,6 +79,26 @@ public class JSONSerializerTest extends TestCase {
ensureDecodedCorrectly(stateToStringMap, encodedMap, mapType);
}
+ public void testNullLegacyValue() throws JSONException {
+ JSONArray inputArray = new JSONArray(
+ Arrays.asList("n", JSONObject.NULL));
+ UidlValue decodedObject = (UidlValue) JsonCodec.decodeInternalType(
+ UidlValue.class, true, inputArray, null);
+ assertNull(decodedObject.getValue());
+ }
+
+ public void testNullTypeOtherValue() {
+ try {
+ JSONArray inputArray = new JSONArray(Arrays.asList("n", "a"));
+ UidlValue decodedObject = (UidlValue) JsonCodec.decodeInternalType(
+ UidlValue.class, true, inputArray, null);
+
+ throw new AssertionFailedError("No JSONException thrown");
+ } catch (JSONException e) {
+ // Should throw exception
+ }
+ }
+
private void ensureDecodedCorrectly(Object original, Object encoded,
Type type) throws Exception {
Object serverSideDecoded = JsonCodec.decodeInternalOrCustomType(type,