Skip to content

Commit 4c32b03

Browse files
committed
- B verifyAsJson() handles null LocalTimeDates.
Fixes #531
1 parent bd7021a commit 4c32b03

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package org.approvaltests;
2+
3+
import com.spun.util.Wrapper;
4+
import org.junit.jupiter.api.Test;
5+
6+
import java.time.LocalDateTime;
7+
8+
public class JsonApprovalsTest {
9+
@Test
10+
void nullDateTest() {
11+
LocalDateWrapper localDateWrapper = new LocalDateWrapper();
12+
JsonApprovals.verifyAsJson(localDateWrapper, g -> g.serializeNulls());
13+
}
14+
15+
private class LocalDateWrapper {
16+
public LocalDateTime getLocalDate() {
17+
return localDate;
18+
}
19+
20+
public void setLocalDate(LocalDateTime localDate) {
21+
this.localDate = localDate;
22+
}
23+
24+
private LocalDateTime localDate;
25+
}
26+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"localDate": null
3+
}

approvaltests-util/src/main/java/com/spun/util/JsonUtils.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,11 @@ public static class LocalDateTimeAdapter extends TypeAdapter<LocalDateTime>
112112
@Override
113113
public void write(JsonWriter jsonWriter, LocalDateTime instant) throws IOException
114114
{
115-
jsonWriter.value(instant.toString());
115+
if (instant == null) {
116+
jsonWriter.nullValue();
117+
} else {
118+
jsonWriter.value("" + instant);
119+
}
116120
}
117121
@Override
118122
public LocalDateTime read(JsonReader jsonReader) throws IOException

0 commit comments

Comments
 (0)