Skip to content

Commit 5663ba9

Browse files
committed
add test cases
1 parent 3773883 commit 5663ba9

File tree

1 file changed

+38
-0
lines changed
  • src/test/kotlin/com/fasterxml/jackson/module/kotlin/test/github

1 file changed

+38
-0
lines changed

src/test/kotlin/com/fasterxml/jackson/module/kotlin/test/github/Github356.kt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,35 @@ class TestGithub356 {
1515
assertEquals(original, mapper.readValue(mapper.writeValueAsString(original)))
1616
}
1717

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+
1830
@Test
1931
fun serializeInlineClass() {
2032
val original = ClassWithInlineMember(InlineClass("bar"))
2133
assertEquals("""{"inlineClassProperty":"bar"}""", mapper.writeValueAsString(original))
2234
}
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+
}
2347
}
2448

2549
@Suppress("EXPERIMENTAL_FEATURE_WARNING") // Enabled in test-compile
@@ -31,3 +55,17 @@ data class ClassWithInlineMember(val inlineClassProperty: InlineClass) {
3155
fun build() = ClassWithInlineMember(InlineClass(inlineClassProperty))
3256
}
3357
}
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

Comments
 (0)