Ensuring that UTC date adapter serializes nulls correctly
This commit is contained in:
parent
f0f9ce42f4
commit
0c3b9670f0
@ -37,9 +37,10 @@ public final class UtcDateTypeAdapter extends TypeAdapter<Date> {
|
|||||||
public void write(JsonWriter out, Date date) throws IOException {
|
public void write(JsonWriter out, Date date) throws IOException {
|
||||||
if (date == null) {
|
if (date == null) {
|
||||||
out.nullValue();
|
out.nullValue();
|
||||||
|
} else {
|
||||||
|
String value = format(date, true, UTC_TIME_ZONE);
|
||||||
|
out.value(value);
|
||||||
}
|
}
|
||||||
String value = format(date, true, UTC_TIME_ZONE);
|
|
||||||
out.value(value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -29,8 +29,8 @@ import com.google.gson.GsonBuilder;
|
|||||||
|
|
||||||
public final class UtcDateTypeAdapterTest extends TestCase {
|
public final class UtcDateTypeAdapterTest extends TestCase {
|
||||||
private final Gson gson = new GsonBuilder()
|
private final Gson gson = new GsonBuilder()
|
||||||
.registerTypeAdapter(Date.class, new UtcDateTypeAdapter())
|
.registerTypeAdapter(Date.class, new UtcDateTypeAdapter())
|
||||||
.create();
|
.create();
|
||||||
|
|
||||||
public void testLocalTimeZone() {
|
public void testLocalTimeZone() {
|
||||||
Date expected = new Date();
|
Date expected = new Date();
|
||||||
@ -71,4 +71,9 @@ public final class UtcDateTypeAdapterTest extends TestCase {
|
|||||||
Date actual = gson.fromJson(expectedJson, Date.class);
|
Date actual = gson.fromJson(expectedJson, Date.class);
|
||||||
assertEquals(expected.getTime(), actual.getTime());
|
assertEquals(expected.getTime(), actual.getTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testNullDateSerialization() {
|
||||||
|
String json = gson.toJson(null, Date.class);
|
||||||
|
assertEquals("null", json);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user