Skip to content

Commit e4fd10d

Browse files
committed
add failing test
1 parent 2de548a commit e4fd10d

File tree

1 file changed

+22
-2
lines changed
  • src/test/kotlin/com/fasterxml/jackson/module/kotlin/test/github

1 file changed

+22
-2
lines changed

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

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,20 @@ package com.fasterxml.jackson.module.kotlin.test.github
22

33
import com.fasterxml.jackson.core.JsonGenerator
44
import com.fasterxml.jackson.databind.SerializerProvider
5+
import com.fasterxml.jackson.databind.annotation.JsonSerialize
56
import com.fasterxml.jackson.databind.module.SimpleModule
67
import com.fasterxml.jackson.databind.ser.std.StdSerializer
78
import com.fasterxml.jackson.module.kotlin.jacksonMapperBuilder
9+
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
810
import org.junit.Test
911
import kotlin.test.assertEquals
12+
import kotlin.test.assertNotEquals
1013

1114
// Most of the current behavior has been tested on GitHub464, so only serializer-related behavior is tested here.
1215
class GitHub524 {
1316
@JvmInline
1417
value class HasSerializer(val value: Int?)
15-
object Serializer : StdSerializer<HasSerializer>(HasSerializer::class.java) {
18+
class Serializer : StdSerializer<HasSerializer>(HasSerializer::class.java) {
1619
override fun serialize(value: HasSerializer, gen: JsonGenerator, provider: SerializerProvider) {
1720
gen.writeString(value.toString())
1821
}
@@ -35,7 +38,7 @@ class GitHub524 {
3538
@Test
3639
fun test() {
3740
val sm = SimpleModule()
38-
.addSerializer(Serializer)
41+
.addSerializer(Serializer())
3942
val writer = jacksonMapperBuilder().addModule(sm).build().writerWithDefaultPrettyPrinter()
4043

4144
// 18446744073709551615 is ULong.MAX_VALUE.
@@ -52,4 +55,21 @@ class GitHub524 {
5255
writer.writeValueAsString(Poko())
5356
)
5457
}
58+
59+
class SerializeByAnnotation(@get:JsonSerialize(using = Serializer::class) val foo: HasSerializer = HasSerializer(1))
60+
61+
@Test
62+
fun failing() {
63+
val writer = jacksonObjectMapper().writerWithDefaultPrettyPrinter()
64+
65+
// JsonSerialize is not working now.
66+
assertNotEquals(
67+
"""
68+
{
69+
"foo" : "HasSerializer(value=1)"
70+
}
71+
""".trimIndent(),
72+
writer.writeValueAsString(SerializeByAnnotation())
73+
)
74+
}
5575
}

0 commit comments

Comments
 (0)