diff options
author | Nicklas Ansman Giertz <nicklas@ansman.se> | 2021-11-22 04:35:34 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-22 12:35:34 +0300 |
commit | 53b46e9fef0e6b07524dbdc7a8f91b51c721079b (patch) | |
tree | 7fd95dc64401f64b92ebd00337e21a1d8f7cfea7 /formats/json/commonTest | |
parent | 471f4bbfa28d0dd1d4af869dc992d7604374e4ac (diff) | |
download | kotlinx.serialization-53b46e9fef0e6b07524dbdc7a8f91b51c721079b.tar.gz |
Add an encodeCollection extensions (#1749)
Diffstat (limited to 'formats/json/commonTest')
-rw-r--r-- | formats/json/commonTest/src/kotlinx/serialization/EncodingCollectionsTest.kt | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/formats/json/commonTest/src/kotlinx/serialization/EncodingCollectionsTest.kt b/formats/json/commonTest/src/kotlinx/serialization/EncodingCollectionsTest.kt new file mode 100644 index 00000000..cd077e04 --- /dev/null +++ b/formats/json/commonTest/src/kotlinx/serialization/EncodingCollectionsTest.kt @@ -0,0 +1,27 @@ +package kotlinx.serialization + +import kotlinx.serialization.builtins.ListSerializer +import kotlinx.serialization.builtins.serializer +import kotlinx.serialization.descriptors.* +import kotlinx.serialization.encoding.* +import kotlinx.serialization.json.* +import kotlin.test.* + +class EncodingCollectionsTest { + object ListSerializer : KSerializer<List<String>> { + override val descriptor: SerialDescriptor = ListSerializer(String.serializer()).descriptor + + override fun serialize(encoder: Encoder, value: List<String>) { + encoder.encodeCollection(descriptor, value) { index, item -> + encodeStringElement(descriptor, index, item) + } + } + + override fun deserialize(decoder: Decoder): List<String> = throw NotImplementedError() + } + + @Test + fun testEncoding() { + assertEquals("""["Hello","World!"]""", Json.encodeToString(ListSerializer, listOf("Hello", "World!"))) + } +} |