@@ -11,6 +11,7 @@ import kotlinx.serialization.builtins.MapSerializer
11
11
import kotlinx.serialization.builtins.serializer
12
12
import kotlinx.serialization.modules.SerializersModule
13
13
import kotlinx.serialization.modules.polymorphic
14
+ import kotlin.jvm.JvmInline
14
15
import kotlin.test.Test
15
16
import kotlin.test.assertEquals
16
17
@@ -55,6 +56,13 @@ data class NestedClass(
55
56
val abstractMap : Map <AbstractClass , AbstractClass >
56
57
)
57
58
59
+ @Serializable
60
+ @JvmInline
61
+ value class ValueClass (val int : Int )
62
+
63
+ @Serializable
64
+ data class ValueClassWrapper (val value : ValueClass )
65
+
58
66
class EncodersTest {
59
67
60
68
@Test
@@ -191,6 +199,28 @@ class EncodersTest {
191
199
assertEquals(nestedClass, decoded)
192
200
}
193
201
202
+ @Test
203
+ fun encodeDecodeValueClassWrapper () {
204
+ val testValueClassWrapper = ValueClassWrapper (ValueClass (42 ))
205
+ val encoded = encode(ValueClassWrapper .serializer(), testValueClassWrapper) { encodeDefaults = false }
206
+
207
+ nativeAssertEquals(nativeMapOf(" value" to 42 ), encoded)
208
+
209
+ val decoded = decode(ValueClassWrapper .serializer(), encoded)
210
+ assertEquals(testValueClassWrapper, decoded)
211
+ }
212
+
213
+ @Test
214
+ fun encodeDecodeValueClass () {
215
+ val testValueClass = ValueClass (42 )
216
+ val encoded = encode(ValueClass .serializer(), testValueClass) { encodeDefaults = false }
217
+
218
+ nativeAssertEquals(42 , encoded)
219
+
220
+ val decoded = decode(ValueClass .serializer(), encoded)
221
+ assertEquals(testValueClass, decoded)
222
+ }
223
+
194
224
@Test
195
225
fun reencodeTransformationList () {
196
226
val reencoded = reencodeTransformation<List <String >>(nativeListOf(" One" , " Two" , " Three" )) {
0 commit comments