diff --git a/src/test/kotlin/com/fasterxml/jackson/module/kotlin/test/github/GitHub844.kt b/src/test/kotlin/com/fasterxml/jackson/module/kotlin/test/github/GitHub844.kt new file mode 100644 index 000000000..7ee202d67 --- /dev/null +++ b/src/test/kotlin/com/fasterxml/jackson/module/kotlin/test/github/GitHub844.kt @@ -0,0 +1,30 @@ +package com.fasterxml.jackson.module.kotlin.test.github + +import com.fasterxml.jackson.annotation.JsonTypeInfo +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.module.kotlin.readValue +import com.fasterxml.jackson.module.kotlin.registerKotlinModule +import kotlin.test.Test +import kotlin.test.assertEquals + +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "_type") +private sealed class BaseClass + +private data class ChildClass(val text: String) : BaseClass() + +class GitHub844 { + @Test + fun test() { + val json = """ + { + "_type": "ChildClass", + "text": "Test" + } + """ + + val jacksonObjectMapper = ObjectMapper().registerKotlinModule() + val message = jacksonObjectMapper.readValue(json) + + assertEquals(ChildClass("Test"), message) + } +}