summaryrefslogtreecommitdiff
path: root/formats/json/commonTest
diff options
context:
space:
mode:
authorNicklas Ansman Giertz <nicklas@ansman.se>2021-11-22 04:35:34 -0500
committerGitHub <noreply@github.com>2021-11-22 12:35:34 +0300
commit53b46e9fef0e6b07524dbdc7a8f91b51c721079b (patch)
tree7fd95dc64401f64b92ebd00337e21a1d8f7cfea7 /formats/json/commonTest
parent471f4bbfa28d0dd1d4af869dc992d7604374e4ac (diff)
downloadkotlinx.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.kt27
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!")))
+ }
+}