Skip to content

Commit 9a38602

Browse files
committed
Add test for subclass of Properties as field
1 parent de956ed commit 9a38602

File tree

4 files changed

+28
-4
lines changed

4 files changed

+28
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package org.example.customer.properties;
2+
3+
import java.util.Properties;
4+
5+
public class MyProperties extends Properties {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package org.example.customer.properties;
2+
3+
import io.avaje.jsonb.Json;
4+
5+
import java.util.Properties;
6+
7+
@Json
8+
public record PropsSub(MyProperties props) {}

blackbox-test/src/test/java/org/example/customer/properties/PropsTest.java

+14
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class PropsTest {
1313

1414
Jsonb jsonb = Jsonb.builder().build();
1515
JsonType<Props> jsonType = jsonb.type(Props.class);
16+
JsonType<PropsSub> jsonTypeSub = jsonb.type(PropsSub.class);
1617

1718
@Test
1819
void toJson_fromJson() {
@@ -27,4 +28,17 @@ void toJson_fromJson() {
2728

2829
assertThat(fromJson.props()).containsEntry("hi", "hey");
2930
}
31+
32+
@Test
33+
void toJson_fromJson_subclass() {
34+
MyProperties properties = new MyProperties();
35+
36+
properties.setProperty("hi", "hey");
37+
PropsSub props = new PropsSub(properties);
38+
39+
String asJson = jsonTypeSub.toJson(props);
40+
PropsSub fromJson = jsonTypeSub.fromJson(asJson);
41+
42+
assertThat(fromJson.props()).containsEntry("hi", "hey");
43+
}
3044
}

jsonb/src/main/java/io/avaje/jsonb/core/CoreAdapters.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
import io.avaje.jsonb.Jsonb;
77

88
import java.lang.reflect.Type;
9-
import java.util.Collection;
10-
import java.util.List;
11-
import java.util.Map;
12-
import java.util.Set;
9+
import java.util.*;
1310

1411
final class CoreAdapters {
1512

0 commit comments

Comments
 (0)