diff --git a/gson/src/main/java/com/google/gson/JsonSerializationVisitor.java b/gson/src/main/java/com/google/gson/JsonSerializationVisitor.java index 049876dd..9887c487 100644 --- a/gson/src/main/java/com/google/gson/JsonSerializationVisitor.java +++ b/gson/src/main/java/com/google/gson/JsonSerializationVisitor.java @@ -22,7 +22,7 @@ import java.lang.reflect.Type; /** * A visitor that adds JSON elements corresponding to each field of an object - * + * * @author Inderjeet Singh * @author Joel Leitch */ @@ -184,8 +184,8 @@ final class JsonSerializationVisitor implements ObjectNavigator.Visitor { objTypePair = pair.getSecond(); start(objTypePair); try { - JsonElement element = - serializer.serialize(objTypePair.getObject(), objTypePair.getType(), context); + JsonElement element = + serializer.serialize(objTypePair.getObject(), objTypePair.getType(), context); return element == null ? JsonNull.createJsonNull() : element; } finally { end(objTypePair); diff --git a/gson/src/test/java/com/google/gson/functional/CustomSerializerTest.java b/gson/src/test/java/com/google/gson/functional/CustomSerializerTest.java index ecc06949..c8095463 100644 --- a/gson/src/test/java/com/google/gson/functional/CustomSerializerTest.java +++ b/gson/src/test/java/com/google/gson/functional/CustomSerializerTest.java @@ -16,10 +16,6 @@ package com.google.gson.functional; -import java.lang.reflect.Type; - -import junit.framework.TestCase; - import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; @@ -34,19 +30,23 @@ import com.google.gson.common.TestTypes.ClassWithBaseField; import com.google.gson.common.TestTypes.Sub; import com.google.gson.common.TestTypes.SubSerializer; +import junit.framework.TestCase; + +import java.lang.reflect.Type; + /** - * Functional Test exercising custom serialization only. When test applies to both + * Functional Test exercising custom serialization only. When test applies to both * serialization and deserialization then add it to CustomTypeAdapterTest. * * @author Inderjeet Singh */ public class CustomSerializerTest extends TestCase { - + public void testBaseClassSerializerInvokedForBaseClassFields() { Gson gson = new GsonBuilder() - .registerTypeAdapter(Base.class, new BaseSerializer()) - .registerTypeAdapter(Sub.class, new SubSerializer()) - .create(); + .registerTypeAdapter(Base.class, new BaseSerializer()) + .registerTypeAdapter(Sub.class, new SubSerializer()) + .create(); ClassWithBaseField target = new ClassWithBaseField(new Base()); JsonObject json = (JsonObject) gson.toJsonTree(target); JsonObject base = json.get("base").getAsJsonObject(); @@ -55,9 +55,9 @@ public class CustomSerializerTest extends TestCase { public void testSubClassSerializerInvokedForBaseClassFieldsHoldingSubClassInstances() { Gson gson = new GsonBuilder() - .registerTypeAdapter(Base.class, new BaseSerializer()) - .registerTypeAdapter(Sub.class, new SubSerializer()) - .create(); + .registerTypeAdapter(Base.class, new BaseSerializer()) + .registerTypeAdapter(Sub.class, new SubSerializer()) + .create(); ClassWithBaseField target = new ClassWithBaseField(new Sub()); JsonObject json = (JsonObject) gson.toJsonTree(target); JsonObject base = json.get("base").getAsJsonObject(); @@ -66,9 +66,9 @@ public class CustomSerializerTest extends TestCase { public void testSubClassSerializerInvokedForBaseClassFieldsHoldingArrayOfSubClassInstances() { Gson gson = new GsonBuilder() - .registerTypeAdapter(Base.class, new BaseSerializer()) - .registerTypeAdapter(Sub.class, new SubSerializer()) - .create(); + .registerTypeAdapter(Base.class, new BaseSerializer()) + .registerTypeAdapter(Sub.class, new SubSerializer()) + .create(); ClassWithBaseArrayField target = new ClassWithBaseArrayField(new Base[] {new Sub(), new Sub()}); JsonObject json = (JsonObject) gson.toJsonTree(target); JsonArray array = json.get("base").getAsJsonArray(); @@ -77,27 +77,26 @@ public class CustomSerializerTest extends TestCase { assertEquals(SubSerializer.NAME, serializerKey.getAsString()); } } - + public void testBaseClassSerializerInvokedForBaseClassFieldsHoldingSubClassInstances() { Gson gson = new GsonBuilder() - .registerTypeAdapter(Base.class, new BaseSerializer()) - .create(); + .registerTypeAdapter(Base.class, new BaseSerializer()) + .create(); ClassWithBaseField target = new ClassWithBaseField(new Sub()); JsonObject json = (JsonObject) gson.toJsonTree(target); JsonObject base = json.get("base").getAsJsonObject(); assertEquals(BaseSerializer.NAME, base.get(Base.SERIALIZER_KEY).getAsString()); } - + public void testSerializerReturnsNull() { Gson gson = new GsonBuilder() .registerTypeAdapter(Base.class, new JsonSerializer() { public JsonElement serialize(Base src, Type typeOfSrc, JsonSerializationContext context) { return null; - } + } }) .create(); - JsonElement json = gson.toJsonTree(new Base()); - System.out.println(json); + JsonElement json = gson.toJsonTree(new Base()); assertTrue(json.isJsonNull()); } }