@@ -15,11 +15,35 @@ class TestGithub356 {
15
15
assertEquals(original, mapper.readValue(mapper.writeValueAsString(original)))
16
16
}
17
17
18
+ @Test
19
+ fun deserializeKebabInlineMember () {
20
+ val original = ClassWithKebabInlineMember (InlineClass (" bar" ))
21
+ assertEquals(original, mapper.readValue(mapper.writeValueAsString(original)))
22
+ }
23
+
24
+ @Test
25
+ fun deserializeNamedInlineClass () {
26
+ val original = ClassWithNamedInlineMember (InlineClass (" bar" ))
27
+ assertEquals(original, mapper.readValue(mapper.writeValueAsString(original)))
28
+ }
29
+
18
30
@Test
19
31
fun serializeInlineClass () {
20
32
val original = ClassWithInlineMember (InlineClass (" bar" ))
21
33
assertEquals(""" {"inlineClassProperty":"bar"}""" , mapper.writeValueAsString(original))
22
34
}
35
+
36
+ @Test
37
+ fun serializeKebabInlineClass () {
38
+ val original = ClassWithKebabInlineMember (InlineClass (" bar" ))
39
+ assertEquals(""" {"inline-class-property":"bar"}""" , mapper.writeValueAsString(original))
40
+ }
41
+
42
+ @Test
43
+ fun serializeNamedInlineClass () {
44
+ val original = ClassWithNamedInlineMember (InlineClass (" bar" ))
45
+ assertEquals(""" {"inline-":"bar"}""" , mapper.writeValueAsString(original))
46
+ }
23
47
}
24
48
25
49
@Suppress(" EXPERIMENTAL_FEATURE_WARNING" ) // Enabled in test-compile
@@ -31,3 +55,17 @@ data class ClassWithInlineMember(val inlineClassProperty: InlineClass) {
31
55
fun build () = ClassWithInlineMember (InlineClass (inlineClassProperty))
32
56
}
33
57
}
58
+
59
+ @JsonDeserialize(builder = ClassWithKebabInlineMember .JacksonBuilder ::class )
60
+ data class ClassWithKebabInlineMember (val `inline-class-property`: InlineClass ) {
61
+ data class JacksonBuilder constructor(val `inline-class-property`: String ) {
62
+ fun build () = ClassWithKebabInlineMember (InlineClass (`inline- class - property`))
63
+ }
64
+ }
65
+
66
+ @JsonDeserialize(builder = ClassWithNamedInlineMember .JacksonBuilder ::class )
67
+ data class ClassWithNamedInlineMember (@get:JvmName("getInline-") val `inline-`: InlineClass ) {
68
+ data class JacksonBuilder constructor(val `inline-`: String ) {
69
+ fun build () = ClassWithNamedInlineMember (InlineClass (`inline- `))
70
+ }
71
+ }
0 commit comments