diff options
author | Leonid Startsev <sandwwraith@users.noreply.github.com> | 2018-11-19 15:54:34 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-19 15:54:34 +0300 |
commit | ce7a440a759d4ae34f2b41df161756c8ef15401a (patch) | |
tree | b0a4080fd27af73c1c698808a547155236a14491 | |
parent | 62f4a4f4898ec5957c72031491e3b1455ba7fdbb (diff) | |
parent | 34307d7af1bec423f19d1a7ae391c5ee640ee14d (diff) | |
download | kotlinx.serialization-ce7a440a759d4ae34f2b41df161756c8ef15401a.tar.gz |
Merge pull request #262 from BenWoodworth/master
Rename classes to follow Kotlin's naming conventions
44 files changed, 327 insertions, 314 deletions
@@ -44,21 +44,21 @@ You can open example projects for [JVM](example-jvm) or [JS](example-js) to get ```kotlin import kotlinx.serialization.* -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json @Serializable data class Data(val a: Int, @Optional val b: String = "42") fun main(args: Array<String>) { // serializing objects - val jsonData = JSON.stringify(Data.serializer(), Data(42)) + val jsonData = Json.stringify(Data.serializer(), Data(42)) // serializing lists - val jsonList = JSON.stringify(Data.serializer().list, listOf(Data(42))) + val jsonList = Json.stringify(Data.serializer().list, listOf(Data(42))) println(jsonData) // {"a": 42, "b": "42"} println(jsonList) // [{"a": 42, "b": "42"}] // parsing data back - val obj = JSON.parse(Data.serializer(), """{"a":42}""") + val obj = Json.parse(Data.serializer(), """{"a":42}""") println(obj) // Data(a=42, b="42") } ``` diff --git a/benchmark/src/jmh/kotlin/kotlinx/benchmarks/SampleBenchmark.kt b/benchmark/src/jmh/kotlin/kotlinx/benchmarks/SampleBenchmark.kt index 03057ee7..15040ad2 100644 --- a/benchmark/src/jmh/kotlin/kotlinx/benchmarks/SampleBenchmark.kt +++ b/benchmark/src/jmh/kotlin/kotlinx/benchmarks/SampleBenchmark.kt @@ -20,6 +20,6 @@ open class SampleBenchmark { @Benchmark fun benchmarkStringify(): String { - return JSON.stringify(value) + return Json.stringify(value) } } diff --git a/docs/custom_serializers.md b/docs/custom_serializers.md index b769eada..d1260110 100644 --- a/docs/custom_serializers.md +++ b/docs/custom_serializers.md @@ -214,8 +214,8 @@ val simpleModule = SimpleModule(Payload::class, PayloadSerializer) // MapModule and CompositeModule are also available val binaryModule = SimpleModule(Payload::class, BinaryPayloadSerializer) -val json1 = JSON().apply { install(simpleModule) } -val json2 = JSON().apply { install(binaryModule) } +val json1 = Json().apply { install(simpleModule) } +val json2 = Json().apply { install(binaryModule) } // in json1, Payload would be serialized with PayloadSerializer, // in json2, Payload would be serialized with BinaryPayloadSerializer diff --git a/docs/examples.md b/docs/examples.md index 84bb87d8..b0350ba9 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -1,6 +1,6 @@ # Serialization documentation and example cases -**Note**: Cases are presented here as a series of *unit-tests* using non-standard *unquoted* JSON for ease of presentation. Standards-compliant JSON is supported, too. Just replace `JSON.unquoted` with plain `JSON`. +**Note**: Cases are presented here as a series of *unit-tests* using non-standard *unquoted* JSON for ease of presentation. Standards-compliant JSON is supported, too. Just replace `Json.unquoted` with plain `Json`. ## Supported properties @@ -12,14 +12,14 @@ val data = Data(1, 2) // Serialize with internal serializer for Data class - assertEquals("{a:1,b:2}", JSON.unquoted.stringify(data)) - assertEquals(data, JSON.parse<Data>("{a:1,b:2}")) + assertEquals("{a:1,b:2}", Json.unquoted.stringify(data)) + assertEquals(data, Json.parse<Data>("{a:1,b:2}")) // Serialize with external serializer for Data class @Serializer(forClass=Data::class) object ExtDataSerializer - assertEquals("{a:1,b:2}", JSON.unquoted.stringify(ExtDataSerializer, data)) - assertEquals(data, JSON.parse(ExtDataSerializer, "{a:1,b:2}")) + assertEquals("{a:1,b:2}", Json.unquoted.stringify(ExtDataSerializer, data)) + assertEquals(data, Json.parse(ExtDataSerializer, "{a:1,b:2}")) ``` * In case of usage of **internal** serialization (`@Serializable` annotation on class), both body `val`s and `var`s are supported with any visibility levels. @@ -32,8 +32,8 @@ override fun equals(other: Any?) = /*...*/ } - assertEquals("{a:1, b:42}", JSON.unquoted.stringify(Data(1))) - assertEquals(Data(1), JSON.unquoted.parse<Data>("{a:1, b:42}")) + assertEquals("{a:1, b:42}", Json.unquoted.stringify(Data(1))) + assertEquals(Data(1), Json.unquoted.parse<Data>("{a:1, b:42}")) ``` * Important note: In this case, body properties initializers and setters are not called. So, following approach would not work: @@ -50,7 +50,7 @@ } // prints nothing. - val data = JSON.unquoted.parse<Data>("{a: 100500, b: 10}") + val data = Json.unquoted.parse<Data>("{a: 100500, b: 10}") ``` * Initializers are called iff (if and only if) property is `@Transient` or `@Optional` and was not read (see below). @@ -68,8 +68,8 @@ } // prints "I'm a side effect" once. - val data = JSON.unquoted.parse<Data>("{a: 100500, b: 10}") - val data = JSON.unquoted.parse<Data>("{a: 100500}") + val data = Json.unquoted.parse<Data>("{a: 100500, b: 10}") + val data = Json.unquoted.parse<Data>("{a: 100500}") ``` * *Common pattern*: Validation. @@ -115,8 +115,8 @@ @Serializer(forClass=Data::class) object ExtDataSerializer - assertEquals("{a:1,b:2}", JSON.unquoted.stringify(ExtDataSerializer, data)) - assertEquals(data, JSON.parse(ExtDataSerializer, "{a:1,b:2}")) + assertEquals("{a:1,b:2}", Json.unquoted.stringify(ExtDataSerializer, data)) + assertEquals(data, Json.parse(ExtDataSerializer, "{a:1,b:2}")) ``` * Having both` @Serialiable class A` and `@Serializer(forClass=A::class)` is possible. In this case, object marked as serializer will try to deserialize class A internally, and some *strange effects* may happen. But it's not exactly. @@ -134,7 +134,7 @@ val custom2: Int ) - assertEquals("{value1: a, value2: 42}", JSON.unquoted.stringify(Names("a", 42))) + assertEquals("{value1: a, value2: 42}", Json.unquoted.stringify(Names("a", 42))) ``` > Starting from 0.6, `@SerialName` can be used on classes, too. @@ -152,14 +152,14 @@ // Serialization and deserialization with internal serializer // External serializer also supported - assertEquals("{a:0,b:42,c:Hello}",JSON.unquoted.stringify(Data())) - assertEquals(JSON.unquoted.parse<Data>("{a:0,b:43,c:Hello}"),Data(b = 43)) - assertEquals(JSON.unquoted.parse<Data>("{a:0,b:42,c:Hello}"),Data()) - assertEquals(JSON.unquoted.parse<Data>("{a:0,c:Hello}"),Data()) - assertEquals(JSON.unquoted.parse<Data>("{a:0}"),Data()) + assertEquals("{a:0,b:42,c:Hello}",Json.unquoted.stringify(Data())) + assertEquals(Json.unquoted.parse<Data>("{a:0,b:43,c:Hello}"),Data(b = 43)) + assertEquals(Json.unquoted.parse<Data>("{a:0,b:42,c:Hello}"),Data()) + assertEquals(Json.unquoted.parse<Data>("{a:0,c:Hello}"),Data()) + assertEquals(Json.unquoted.parse<Data>("{a:0}"),Data()) // This will throw SerializationException, because 'a' is missing. - JSON.unquoted.parse<Data>("{b:0}") + Json.unquoted.parse<Data>("{b:0}") ``` * `@Transient` annotation for supported properties. This annotation excludes marked properties from process of serialization or deserialization. Requires default value. *Don't confuse with `kotlin.jvm.Transient`!* @@ -178,14 +178,14 @@ // Serialization and deserialization with internal serializer // External serializer also supported - assertEquals("{a:0,c:Hello}",JSON.unquoted.stringify(Data())) - assertEquals(JSON.unquoted.parse<Data>("{a:0,c:Hello}"),Data()) - assertEquals(JSON.unquoted.parse<Data>("{a:0}"),Data()) + assertEquals("{a:0,c:Hello}",Json.unquoted.stringify(Data())) + assertEquals(Json.unquoted.parse<Data>("{a:0,c:Hello}"),Data()) + assertEquals(Json.unquoted.parse<Data>("{a:0}"),Data()) // This will throw SerializationException, because // property 'b' is unknown to deserializer. - JSON.unquoted.parse<Data>("{a:0,b:100500,c:Hello}") + Json.unquoted.parse<Data>("{a:0,b:100500,c:Hello}") ``` * Initializing `@Transient` or `@Optional` fields in init blocks is not supported. @@ -212,7 +212,7 @@ val prop by myMap } - assertEquals("value", JSON.unquoted.parse<WithDelegates>("{myMap:{prop:value}}").prop) + assertEquals("value", Json.unquoted.parse<WithDelegates>("{myMap:{prop:value}}").prop) ``` ## Nesting @@ -231,14 +231,14 @@ val data = Data("Str", listOf(1, 2), mapOf("lt" to TintEnum.LIGHT, "dk" to TintEnum.DARK)) // Serialize with internal serializer for Data class - assertEquals("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}", JSON.unquoted.stringify(data)) - assertEquals(data, JSON.parse<Data>("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}")) + assertEquals("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}", Json.unquoted.stringify(data)) + assertEquals(data, Json.parse<Data>("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}")) // Serialize with external serializer for Data class @Serializer(forClass=Data::class) object ExtDataSerializer - assertEquals("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}", JSON.unquoted.stringify(ExtDataSerializer, data)) - assertEquals(data, JSON.parse(ExtDataSerializer, "{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}")) + assertEquals("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}", Json.unquoted.stringify(ExtDataSerializer, data)) + assertEquals(data, Json.parse(ExtDataSerializer, "{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}")) ``` To obtain serializers for root-level collections, you can use extension functions defined on serializers, like `.list` (see [this](https://github.com/Kotlin/kotlinx.serialization/issues/27) issue) diff --git a/docs/runtime_usage.md b/docs/runtime_usage.md index d1cb2b70..7ee31e25 100644 --- a/docs/runtime_usage.md +++ b/docs/runtime_usage.md @@ -46,14 +46,14 @@ Runtime library provides three ready-to use formats: JSON, CBOR and ProtoBuf. ### JSON -JSON format represented by `JSON` class from `kotlinx.serialization.json` package. It has following parameters: +JSON format represented by `Json` class from `kotlinx.serialization.json` package. It has following parameters: * strict - Prohibits unknown keys when parsing JSON. Prohibits NaN and Infinity float values when serializing JSON. Enabled by default. * unquoted - means that all field names and other objects (where it's possible) would not be wrapped in quotes. Useful for debugging. * indented - classic pretty-printed multiline JSON. * indent - size of indent, applicable if parameter above is true. -You can also use one of predefined instances, like `JSON.plain`, `JSON.indented`, `JSON.nonstrict` or `JSON.unquoted`. API is duplicated in companion object, so `JSON.parse(...)` equals to `JSON.plain.parse(...)` +You can also use one of predefined instances, like `Json.plain`, `Json.indented`, `Json.nonstrict` or `Json.unquoted`. API is duplicated in companion object, so `Json.parse(...)` equals to `Json.plain.parse(...)` You can also specify desired behaviour for duplicating keys. By default it is `UpdateMode.OVERWRITE`. You can use `UpdateMode.UPDATE`, and by doing that you'll be able to merge two lists or maps with same key into one; but be aware that serializers for non-collection types are throwing `UpdateNotSupportedException` by default. To prohibit duplicated keys, you can use `UpdateMode.BANNED`. diff --git a/example-js/src/main/kotlin/MyApp.kt b/example-js/src/main/kotlin/MyApp.kt index da67942e..432c9e45 100644 --- a/example-js/src/main/kotlin/MyApp.kt +++ b/example-js/src/main/kotlin/MyApp.kt @@ -1,6 +1,6 @@ import kotlinx.serialization.* -import kotlinx.serialization.cbor.CBOR -import kotlinx.serialization.json.JSON +import kotlinx.serialization.cbor.Cbor +import kotlinx.serialization.json.Json import kotlinx.serialization.protobuf.ProtoBuf import org.w3c.dom.HTMLButtonElement import org.w3c.dom.HTMLTextAreaElement @@ -26,10 +26,10 @@ fun main() { try { val serial = DataList.serializer() - val kotl = JSON.parse(serial, txt) - val json = JSON.indented.stringify(serial, kotl) + val kotl = Json.parse(serial, txt) + val json = Json.indented.stringify(serial, kotl) val proto = ProtoBuf.dumps(serial, kotl) - val cbor = CBOR.dumps(serial, kotl) + val cbor = Cbor.dumps(serial, kotl) kotlinLabel.value = kotl.toString() jsonLabel.value = json diff --git a/example-jvm/src/WithDemo.kt b/example-jvm/src/WithDemo.kt index 26b5cba3..2ef6eb01 100644 --- a/example-jvm/src/WithDemo.kt +++ b/example-jvm/src/WithDemo.kt @@ -1,6 +1,6 @@ import kotlinx.serialization.* import kotlinx.serialization.context.* -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import java.text.DateFormat import java.text.SimpleDateFormat import java.util.* @@ -48,6 +48,6 @@ object DateSerializer : KSerializer<Date> { fun main(args: Array<String>) { val o = Data(1, Payload("lorem ipsum dolor sit amet"), Date()) - val json = JSON(indented = true).apply { install(SimpleModule(Date::class, DateSerializer)) } + val json = Json(indented = true).apply { install(SimpleModule(Date::class, DateSerializer)) } println(json.stringify(Data.serializer(), o)) } diff --git a/example-native/src/App.kt b/example-native/src/App.kt index 6c873263..931cc85d 100644 --- a/example-native/src/App.kt +++ b/example-native/src/App.kt @@ -6,14 +6,14 @@ data class Data(val a: Int, @Optional val b: String = "42") fun main(args: Array<String>) { // serializing objects - val jsonData = JSON.stringify(Data.serializer(), Data(42)) + val jsonData = Json.stringify(Data.serializer(), Data(42)) // serializing lists - val jsonList = JSON.stringify(Data.serializer().list, listOf(Data(42))) + val jsonList = Json.stringify(Data.serializer().list, listOf(Data(42))) println(jsonData) // {"a": 42, "b": "42"} println(jsonList) // [{"a": 42, "b": "42"}] // parsing data back - val obj = JSON.parse(Data.serializer(), """{"a":42}""") + val obj = Json.parse(Data.serializer(), """{"a":42}""") println(obj) // Data(a=42, b="42") // Json builder example diff --git a/runtime/common/src/main/kotlin/kotlinx/serialization/Deprecated.kt b/runtime/common/src/main/kotlin/kotlinx/serialization/Deprecated.kt index c83a9ec2..a8e62a9b 100644 --- a/runtime/common/src/main/kotlin/kotlinx/serialization/Deprecated.kt +++ b/runtime/common/src/main/kotlin/kotlinx/serialization/Deprecated.kt @@ -16,7 +16,7 @@ package kotlinx.serialization -private const val deprecationText = "Obsolete name from the preview version of library." +internal const val deprecationText = "Obsolete name from the preview version of library." @Deprecated(deprecationText, ReplaceWith("SerialKind")) typealias KSerialClassKind = SerialKind diff --git a/runtime/common/src/main/kotlin/kotlinx/serialization/cbor/CBOR.kt b/runtime/common/src/main/kotlin/kotlinx/serialization/cbor/Cbor.kt index e1bf6502..79cc4191 100644 --- a/runtime/common/src/main/kotlin/kotlinx/serialization/cbor/CBOR.kt +++ b/runtime/common/src/main/kotlin/kotlinx/serialization/cbor/Cbor.kt @@ -23,9 +23,9 @@ import kotlinx.serialization.context.* import kotlinx.serialization.internal.* import kotlin.experimental.or -class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: Boolean = true): AbstractSerialFormat(), BinaryFormat { +class Cbor(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: Boolean = true): AbstractSerialFormat(), BinaryFormat { // Writes map entry as plain [key, value] pair, without bounds. - private inner class CBOREntryWriter(encoder: CBOREncoder) : CBORWriter(encoder) { + private inner class CborEntryWriter(encoder: CborEncoder) : CborWriter(encoder) { override fun writeBeginToken() { // no-op } @@ -38,22 +38,22 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B } // Differs from List only in start byte - private inner class CBORMapWriter(encoder: CBOREncoder) : CBORListWriter(encoder) { + private inner class CborMapWriter(encoder: CborEncoder) : CborListWriter(encoder) { override fun writeBeginToken() = encoder.startMap() } // Writes all elements consequently, except size - CBOR supports maps and arrays of indefinite length - private open inner class CBORListWriter(encoder: CBOREncoder) : CBORWriter(encoder) { + private open inner class CborListWriter(encoder: CborEncoder) : CborWriter(encoder) { override fun writeBeginToken() = encoder.startArray() override fun encodeElement(desc: SerialDescriptor, index: Int): Boolean = true } // Writes class as map [fieldName, fieldValue] - private open inner class CBORWriter(val encoder: CBOREncoder) : ElementValueEncoder() { + private open inner class CborWriter(val encoder: CborEncoder) : ElementValueEncoder() { init { - context = this@CBOR.context + context = this@Cbor.context } override fun shouldEncodeElementDefault(desc: SerialDescriptor, index: Int): Boolean = encodeDefaults @@ -63,9 +63,9 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B //todo: Write size of map or array if known override fun beginStructure(desc: SerialDescriptor, vararg typeParams: KSerializer<*>): CompositeEncoder { val writer = when (desc.kind) { - StructureKind.LIST -> CBORListWriter(encoder) - StructureKind.MAP -> CBORMapWriter(encoder) - else -> CBORWriter(encoder) + StructureKind.LIST -> CborListWriter(encoder) + StructureKind.MAP -> CborMapWriter(encoder) + else -> CborWriter(encoder) } writer.writeBeginToken() return writer @@ -102,7 +102,7 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B } // For details of representation, see https://tools.ietf.org/html/rfc7049#section-2.1 - class CBOREncoder(val output: OutputStream) { + class CborEncoder(val output: OutputStream) { fun startArray() = output.write(BEGIN_ARRAY) fun startMap() = output.write(BEGIN_MAP) @@ -158,7 +158,7 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B } } - private inner class CBOREntryReader(decoder: CBORDecoder) : CBORReader(decoder) { + private inner class CborEntryReader(decoder: CborDecoder) : CborReader(decoder) { private var ind = 0 override fun skipBeginToken() { @@ -176,11 +176,11 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B } } - private inner class CBORMapReader(decoder: CBORDecoder) : CBORListReader(decoder) { + private inner class CborMapReader(decoder: CborDecoder) : CborListReader(decoder) { override fun skipBeginToken() = decoder.startMap() } - private open inner class CBORListReader(decoder: CBORDecoder) : CBORReader(decoder) { + private open inner class CborListReader(decoder: CborDecoder) : CborReader(decoder) { private var ind = -1 private var size = -1 protected var finiteMode = false @@ -200,22 +200,22 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B } } - private open inner class CBORReader(val decoder: CBORDecoder) : ElementValueDecoder() { + private open inner class CborReader(val decoder: CborDecoder) : ElementValueDecoder() { init { - context = this@CBOR.context + context = this@Cbor.context } override val updateMode: UpdateMode - get() = this@CBOR.updateMode + get() = this@Cbor.updateMode protected open fun skipBeginToken() = decoder.startMap() override fun beginStructure(desc: SerialDescriptor, vararg typeParams: KSerializer<*>): CompositeDecoder { val re = when (desc.kind) { - StructureKind.LIST -> CBORListReader(decoder) - StructureKind.MAP -> CBORMapReader(decoder) - else -> CBORReader(decoder) + StructureKind.LIST -> CborListReader(decoder) + StructureKind.MAP -> CborMapReader(decoder) + else -> CborReader(decoder) } re.skipBeginToken() return re @@ -251,7 +251,7 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B } - class CBORDecoder(val input: InputStream) { + class CborDecoder(val input: InputStream) { private var curByte: Int = -1 init { @@ -264,7 +264,7 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B } private fun skipByte(expected: Int) { - if (curByte != expected) throw CBORDecodingException("byte ${HexConverter.toHexString(expected)}", curByte) + if (curByte != expected) throw CborDecodingException("byte ${HexConverter.toHexString(expected)}", curByte) readByte() } @@ -279,7 +279,7 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B val ans = when (curByte) { TRUE -> true FALSE -> false - else -> throw CBORDecodingException("boolean value", curByte) + else -> throw CborDecodingException("boolean value", curByte) } readByte() return ans @@ -291,7 +291,7 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B return -1 } if ((curByte and 0b111_00000) != HEADER_ARRAY) - throw CBORDecodingException("start of array", curByte) + throw CborDecodingException("start of array", curByte) val arrayLen = readNumber().toInt() readByte() return arrayLen @@ -305,7 +305,7 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B fun nextString(): String { if ((curByte and 0b111_00000) != HEADER_STRING.toInt()) - throw CBORDecodingException("start of string", curByte) + throw CborDecodingException("start of string", curByte) val strLen = readNumber().toInt() val arr = input.readExactNBytes(strLen) val ans = stringFromUtf8Bytes(arr) @@ -346,14 +346,14 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B } fun nextFloat(): Float { - if (curByte != NEXT_FLOAT) throw CBORDecodingException("float header", curByte) + if (curByte != NEXT_FLOAT) throw CborDecodingException("float header", curByte) val res = input.readToByteBuffer(4).getFloat() readByte() return res } fun nextDouble(): Double { - if (curByte != NEXT_DOUBLE) throw CBORDecodingException("double header", curByte) + if (curByte != NEXT_DOUBLE) throw CborDecodingException("double header", curByte) val res = input.readToByteBuffer(8).getDouble() readByte() return res @@ -378,7 +378,7 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B private const val HEADER_NEGATIVE: Byte = 0b001_00000 private const val HEADER_ARRAY: Int = 0b100_00000 - val plain = CBOR() + val plain = Cbor() override fun <T> dump(serializer: SerializationStrategy<T>, obj: T): ByteArray = plain.dump(serializer, obj) override fun <T> load(deserializer: DeserializationStrategy<T>, bytes: ByteArray): T = plain.load(deserializer, bytes) @@ -388,17 +388,17 @@ class CBOR(val updateMode: UpdateMode = UpdateMode.BANNED, val encodeDefaults: B override fun <T> dump(serializer: SerializationStrategy<T>, obj: T): ByteArray { val output = ByteArrayOutputStream() - val dumper = CBORWriter(CBOREncoder(output)) + val dumper = CborWriter(CborEncoder(output)) dumper.encode(serializer, obj) return output.toByteArray() } override fun <T> load(deserializer: DeserializationStrategy<T>, bytes: ByteArray): T { val stream = ByteArrayInputStream(bytes) - val reader = CBORReader(CBORDecoder(stream)) + val reader = CborReader(CborDecoder(stream)) return reader.decode(deserializer) } } -class CBORDecodingException(expected: String, foundByte: Int) : +class CborDecodingException(expected: String, foundByte: Int) : SerializationException("Expected $expected, but found ${HexConverter.toHexString(foundByte)}") diff --git a/runtime/common/src/main/kotlin/kotlinx/serialization/cbor/Deprecated.kt b/runtime/common/src/main/kotlin/kotlinx/serialization/cbor/Deprecated.kt new file mode 100644 index 00000000..36b671da --- /dev/null +++ b/runtime/common/src/main/kotlin/kotlinx/serialization/cbor/Deprecated.kt @@ -0,0 +1,9 @@ +package kotlinx.serialization.cbor + +import kotlinx.serialization.deprecationText + +@Deprecated(deprecationText, ReplaceWith("Cbor"), DeprecationLevel.WARNING) +typealias CBOR = Cbor + +@Deprecated(deprecationText, ReplaceWith("CborDecodingException"), DeprecationLevel.WARNING) +typealias CBORDecodingException = CborDecodingException diff --git a/runtime/common/src/main/kotlin/kotlinx/serialization/json/Deprecated.kt b/runtime/common/src/main/kotlin/kotlinx/serialization/json/Deprecated.kt new file mode 100644 index 00000000..8ea022d9 --- /dev/null +++ b/runtime/common/src/main/kotlin/kotlinx/serialization/json/Deprecated.kt @@ -0,0 +1,6 @@ +package kotlinx.serialization.json + +import kotlinx.serialization.deprecationText + +@Deprecated(deprecationText, ReplaceWith("Json"), DeprecationLevel.WARNING) +typealias JSON = Json diff --git a/runtime/common/src/main/kotlin/kotlinx/serialization/json/JSON.kt b/runtime/common/src/main/kotlin/kotlinx/serialization/json/Json.kt index 2bdd2706..b917c584 100644 --- a/runtime/common/src/main/kotlin/kotlinx/serialization/json/JSON.kt +++ b/runtime/common/src/main/kotlin/kotlinx/serialization/json/Json.kt @@ -22,7 +22,7 @@ import kotlinx.serialization.context.SerialContext import kotlinx.serialization.context.SerialModule import kotlinx.serialization.internal.EnumDescriptor -class JSON( +class Json( private val unquoted: Boolean = false, private val indented: Boolean = false, private val indent: String = " ", @@ -46,10 +46,10 @@ class JSON( } companion object : StringFormat { - val plain = JSON() - val unquoted = JSON(unquoted = true) - val indented = JSON(indented = true) - val nonstrict = JSON(strictMode = false) + val plain = Json() + val unquoted = Json(unquoted = true) + val indented = Json(indented = true) + val nonstrict = Json(strictMode = false) override fun install(module: SerialModule) = plain.install(module) override val context: SerialContext get() = plain.context @@ -70,7 +70,7 @@ class JSON( private var forceQuoting: Boolean = false init { - context = this@JSON.context + context = this@Json.context val i = mode.ordinal if (modeReuseCache[i] !== null || modeReuseCache[i] !== this) modeReuseCache[i] = this @@ -236,13 +236,13 @@ class JSON( private var entryIndex = 0 init { - context = this@JSON.context + context = this@Json.context } fun readAsTree(): JsonElement = JsonTreeParser(p).read() override val updateMode: UpdateMode - get() = this@JSON.updateMode + get() = this@Json.updateMode override fun beginStructure(desc: SerialDescriptor, vararg typeParams: KSerializer<*>): CompositeDecoder { val newMode = switchMode(desc, typeParams) diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/CustomSerializersTest.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/CustomSerializersTest.kt index 702dbb89..8dac707e 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/CustomSerializersTest.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/CustomSerializersTest.kt @@ -20,7 +20,7 @@ import kotlinx.serialization.context.* import kotlinx.serialization.internal.IntSerializer import kotlinx.serialization.internal.SerialClassDescImpl import kotlinx.serialization.internal.StringSerializer -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.Test import kotlin.test.assertEquals @@ -120,7 +120,7 @@ class CustomSerializersTest { } } - private fun createJsonWithB() = JSON(unquoted = true).apply { install(moduleWithB) } + private fun createJsonWithB() = Json(unquoted = true).apply { install(moduleWithB) } @Test fun writeCustom() { @@ -173,7 +173,7 @@ class CustomSerializersTest { @Test fun writeCustomInvertedOrder() { val obj = C(1, 2) - val j = JSON(unquoted = true) + val j = Json(unquoted = true) val s = j.stringify(obj) assertEquals("{b:2,a:1}", s) } @@ -181,7 +181,7 @@ class CustomSerializersTest { @Test fun writeCustomOmitDefault() { val obj = C(b = 2) - val j = JSON(unquoted = true) + val j = Json(unquoted = true) val s = j.stringify(obj) assertEquals("{b:2}", s) } @@ -189,7 +189,7 @@ class CustomSerializersTest { @Test fun readCustomInvertedOrder() { val obj = C(1, 2) - val j = JSON(unquoted = true) + val j = Json(unquoted = true) val s = j.parse<C>("{b:2,a:1}") assertEquals(obj, s) } @@ -197,7 +197,7 @@ class CustomSerializersTest { @Test fun readCustomOmitDefault() { val obj = C(b = 2) - val j = JSON(unquoted = true) + val j = Json(unquoted = true) val s = j.parse<C>("{b:2}") assertEquals(obj, s) } @@ -205,7 +205,7 @@ class CustomSerializersTest { @Test fun writeListOfOptional() { val obj = listOf(C(a = 1), C(b = 2), C(3, 4)) - val s = JSON(unquoted = true).stringify(C.list, obj) + val s = Json(unquoted = true).stringify(C.list, obj) assertEquals("[{b:42,a:1},{b:2},{b:4,a:3}]", s) } @@ -213,21 +213,21 @@ class CustomSerializersTest { fun readListOfOptional() { val obj = listOf(C(a = 1), C(b = 2), C(3, 4)) val j = "[{b:42,a:1},{b:2},{b:4,a:3}]" - val s = JSON(unquoted = true).parse(C.list, j) + val s = Json(unquoted = true).parse(C.list, j) assertEquals(obj, s) } @Test fun writeOptionalList1() { val obj = CList1(listOf(C(a = 1), C(b = 2), C(3, 4))) - val s = JSON(unquoted = true).stringify(obj) + val s = Json(unquoted = true).stringify(obj) assertEquals("{c:[{b:42,a:1},{b:2},{b:4,a:3}]}", s) } @Test fun writeOptionalList1Quoted() { val obj = CList1(listOf(C(a = 1), C(b = 2), C(3, 4))) - val s = JSON(unquoted = false).stringify(obj) + val s = Json(unquoted = false).stringify(obj) assertEquals("""{"c":[{"b":42,"a":1},{"b":2},{"b":4,"a":3}]}""", s) } @@ -235,13 +235,13 @@ class CustomSerializersTest { fun readOptionalList1() { val obj = CList1(listOf(C(a = 1), C(b = 2), C(3, 4))) val j = "{c:[{b:42,a:1},{b:2},{b:4,a:3}]}" - assertEquals(obj, JSON(unquoted = true).parse(j)) + assertEquals(obj, Json(unquoted = true).parse(j)) } @Test fun writeOptionalList2a() { val obj = CList2(7, listOf(C(a = 5), C(b = 6), C(7, 8))) - val s = JSON(unquoted = true).stringify(obj) + val s = Json(unquoted = true).stringify(obj) assertEquals("{c:[{b:42,a:5},{b:6},{b:8,a:7}],d:7}", s) } @@ -249,13 +249,13 @@ class CustomSerializersTest { fun readOptionalList2a() { val obj = CList2(7, listOf(C(a = 5), C(b = 6), C(7, 8))) val j = "{c:[{b:42,a:5},{b:6},{b:8,a:7}],d:7}" - assertEquals(obj, JSON(unquoted = true).parse(j)) + assertEquals(obj, Json(unquoted = true).parse(j)) } @Test fun writeOptionalList2b() { val obj = CList2(c = listOf(C(a = 5), C(b = 6), C(7, 8))) - val s = JSON(unquoted = true).stringify(obj) + val s = Json(unquoted = true).stringify(obj) assertEquals("{c:[{b:42,a:5},{b:6},{b:8,a:7}]}", s) } @@ -263,13 +263,13 @@ class CustomSerializersTest { fun readOptionalList2b() { val obj = CList2(c = listOf(C(a = 5), C(b = 6), C(7, 8))) val j = "{c:[{b:42,a:5},{b:6},{b:8,a:7}]}" - assertEquals(obj, JSON(unquoted = true).parse(j)) + assertEquals(obj, Json(unquoted = true).parse(j)) } @Test fun writeOptionalList3a() { val obj = CList3(listOf(C(a = 1), C(b = 2), C(3, 4)), 99) - val s = JSON(unquoted = true).stringify(obj) + val s = Json(unquoted = true).stringify(obj) assertEquals("{e:[{b:42,a:1},{b:2},{b:4,a:3}],f:99}", s) } @@ -277,13 +277,13 @@ class CustomSerializersTest { fun readOptionalList3a() { val obj = CList3(listOf(C(a = 1), C(b = 2), C(3, 4)), 99) val j = "{e:[{b:42,a:1},{b:2},{b:4,a:3}],f:99}" - assertEquals(obj, JSON(unquoted = true).parse(j)) + assertEquals(obj, Json(unquoted = true).parse(j)) } @Test fun writeOptionalList3b() { val obj = CList3(f=99) - val s = JSON(unquoted = true).stringify(obj) + val s = Json(unquoted = true).stringify(obj) assertEquals("{f:99}", s) } @@ -291,13 +291,13 @@ class CustomSerializersTest { fun readOptionalList3b() { val obj = CList3(f=99) val j = "{f:99}" - assertEquals(obj, JSON(unquoted = true).parse(j)) + assertEquals(obj, Json(unquoted = true).parse(j)) } @Test fun writeOptionalList4a() { val obj = CList4(listOf(C(a = 1), C(b = 2), C(3, 4)), 54) - val s = JSON(unquoted = true).stringify(obj) + val s = Json(unquoted = true).stringify(obj) assertEquals("{h:54,g:[{b:42,a:1},{b:2},{b:4,a:3}]}", s) } @@ -305,14 +305,14 @@ class CustomSerializersTest { fun readOptionalList4a() { val obj = CList4(listOf(C(a = 1), C(b = 2), C(3, 4)), 54) val j = "{h:54,g:[{b:42,a:1},{b:2},{b:4,a:3}]}" - assertEquals(obj, JSON(unquoted = true).parse(j)) + assertEquals(obj, Json(unquoted = true).parse(j)) } @Test fun writeOptionalList4b() { val obj = CList4(h=97) val j = "{h:97}" - val s = JSON(unquoted = true).stringify(obj) + val s = Json(unquoted = true).stringify(obj) assertEquals(j, s) } @@ -320,13 +320,13 @@ class CustomSerializersTest { fun readOptionalList4b() { val obj = CList4(h=97) val j = "{h:97}" - assertEquals(obj, JSON(unquoted = true).parse(j)) + assertEquals(obj, Json(unquoted = true).parse(j)) } @Test fun writeOptionalList5a() { val obj = CList5(listOf(9,8,7,6,5), 5) - val s = JSON(unquoted = true).stringify(obj) + val s = Json(unquoted = true).stringify(obj) assertEquals("{h:5,g:[9,8,7,6,5]}", s) } @@ -334,13 +334,13 @@ class CustomSerializersTest { fun readOptionalList5a() { val obj = CList5(listOf(9,8,7,6,5), 5) val j = "{h:5,g:[9,8,7,6,5]}" - assertEquals(obj, JSON(unquoted = true).parse(j)) + assertEquals(obj, Json(unquoted = true).parse(j)) } @Test fun writeOptionalList5b() { val obj = CList5(h=999) - val s = JSON(unquoted = true).stringify(obj) + val s = Json(unquoted = true).stringify(obj) assertEquals("{h:999}", s) } @@ -348,14 +348,14 @@ class CustomSerializersTest { fun readOptionalList5b() { val obj = CList5(h=999) val j = "{h:999}" - assertEquals(obj, JSON(unquoted = true).parse(j)) + assertEquals(obj, Json(unquoted = true).parse(j)) } @Test fun mapBuiltinsTest() { val map = mapOf(1 to "1", 2 to "2") val serial = (IntSerializer to StringSerializer).map - val s = JSON.unquoted.stringify(serial, map) + val s = Json.unquoted.stringify(serial, map) assertEquals("{1:1,2:2}", s) } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/GenericTest.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/GenericTest.kt index 5accbdf9..66aa8b2a 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/GenericTest.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/GenericTest.kt @@ -17,7 +17,7 @@ package kotlinx.serialization import kotlinx.serialization.internal.* -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.* class GenericTest { @@ -33,9 +33,9 @@ class GenericTest { fun writeDefaultPair() { val pair = 42 to "foo" val saver = PairSerializer(IntSerializer, StringSerializer) - val s = JSON.unquoted.stringify(saver, pair) + val s = Json.unquoted.stringify(saver, pair) assertEquals("{first:42,second:foo}", s) - val restored = JSON.unquoted.parse(saver, s) + val restored = Json.unquoted.parse(saver, s) assertEquals(pair, restored) } @@ -43,18 +43,18 @@ class GenericTest { fun writePlainTriple() { val triple = Triple(42 , "foo", false) val saver = TripleSerializer(IntSerializer, StringSerializer, BooleanSerializer) - val s = JSON.unquoted.stringify(saver, triple) + val s = Json.unquoted.stringify(saver, triple) assertEquals("{first:42,second:foo,third:false}", s) - val restored = JSON.unquoted.parse(saver, s) + val restored = Json.unquoted.parse(saver, s) assertEquals(triple, restored) } @Test fun recursiveArrays() { val arr = Array2DBox(arrayOf(arrayOf(2.1, 1.2), arrayOf(42.3, -3.4))) - val str = JSON.stringify(arr) + val str = Json.stringify(arr) assertEquals("""{"arr":[[2.1,1.2],[42.3,-3.4]]}""", str) - val restored = JSON.parse<Array2DBox>(str) + val restored = Json.parse<Array2DBox>(str) assertTrue(arr.arr.contentDeepEquals(restored.arr)) } } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/HierarchyTest.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/HierarchyTest.kt index 6c85b412..3dc3018d 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/HierarchyTest.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/HierarchyTest.kt @@ -16,7 +16,7 @@ package kotlinx.serialization -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.Test import kotlin.test.assertEquals @@ -31,9 +31,9 @@ class HierarchyTest { @Test fun callSuperSealedConstructorProperly() { val v1 = Var("a") - val s1 = JSON.stringify(v1) //{"id":"a"} + val s1 = Json.stringify(v1) //{"id":"a"} assertEquals("""{"id":"a"}""", s1) - val v2: Var = JSON.parse(s1) //throws IllegalAccessError + val v2: Var = Json.parse(s1) //throws IllegalAccessError assertEquals(v1, v2) } } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/OptionalTests.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/OptionalTests.kt index d1fda2a6..f2896cc1 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/OptionalTests.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/OptionalTests.kt @@ -16,7 +16,7 @@ package kotlinx.serialization -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFailsWith @@ -45,21 +45,21 @@ class OptionalTests { @Test fun testAll() { - assertEquals("{a:0,b:42,c:Hello}", JSON.unquoted.stringify(Data())) - assertEquals(JSON.unquoted.parse<Data>("{a:0,b:43,c:Hello}"), Data(b = 43)) - assertEquals(JSON.unquoted.parse<Data>("{a:0,b:42,c:Hello}"), Data()) + assertEquals("{a:0,b:42,c:Hello}", Json.unquoted.stringify(Data())) + assertEquals(Json.unquoted.parse<Data>("{a:0,b:43,c:Hello}"), Data(b = 43)) + assertEquals(Json.unquoted.parse<Data>("{a:0,b:42,c:Hello}"), Data()) } @Test fun testMissingOptionals() { - assertEquals(JSON.unquoted.parse<Data>("{a:0,c:Hello}"), Data()) - assertEquals(JSON.unquoted.parse<Data>("{a:0}"), Data()) + assertEquals(Json.unquoted.parse<Data>("{a:0,c:Hello}"), Data()) + assertEquals(Json.unquoted.parse<Data>("{a:0}"), Data()) } @Test fun testThrowMissingField() { assertFailsWith(MissingFieldException::class) { - JSON.unquoted.parse<Data>("{b:0}") + Json.unquoted.parse<Data>("{b:0}") } } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/RootLevelNulls.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/RootLevelNulls.kt index 375490e5..07584cb6 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/RootLevelNulls.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/RootLevelNulls.kt @@ -1,9 +1,8 @@ package kotlinx.serialization -import kotlinx.serialization.cbor.CBOR -import kotlinx.serialization.internal.IntSerializer +import kotlinx.serialization.cbor.Cbor import kotlinx.serialization.internal.makeNullable -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlinx.serialization.protobuf.ProtoBuf import kotlin.test.* @@ -14,14 +13,14 @@ class RootLevelNullsTest { @Test fun nullableJson() { val obj: Simple? = null - val json = JSON.stringify(makeNullable(Simple.serializer()), obj) + val json = Json.stringify(makeNullable(Simple.serializer()), obj) assertEquals("null", json) } @Test fun nullableCbor() { val obj: Simple? = null - val content = (CBOR as BinaryFormat).dump(makeNullable(Simple.serializer()), obj) + val content = (Cbor as BinaryFormat).dump(makeNullable(Simple.serializer()), obj) assertTrue(content.contentEquals(byteArrayOf(0xf6.toByte()))) } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/TransientTests.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/TransientTests.kt index 4c42c72c..962d16d5 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/TransientTests.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/TransientTests.kt @@ -16,7 +16,7 @@ package kotlinx.serialization -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.* class TransientTests { @@ -52,19 +52,19 @@ class TransientTests { @Test fun testAll() { - assertEquals("{a:0,e:false,c:Hello}", JSON.unquoted.stringify(Data())) + assertEquals("{a:0,e:false,c:Hello}", Json.unquoted.stringify(Data())) } @Test fun testMissingOptionals() { - assertEquals(JSON.unquoted.parse<Data>("{a:0,c:Hello}"), Data()) - assertEquals(JSON.unquoted.parse<Data>("{a:0}"), Data()) + assertEquals(Json.unquoted.parse<Data>("{a:0,c:Hello}"), Data()) + assertEquals(Json.unquoted.parse<Data>("{a:0}"), Data()) } @Test fun testThrowTransient() { assertFailsWith(SerializationException::class) { - JSON.unquoted.parse<Data>("{a:0,b:100500,c:Hello}") + Json.unquoted.parse<Data>("{a:0,b:100500,c:Hello}") } } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/UnionEnumTest.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/UnionEnumTest.kt index 48895129..86a06c60 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/UnionEnumTest.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/UnionEnumTest.kt @@ -1,6 +1,6 @@ package kotlinx.serialization -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlinx.serialization.protobuf.ProtoBuf import kotlin.test.Test import kotlin.test.assertEquals @@ -16,8 +16,8 @@ class UnionEnumTest { @Test fun simpleEnum() { val data = WithUnions("foo", SomeEnum.BETA) - val json = JSON.stringify(data) - val restored = JSON.parse<WithUnions>(json) + val json = Json.stringify(data) + val restored = Json.parse<WithUnions>(json) assertEquals(data, restored) } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/UpdateTest.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/UpdateTest.kt index d1ab63b5..1d8b9cd6 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/UpdateTest.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/UpdateTest.kt @@ -16,7 +16,7 @@ package kotlinx.serialization -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFailsWith @@ -43,7 +43,7 @@ class UpdateTest { @Test fun canUpdatePrimitiveList() { val parsed = - JSON(unquoted = true, strictMode = false, updateMode = UpdateMode.UPDATE) + Json(unquoted = true, strictMode = false, updateMode = UpdateMode.UPDATE) .parse<Updatable1>("""{l:[1,2],f:foo,l:[3,4]}""") assertEquals(Updatable1(listOf(1,2,3,4)), parsed) } @@ -51,7 +51,7 @@ class UpdateTest { @Test fun canUpdateObjectList() { val parsed = - JSON(unquoted = true, strictMode = false, updateMode = UpdateMode.UPDATE) + Json(unquoted = true, strictMode = false, updateMode = UpdateMode.UPDATE) .parse<Updatable2>("""{f:bar,l:[{a:42}],l:[{a:43}]}""") assertEquals(Updatable2(listOf(Data(42), Data(43))), parsed) } @@ -59,13 +59,13 @@ class UpdateTest { @Test fun cantUpdateNotUpdatable() { assertFailsWith<UpdateNotSupportedException> { - JSON(unquoted = true, strictMode = false, updateMode = UpdateMode.UPDATE).parse<NotUpdatable>("""{d:{a:42},d:{a:43}}""") + Json(unquoted = true, strictMode = false, updateMode = UpdateMode.UPDATE).parse<NotUpdatable>("""{d:{a:42},d:{a:43}}""") } } @Test fun canUpdateNullableValuesInside() { - val json = JSON(updateMode = UpdateMode.UPDATE) + val json = Json(updateMode = UpdateMode.UPDATE) val a1 = json.parse<NullableInnerIntList>("""{data:[null],data:[1]}""") assertEquals(NullableInnerIntList(listOf(null, 1)), a1) val a2 = json.parse<NullableInnerIntList>("""{data:[42],data:[null]}""") @@ -76,7 +76,7 @@ class UpdateTest { @Test fun canUpdateNullableValues() { - val json = JSON(updateMode = UpdateMode.UPDATE) + val json = Json(updateMode = UpdateMode.UPDATE) val a1 = json.parse<NullableUpdatable>("""{data:null,data:[{a:42}]}""") assertEquals(NullableUpdatable(listOf(Data(42))), a1) val a2 = json.parse<NullableUpdatable>("""{data:[{a:42}],data:null}""") diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/cbor/CBORReaderTest.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/cbor/CborReaderTest.kt index 518c46fe..f448c0ed 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/cbor/CBORReaderTest.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/cbor/CborReaderTest.kt @@ -22,10 +22,10 @@ import kotlinx.serialization.loads import kotlin.test.Test import kotlin.test.assertEquals -class CBORReaderTest { - fun withDecoder(input: String, block: CBOR.CBORDecoder.() -> Unit) { +class CborReaderTest { + fun withDecoder(input: String, block: Cbor.CborDecoder.() -> Unit) { val bytes = HexConverter.parseHexBinary(input.toUpperCase()) - CBOR.CBORDecoder(ByteArrayInputStream(bytes)).block() + Cbor.CborDecoder(ByteArrayInputStream(bytes)).block() } infix fun <T> T.shouldBe(expected: T) = assertEquals(expected, this) @@ -65,7 +65,7 @@ class CBORReaderTest { @Test fun testDecodeSimpleObject() { - CBOR.loads<Simple>("bf616163737472ff") shouldBe Simple("str") + Cbor.loads<Simple>("bf616163737472ff") shouldBe Simple("str") } @Test @@ -80,7 +80,7 @@ class CBORReaderTest { listOf(Simple("kek")) ) - CBOR.loads<SmallZoo>( + Cbor.loads<SmallZoo>( "bf637374726d48656c6c6f2c20776f726c64216169182a686e756c6c61626c65f6646c6973749f61616162ff636d6170bf01f502f4ff65696e6e6572bf6161636c6f6cff6a696e6e6572734c6973749fbf6161636b656bffffff" ) shouldBe test } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/cbor/CBORWriterTest.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/cbor/CborWriterTest.kt index 7004ae5a..4cd777f4 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/cbor/CBORWriterTest.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/cbor/CborWriterTest.kt @@ -22,12 +22,12 @@ import kotlin.test.Test import kotlin.test.assertEquals -class CBORWriterTest { +class CborWriterTest { infix fun <T> T.shouldBe(expected: T) = assertEquals(expected, this) @Test fun writeSimpleClass() { - CBOR.dumps(Simple("str")) shouldBe "bf616163737472ff" + Cbor.dumps(Simple("str")) shouldBe "bf616163737472ff" } @Test @@ -41,7 +41,7 @@ class CBORWriterTest { Simple("lol"), listOf(Simple("kek")) ) - CBOR.dumps(test) shouldBe "bf637374726d48656c6c6f2c20776f726c64216169182a686e756c6c61626c65f6646c6973749f61616162ff636d6170bf01f502f4ff65696e6e6572bf6161636c6f6cff6a696e6e6572734c6973749fbf6161636b656bffffff" + Cbor.dumps(test) shouldBe "bf637374726d48656c6c6f2c20776f726c64216169182a686e756c6c61626c65f6646c6973749f61616162ff636d6170bf01f502f4ff65696e6e6572bf6161636c6f6cff6a696e6e6572734c6973749fbf6161636b656bffffff" } @Test @@ -54,6 +54,6 @@ class CBORWriterTest { true, 'a' ) - CBOR.dumps(test) shouldBe "bf63696e741a00018894646c6f6e671b7fffffffffffffff65666c6f6174fa4228000066646f75626c65fb4271fb0c5a2b700067626f6f6c65616ef564636861721861ff" + Cbor.dumps(test) shouldBe "bf63696e741a00018894646c6f6e671b7fffffffffffffff65666c6f6174fa4228000066646f75626c65fb4271fb0c5a2b700067626f6f6c65616ef564636861721861ff" } } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/features/BinaryPayloadExampleTest.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/features/BinaryPayloadExampleTest.kt index cb2e85ff..c26e0bc3 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/features/BinaryPayloadExampleTest.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/features/BinaryPayloadExampleTest.kt @@ -3,7 +3,7 @@ package kotlinx.serialization.features import kotlinx.serialization.* import kotlinx.serialization.internal.HexConverter import kotlinx.serialization.internal.SerialClassDescImpl -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.Test import kotlin.test.assertEquals @@ -65,8 +65,8 @@ class BinaryPayloadExampleTest { @Test fun payloadEquivalence() { val payload1 = BinaryPayload(byteArrayOf(0, 0, 0), byteArrayOf(127, 127)) - val s = JSON.stringify(BinaryPayload.serializer(), payload1) - val payload2 = JSON.parse(BinaryPayload.serializer(), s) + val s = Json.stringify(BinaryPayload.serializer(), payload1) + val payload2 = Json.parse(BinaryPayload.serializer(), s) assertEquals(payload1, payload2) } } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/features/SkipDefaults.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/features/SkipDefaults.kt index 0bfd222c..7383888b 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/features/SkipDefaults.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/features/SkipDefaults.kt @@ -1,8 +1,8 @@ package kotlinx.serialization.features import kotlinx.serialization.* -import kotlinx.serialization.cbor.CBOR -import kotlinx.serialization.json.JSON +import kotlinx.serialization.cbor.Cbor +import kotlinx.serialization.json.Json import kotlin.test.* @Serializable @@ -16,13 +16,13 @@ data class Data(val bar: String, @Optional val foo: Int = 42) { @Ignore // todo: unignore when corresponding features in plugin will be released class SkipDefaultsTest { - private val json = JSON(encodeDefaults = false) - private val cbor = CBOR(encodeDefaults = false) + private val json = Json(encodeDefaults = false) + private val cbor = Cbor(encodeDefaults = false) @Test fun serializeCorrectlyDefaults() { val d = Data("bar") - assertEquals("""{"bar":"bar","foo":42,"list":[],"listWithSomething":[1,2,3]}""", JSON.stringify(Data.serializer(), d)) + assertEquals("""{"bar":"bar","foo":42,"list":[],"listWithSomething":[1,2,3]}""", Json.stringify(Data.serializer(), d)) } @Test diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/json/JSONTest.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/json/JsonTest.kt index e5dff664..74384bc5 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/json/JSONTest.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/json/JsonTest.kt @@ -19,49 +19,49 @@ package kotlinx.serialization.json import kotlinx.serialization.* import kotlin.test.* -class JSONTest { +class JsonTest { @Test fun testNan() { val box = Box(Double.NaN, Float.NaN) - val json = JSON.nonstrict.stringify(box) + val json = Json.nonstrict.stringify(box) assertEquals("{\"double\":NaN,\"float\":NaN}", json) - val deserialized = JSON.parse<Box>(json) + val deserialized = Json.parse<Box>(json) assertEquals(box, deserialized) } @Test fun testInfinity() { val box = Box(Double.POSITIVE_INFINITY, Float.NEGATIVE_INFINITY) - val json = JSON.nonstrict.stringify(box) + val json = Json.nonstrict.stringify(box) assertEquals("{\"double\":Infinity,\"float\":-Infinity}", json) - val deserialized = JSON.parse<Box>(json) + val deserialized = Json.parse<Box>(json) assertEquals(box, deserialized) } @Test - fun nonStrictJSONCanSkipValues() { - assertEquals(JSON.nonstrict.parse("{strangeField: 100500, a:0}"), + fun nonStrictJsonCanSkipValues() { + assertEquals(Json.nonstrict.parse("{strangeField: 100500, a:0}"), OptionalTests.Data() ) - assertEquals(JSON.nonstrict.parse("{a:0, strangeField: 100500}"), + assertEquals(Json.nonstrict.parse("{a:0, strangeField: 100500}"), OptionalTests.Data() ) } @Test - fun nonStrictJSONCanSkipComplexValues() { - assertEquals(JSON.nonstrict.parse("{a: 0, strangeField: {a: b, c: {d: e}, f: [g,h,j] }}"), + fun nonStrictJsonCanSkipComplexValues() { + assertEquals(Json.nonstrict.parse("{a: 0, strangeField: {a: b, c: {d: e}, f: [g,h,j] }}"), OptionalTests.Data() ) - assertEquals(JSON.nonstrict.parse("{strangeField: {a: b, c: {d: e}, f: [g,h,j] }, a: 0}"), + assertEquals(Json.nonstrict.parse("{strangeField: {a: b, c: {d: e}, f: [g,h,j] }, a: 0}"), OptionalTests.Data() ) } @Test - fun testSerializeQuotedJSON() { - assertEquals("""{"a":10,"e":false,"c":"Hello"}""", JSON.stringify( + fun testSerializeQuotedJson() { + assertEquals("""{"a":10,"e":false,"c":"Hello"}""", Json.stringify( TransientTests.Data( 10, 100 @@ -70,9 +70,9 @@ class JSONTest { } @Test - fun strictJSONCanNotSkipValues() { + fun strictJsonCanNotSkipValues() { assertFailsWith(SerializationException::class) { - JSON.parse<OptionalTests.Data>("{strangeField: 100500, a:0}") + Json.parse<OptionalTests.Data>("{strangeField: 100500, a:0}") } } @@ -84,9 +84,9 @@ class JSONTest { @Test fun testParseEscapedSymbols() { - assertEquals(Url("https://t.co/M1uhwigsMT"), JSON.parse("""{"url":"https:\/\/t.co\/M1uhwigsMT"}""")) - assertEquals(Url("\"test\""), JSON.parse("""{"url": "\"test\""}""")) - assertEquals(Url("\u00c9"), JSON.parse("""{"url": "\u00c9"}""")) - assertEquals(Url("""\\"""), JSON.parse("""{"url": "\\\\"}""")) + assertEquals(Url("https://t.co/M1uhwigsMT"), Json.parse("""{"url":"https:\/\/t.co\/M1uhwigsMT"}""")) + assertEquals(Url("\"test\""), Json.parse("""{"url": "\"test\""}""")) + assertEquals(Url("\u00c9"), Json.parse("""{"url": "\u00c9"}""")) + assertEquals(Url("""\\"""), Json.parse("""{"url": "\\\\"}""")) } } diff --git a/runtime/common/src/test/kotlin/kotlinx/serialization/json/ReifiedCollectionsTest.kt b/runtime/common/src/test/kotlin/kotlinx/serialization/json/ReifiedCollectionsTest.kt index cf287ee0..f5473329 100644 --- a/runtime/common/src/test/kotlin/kotlinx/serialization/json/ReifiedCollectionsTest.kt +++ b/runtime/common/src/test/kotlin/kotlinx/serialization/json/ReifiedCollectionsTest.kt @@ -2,7 +2,6 @@ package kotlinx.serialization.json import kotlinx.serialization.* import kotlinx.serialization.internal.IntSerializer -import kotlin.reflect.KClass import kotlin.test.* @Serializable @@ -12,16 +11,16 @@ class ReifiedCollectionsTest { @Test fun listTest() { val data = listOf(DataHolder("data"), DataHolder("not data")) - val json = JSON.stringify(data) - val data2 = JSON.parseList<DataHolder>(json) + val json = Json.stringify(data) + val data2 = Json.parseList<DataHolder>(json) assertEquals(data, data2) } @Test fun mapTest() { val data = mapOf("data" to DataHolder("data"), "smth" to DataHolder("not data")) - val json = JSON.stringify(data) - val data2 = JSON.parseMap<String, DataHolder>(json) + val json = Json.stringify(data) + val data2 = Json.parseMap<String, DataHolder>(json) assertEquals(data, data2) } diff --git a/runtime/js/src/test/kotlin/kotlinx/serialization/JsTest.kt b/runtime/js/src/test/kotlin/kotlinx/serialization/JsTest.kt index a04965f3..b541b8d2 100644 --- a/runtime/js/src/test/kotlin/kotlinx/serialization/JsTest.kt +++ b/runtime/js/src/test/kotlin/kotlinx/serialization/JsTest.kt @@ -25,7 +25,7 @@ class JsTest { @Test fun jsTest() { - val parsed = kotlinx.serialization.json.JSON.unquoted.parse<Data>("{a: 42}") + val parsed = kotlinx.serialization.json.Json.unquoted.parse<Data>("{a: 42}") assertEquals(parsed, Data(42)) } }
\ No newline at end of file diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/CustomSerializersJVMTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/CustomSerializersJvmTest.kt index 4fbf4730..770f5fe8 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/CustomSerializersJVMTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/CustomSerializersJvmTest.kt @@ -20,12 +20,12 @@ import kotlinx.serialization.context.* import kotlinx.serialization.internal.HexConverter import kotlinx.serialization.internal.SerialClassDescImpl import kotlinx.serialization.internal.StringSerializer -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import org.junit.Before import org.junit.Test import kotlin.test.assertEquals -class CustomSerializersJVMTest { +class CustomSerializersJvmTest { @Serializable data class Data(val a: Int, @Optional val b: Int = 42) @@ -58,12 +58,12 @@ class CustomSerializersJVMTest { } private val obj = EnhancedData(Data(100500), Payload("string"), Payload("binary")) - private lateinit var json: JSON + private lateinit var json: Json @Before fun initContext() { val scope = SimpleModule(Payload::class, PayloadSerializer) - json = JSON(unquoted = true).apply { install(scope) } + json = Json(unquoted = true).apply { install(scope) } } @Test @@ -89,7 +89,7 @@ class CustomSerializersJVMTest { val map = mapOf<String, Any>("Payload" to Payload("data")) val saver = (StringSerializer to PolymorphicSerializer).map val s = json.stringify(saver, map) - assertEquals("""{Payload:[kotlinx.serialization.CustomSerializersJVMTest.Payload,{s:data}]}""", s) + assertEquals("""{Payload:[kotlinx.serialization.CustomSerializersJvmTest.Payload,{s:data}]}""", s) } @Test @@ -98,8 +98,8 @@ class CustomSerializersJVMTest { // MapModule and CompositeModule are also available val binaryModule = SimpleModule(Payload::class, BinaryPayloadSerializer) - val json1 = JSON().apply { install(simpleModule) } - val json2 = JSON().apply { install(binaryModule) } + val json1 = Json().apply { install(simpleModule) } + val json2 = Json().apply { install(binaryModule) } // in json1, Payload would be serialized with PayloadSerializer, // in json2, Payload would be serialized with BinaryPayloadSerializer diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/SerializationCasesTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/SerializationCasesTest.kt index ad099ded..75453323 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/SerializationCasesTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/SerializationCasesTest.kt @@ -16,7 +16,7 @@ package kotlinx.serialization -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import org.junit.Assert.assertEquals import org.junit.Test @@ -33,12 +33,12 @@ class SerializationCasesTest { val data = Data1(1, 2) // Serialize with internal serializer for Data class - assertEquals("{a:1,b:2}", JSON.unquoted.stringify(data)) - assertEquals(data, JSON.parse<Data1>("{a:1,b:2}")) + assertEquals("{a:1,b:2}", Json.unquoted.stringify(data)) + assertEquals(data, Json.parse<Data1>("{a:1,b:2}")) // Serialize with external serializer for Data class - assertEquals("{a:1,b:2}", JSON.unquoted.stringify(ExtDataSerializer1, data)) - assertEquals(data, JSON.parse(ExtDataSerializer1, "{a:1,b:2}")) + assertEquals("{a:1,b:2}", Json.unquoted.stringify(ExtDataSerializer1, data)) + assertEquals(data, Json.parse(ExtDataSerializer1, "{a:1,b:2}")) } @Serializable @@ -59,12 +59,12 @@ class SerializationCasesTest { } // Serialize with internal serializer for Data class - assertEquals("{a:1,b:2}", JSON.unquoted.stringify(data)) - assertEquals(data, JSON.parse<Data2>("{a:1,b:2}")) + assertEquals("{a:1,b:2}", Json.unquoted.stringify(data)) + assertEquals(data, Json.parse<Data2>("{a:1,b:2}")) // Serialize with external serializer for Data class - assertEquals("{a:1,b:2}", JSON.unquoted.stringify(ExtDataSerializer2, data)) - assertEquals(data, JSON.parse(ExtDataSerializer2, "{a:1,b:2}")) + assertEquals("{a:1,b:2}", Json.unquoted.stringify(ExtDataSerializer2, data)) + assertEquals(data, Json.parse(ExtDataSerializer2, "{a:1,b:2}")) } enum class TintEnum { LIGHT, DARK } @@ -86,12 +86,12 @@ class SerializationCasesTest { val data = Data3("Str", listOf(1, 2), mapOf("lt" to TintEnum.LIGHT, "dk" to TintEnum.DARK)) // Serialize with internal serializer for Data class - assertEquals("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}", JSON.unquoted.stringify(data)) - assertEquals(data, JSON.parse<Data3>("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}")) + assertEquals("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}", Json.unquoted.stringify(data)) + assertEquals(data, Json.parse<Data3>("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}")) - assertEquals("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}", JSON.unquoted.stringify(ExtDataSerializer3, data)) - assertEquals(data, JSON.parse(ExtDataSerializer3, "{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}")) + assertEquals("{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}", Json.unquoted.stringify(ExtDataSerializer3, data)) + assertEquals(data, Json.parse(ExtDataSerializer3, "{a:Str,b:[1,2],c:{lt:LIGHT,dk:DARK}}")) } } diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/GenericCustomSerializerTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/GenericCustomSerializerTest.kt index 5280a3d4..289420e9 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/GenericCustomSerializerTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/GenericCustomSerializerTest.kt @@ -3,7 +3,7 @@ package kotlinx.serialization.features import kotlinx.serialization.* import kotlinx.serialization.internal.HexConverter import kotlinx.serialization.internal.SerialClassDescImpl -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.Test import kotlin.test.assertEquals @@ -70,18 +70,18 @@ class GenericCustomSerializerTest { @Test fun testStringData() { val original = StringData(CheckedData("my data", byteArrayOf(42, 32))) - val s = JSON.stringify(StringData.serializer(), original) + val s = Json.stringify(StringData.serializer(), original) assertEquals("""{"data":{"data":"my data","checkSum":"2A20"}}""", s) - val restored = JSON.parse(StringData.serializer(), s) + val restored = Json.parse(StringData.serializer(), s) assertEquals(original, restored) } @Test fun testIntData() { val original = IntData(CheckedData(42, byteArrayOf(42))) - val s = JSON.stringify(IntData.serializer(), original) + val s = Json.stringify(IntData.serializer(), original) assertEquals("""{"data":{"data":42,"checkSum":"2A"}}""", s) - val restored = JSON.parse(IntData.serializer(), s) + val restored = Json.parse(IntData.serializer(), s) assertEquals(original, restored) } } diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/GenericTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/GenericTest.kt index 35f88b5e..c29b927e 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/GenericTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/GenericTest.kt @@ -19,7 +19,7 @@ package kotlinx.serialization.features import kotlinx.serialization.Serializable import kotlinx.serialization.internal.IntSerializer import kotlinx.serialization.internal.StringSerializer -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.Test import kotlin.test.assertEquals @@ -38,7 +38,7 @@ class GenericTest { fun writeGenericPair() { val pair = MyPair<Int, String>(42, "foo") val saver = MyPair.serializer(IntSerializer, StringSerializer) - val s = JSON.unquoted.stringify(saver, pair) + val s = Json.unquoted.stringify(saver, pair) assertEquals("{k:42,v:foo}", s) } @@ -46,7 +46,7 @@ class GenericTest { fun writePairInWrapper() { val pair = PairWrapper(42 to "foo") val saver = PairWrapper.serializer() - val s = JSON.unquoted.stringify(saver, pair) + val s = Json.unquoted.stringify(saver, pair) assertEquals("{p:{first:42,second:foo}}", s) } @@ -54,7 +54,7 @@ class GenericTest { fun writeTripleInWrapper() { val triple = TripleWrapper(Triple(42 , "foo", false)) val saver = TripleWrapper.serializer() - val s = JSON.unquoted.stringify(saver, triple) + val s = Json.unquoted.stringify(saver, triple) assertEquals("{t:{first:42,second:foo,third:false}}", s) } }
\ No newline at end of file diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/InternalInheritanceTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/InternalInheritanceTest.kt index c86706e8..3c35c3ae 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/InternalInheritanceTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/InternalInheritanceTest.kt @@ -17,7 +17,7 @@ package kotlinx.serialization.features import kotlinx.serialization.* -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import org.junit.Assert.assertEquals import org.junit.Test @@ -74,11 +74,11 @@ class InternalInheritanceTest { fun testStringify() { assertEquals( "{parent:42,rootOptional:rootOptional,parent2:42,derived:derived,bodyDerived:body,parent3:42,lastDerived:optional}", - JSON.unquoted.stringify(C(42)) + Json.unquoted.stringify(C(42)) ) assertEquals( "{parent:13,rootOptional:rootOptional,parent2:13,derived:bbb,bodyDerived:body}", - JSON.unquoted.stringify(B(13, derived = "bbb")) + Json.unquoted.stringify(B(13, derived = "bbb")) ) } @@ -86,11 +86,11 @@ class InternalInheritanceTest { fun testParse() { assertEquals( C(42), - JSON.unquoted.parse<C>("{parent:42,rootOptional:rootOptional,parent2:42,derived:derived,bodyDerived:body,parent3:42,lastDerived:optional}") + Json.unquoted.parse<C>("{parent:42,rootOptional:rootOptional,parent2:42,derived:derived,bodyDerived:body,parent3:42,lastDerived:optional}") ) assertEquals( C(43), - JSON.unquoted.parse<C>("{parent:43,rootOptional:rootOptional,parent2:43,derived:derived,bodyDerived:body,parent3:43,lastDerived:optional}") + Json.unquoted.parse<C>("{parent:43,rootOptional:rootOptional,parent2:43,derived:derived,bodyDerived:body,parent3:43,lastDerived:optional}") ) } @@ -99,33 +99,33 @@ class InternalInheritanceTest { fun testParseOptionals() { assertEquals( B(100, derived = "wowstring"), - JSON.unquoted.parse<B>("{parent:100,rootOptional:rootOptional,parent2:100,derived:wowstring,bodyDerived:body}") + Json.unquoted.parse<B>("{parent:100,rootOptional:rootOptional,parent2:100,derived:wowstring,bodyDerived:body}") ) assertEquals( C(44), - JSON.unquoted.parse<C>("{parent:44, parent2:44,derived:derived,bodyDerived:body,parent3:44}") + Json.unquoted.parse<C>("{parent:44, parent2:44,derived:derived,bodyDerived:body,parent3:44}") ) assertEquals( B(101, derived = "wowstring"), - JSON.unquoted.parse<B>("{parent:101,parent2:101,derived:wowstring,bodyDerived:body}") + Json.unquoted.parse<B>("{parent:101,parent2:101,derived:wowstring,bodyDerived:body}") ) assertEquals( A(77), - JSON.unquoted.parse<A>("{parent:77,rootOptional:rootOptional}") + Json.unquoted.parse<A>("{parent:77,rootOptional:rootOptional}") ) assertEquals( A(78), - JSON.unquoted.parse<A>("{parent:78}") + Json.unquoted.parse<A>("{parent:78}") ) } @Test(expected = SerializationException::class) fun testThrowTransient() { - JSON.unquoted.parse<B>("{parent:100,rootOptional:rootOptional,transientDerived:X,parent2:100,derived:wowstring,bodyDerived:body}") + Json.unquoted.parse<B>("{parent:100,rootOptional:rootOptional,transientDerived:X,parent2:100,derived:wowstring,bodyDerived:body}") } @Test(expected = SerializationException::class) fun testThrowMissingField() { - JSON.unquoted.parse<C>("{parent:42,rootOptional:rootOptional,derived:derived,bodyDerived:body,parent3:42,lastDerived:optional}") + Json.unquoted.parse<C>("{parent:42,rootOptional:rootOptional,derived:derived,bodyDerived:body,parent3:42,lastDerived:optional}") } } diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/PolymorphicTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/PolymorphicTest.kt index 9d6f793d..281dac55 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/PolymorphicTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/PolymorphicTest.kt @@ -17,7 +17,7 @@ package kotlinx.serialization.features import kotlinx.serialization.* -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlinx.serialization.protobuf.ProtoBuf import org.junit.Test import java.text.DateFormat @@ -74,9 +74,9 @@ class PolymorphicTest { } @Test - fun testInheritanceJSON() { + fun testInheritanceJson() { val obj = Wrapper(A(2), B("b")) - val bytes = JSON.unquoted.stringify(obj) + val bytes = Json.unquoted.stringify(obj) assertEquals("{a1:[kotlinx.serialization.features.A,{id:2}]," + "a2:[kotlinx.serialization.features.B,{id:1,s:b}]}", bytes) } @@ -101,7 +101,7 @@ class PolymorphicTest { @Test fun testExplicit() { val obj = B("b") - val s = JSON.unquoted.stringify(PolymorphicSerializer, obj) + val s = Json.unquoted.stringify(PolymorphicSerializer, obj) assertEquals("[kotlinx.serialization.features.B,{id:1,s:b}]", s) } } diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/ResolvingTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/ResolvingTest.kt index 12c3fb21..cd181471 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/ResolvingTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/ResolvingTest.kt @@ -19,7 +19,7 @@ package kotlinx.serialization.features import kotlinx.serialization.* import kotlinx.serialization.internal.IntDescriptor import kotlinx.serialization.internal.IntSerializer -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import org.junit.Test import java.lang.reflect.ParameterizedType import java.lang.reflect.Type @@ -61,7 +61,7 @@ class ResolvingTest { fun intBoxTest() { val b = Box(42) val serial = serializerByTypeToken(IntBoxToken) - val s = JSON.unquoted.stringify(serial, b) + val s = Json.unquoted.stringify(serial, b) assertEquals("{a:42}", s) } @@ -70,7 +70,7 @@ class ResolvingTest { val myArr = arrayOf("a", "b", "c") val token = myArr::class.java val serial = serializerByTypeToken(token) - val s = JSON.unquoted.stringify(serial, myArr) + val s = Json.unquoted.stringify(serial, myArr) assertEquals("[a,b,c]", s) } @@ -83,7 +83,7 @@ class ResolvingTest { override fun getActualTypeArguments(): Array<Type> = arrayOf(String::class.java) } val serial = serializerByTypeToken(token) - val s = JSON.unquoted.stringify(serial, myArr) + val s = Json.unquoted.stringify(serial, myArr) assertEquals("[a,b,c]", s) } @@ -93,7 +93,7 @@ class ResolvingTest { val myArr = arrayOf("a", "b", "c") val token = typeTokenOf<Array<String>>() val serial = serializerByTypeToken(token) - val s = JSON.unquoted.stringify(serial, myArr) + val s = Json.unquoted.stringify(serial, myArr) assertEquals("[a,b,c]", s) } @@ -102,7 +102,7 @@ class ResolvingTest { val myList = listOf("a", "b", "c") val token = typeTokenOf<List<String>>() val serial = serializerByTypeToken(token) - val s = JSON.unquoted.stringify(serial, myList) + val s = Json.unquoted.stringify(serial, myList) assertEquals("[a,b,c]", s) } @@ -111,7 +111,7 @@ class ResolvingTest { val mySet = setOf("a", "b", "c", "c") val token = typeTokenOf<Set<String>>() val serial = serializerByTypeToken(token) - val s = JSON.unquoted.stringify(serial, mySet) + val s = Json.unquoted.stringify(serial, mySet) assertEquals("[a,b,c]", s) } @@ -120,7 +120,7 @@ class ResolvingTest { val myMap = mapOf("a" to Data(listOf("c"), Box(6))) val token = typeTokenOf<Map<String, Data>>() val serial = serializerByTypeToken(token) - val s = JSON.unquoted.stringify(serial, myMap) + val s = Json.unquoted.stringify(serial, myMap) assertEquals("{a:{l:[c],b:{a:6}}}", s) } @@ -129,7 +129,7 @@ class ResolvingTest { val myList = listOf(listOf(listOf(1, 2, 3)), listOf()) val token = typeTokenOf<List<List<List<Int>>>>() val serial = serializerByTypeToken(token) - val s = JSON.unquoted.stringify(serial, myList) + val s = Json.unquoted.stringify(serial, myList) assertEquals("[[[1,2,3]],[]]", s) } @@ -138,7 +138,7 @@ class ResolvingTest { val myList = arrayOf(arrayOf(arrayOf(1, 2, 3)), arrayOf()) val token = typeTokenOf<Array<Array<Array<Int>>>>() val serial = serializerByTypeToken(token) - val s = JSON.unquoted.stringify(serial, myList) + val s = Json.unquoted.stringify(serial, myList) assertEquals("[[[1,2,3]],[]]", s) } @@ -147,7 +147,7 @@ class ResolvingTest { val myList = arrayOf(listOf(arrayOf(1, 2, 3)), listOf()) val token = typeTokenOf<Array<List<Array<Int>>>>() val serial = serializerByTypeToken(token) - val s = JSON.unquoted.stringify(serial, myList) + val s = Json.unquoted.stringify(serial, myList) assertEquals("[[[1,2,3]],[]]", s) } @@ -155,13 +155,13 @@ class ResolvingTest { fun objectTest() { val b = Data(listOf("a", "b", "c"), Box(42)) val serial = serializerByTypeToken(Data::class.java) - val s = JSON.unquoted.stringify(serial, b) + val s = Json.unquoted.stringify(serial, b) assertEquals("{l:[a,b,c],b:{a:42}}", s) } @Test fun customDefault() { - val foo = JSON.unquoted.parse<WithCustomDefault>("9") + val foo = Json.unquoted.parse<WithCustomDefault>("9") assertEquals(9, foo.n) } @@ -174,7 +174,7 @@ class ResolvingTest { fun namedCompanionTest() { val namedCompanion = WithNamedCompanion(1) val serial = serializerByTypeToken(WithNamedCompanion::class.java) - val s = JSON.unquoted.stringify(serial, namedCompanion) + val s = Json.unquoted.stringify(serial, namedCompanion) assertEquals("{a:1}", s) } diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/SealedPolymorphismTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/SealedPolymorphismTest.kt index b68e40c7..398ae947 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/SealedPolymorphismTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/SealedPolymorphismTest.kt @@ -17,7 +17,7 @@ package kotlinx.serialization.features import kotlinx.serialization.* -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.* @Serializable @@ -39,7 +39,7 @@ class SealedPolymorphismTest { @Test fun saveSealedClassesList() { val holder = FooHolder(42, listOf(Foo.Bar(1), Foo.Baz(2))) - val s = JSON.stringify(holder) + val s = Json.stringify(holder) assertEquals("""{"someMetadata":42,"payload":[["kotlinx.serialization.features.Foo.Bar",{"bar":1}],["kotlinx.serialization.features.Foo.Baz",{"baz":2}]]}""", s) } } diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/SerializeJavaClassTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/SerializeJavaClassTest.kt index 4fabfd1d..af54f212 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/SerializeJavaClassTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/SerializeJavaClassTest.kt @@ -2,7 +2,7 @@ package kotlinx.serialization.features import kotlinx.serialization.* import kotlinx.serialization.internal.StringDescriptor -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import org.junit.Test import java.text.DateFormat import java.text.SimpleDateFormat @@ -35,9 +35,9 @@ class SerializeJavaClassTest { fun serializeToStringAndRestore() { // Thursday, 4 October 2018 09:00:00 GMT+02:00 — KotlinConf 2018 Keynote val date = ClassWithDate(Date(1538636400000L)) - val s = JSON.stringify(date) + val s = Json.stringify(date) assertEquals("""{"date":"04/10/2018 09:00:00.000"}""", s) - val date2 = JSON.parse(ClassWithDate.serializer(), s) + val date2 = Json.parse(ClassWithDate.serializer(), s) assertEquals(date, date2) } } diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/UpdateCustomTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/UpdateCustomTest.kt index 3571e8d7..7dc22fb2 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/UpdateCustomTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/features/UpdateCustomTest.kt @@ -18,7 +18,7 @@ package kotlinx.serialization.features import kotlinx.serialization.* import kotlinx.serialization.internal.IntSerializer -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import org.junit.Test import kotlin.test.assertEquals @@ -42,7 +42,7 @@ class UpdateTest { @Test fun canUpdateCustom() { val parsed: Updatable = - JSON(unquoted = true, strictMode = false, updateMode = UpdateMode.UPDATE) + Json(unquoted = true, strictMode = false, updateMode = UpdateMode.UPDATE) .parse("""{d:{a:42},d:{a:43}}""") assertEquals(Data(42 + 43), parsed.d) } @@ -52,14 +52,14 @@ class UpdateTest { @Test fun canUpdateMap() { - val json = JSON(updateMode = UpdateMode.UPDATE) + val json = Json(updateMode = UpdateMode.UPDATE) val parsed = json.parse(WrappedMap.serializer(IntSerializer), """{"mp": { "x" : 23, "x" : 42, "y": 4 }}""") assertEquals(WrappedMap(mapOf("x" to 42, "y" to 4)), parsed) } @Test fun canUpdateValuesInMap() { - val json = JSON(updateMode = UpdateMode.UPDATE) + val json = Json(updateMode = UpdateMode.UPDATE) val parsed = json.parse(WrappedMap.serializer(IntSerializer.list), """{"mp": { "x" : [23], "x" : [42], "y": [4] }}""") assertEquals(WrappedMap(mapOf("x" to listOf(23, 42), "y" to listOf(4))), parsed) } diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/RandomTests.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/RandomTests.kt index 38ceae76..24cc3854 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/RandomTests.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/RandomTests.kt @@ -25,7 +25,7 @@ import io.kotlintest.properties.Gen import io.kotlintest.properties.forAll import io.kotlintest.specs.ShouldSpec import kotlinx.serialization.* -import kotlinx.serialization.cbor.CBOR +import kotlinx.serialization.cbor.Cbor import kotlinx.serialization.formats.proto.TestData.* import kotlinx.serialization.internal.HexConverter import kotlinx.serialization.protobuf.* @@ -223,7 +223,7 @@ object KTestData { class RandomTest : ShouldSpec() { - val CBORJackson = ObjectMapper(CBORFactory()).apply { registerKotlinModule() } + val cborJackson = ObjectMapper(CBORFactory()).apply { registerKotlinModule() } inline fun <reified T : IMessage> dumpCompare(it: T, alwaysPrint: Boolean = false): Boolean { val msg = it.toProtobufMessage() @@ -241,11 +241,11 @@ class RandomTest : ShouldSpec() { return c } - inline fun <reified T : IMessage> dumpCBORCompare(it: T, alwaysPrint: Boolean = false): Boolean { + inline fun <reified T : IMessage> dumpCborCompare(it: T, alwaysPrint: Boolean = false): Boolean { var parsed: T? val c = try { - val bytes = CBOR.dump(it) - parsed = CBORJackson.readValue<T>(bytes) + val bytes = Cbor.dump(it) + parsed = cborJackson.readValue<T>(bytes) it == parsed } catch (e: Exception) { e.printStackTrace() @@ -272,11 +272,11 @@ class RandomTest : ShouldSpec() { return c } - inline fun <reified T : IMessage> readCBORCompare(it: T, alwaysPrint: Boolean = false): Boolean { + inline fun <reified T : IMessage> readCborCompare(it: T, alwaysPrint: Boolean = false): Boolean { var obj: T? val c = try { - val hex = CBORJackson.writeValueAsBytes(it) - obj = CBOR.load<T>(hex) + val hex = cborJackson.writeValueAsBytes(it) + obj = Cbor.load<T>(hex) obj == it } catch (e: Exception) { obj = null @@ -318,31 +318,31 @@ class RandomTest : ShouldSpec() { } "CBOR Writer" { - should("serialize random int32") { forAll(KTestData.KTestInt32.Companion) { dumpCBORCompare(it) } } - should("serialize random signed int32") { forAll(KTestData.KTestSignedInt.Companion) { dumpCBORCompare(it) } } - should("serialize random signed int64") { forAll(KTestData.KTestSignedLong.Companion) { dumpCBORCompare(it) } } - should("serialize random fixed int32") { forAll(KTestData.KTestFixedInt.Companion) { dumpCBORCompare(it) } } - should("serialize random doubles") { forAll(KTestData.KTestDouble.Companion) { dumpCBORCompare(it) } } - should("serialize random booleans") { forAll(KTestData.KTestBoolean.Companion) { dumpCBORCompare(it) } } - should("serialize random enums") { forAll(KTestData.KTestEnum.Companion) { dumpCBORCompare(it) } } - should("serialize all base random types") { forAll(KTestData.KTestAllTypes.Companion) { dumpCBORCompare(it) } } - should("serialize random messages with embedded message") { forAll(KTestData.KTestOuterMessage.Companion) { dumpCBORCompare(it) } } - should("serialize random messages with primitive list fields") { forAll(KTestData.KTestIntListMessage.Companion) { dumpCBORCompare(it) } } - should("serialize messages with object list fields") { forAll(KTestData.KTestObjectListMessage.Companion) { dumpCBORCompare(it) } } - should("serialize messages with scalar-key maps") { forAll(KTestData.KTestMap.Companion) { dumpCBORCompare(it) } } + should("serialize random int32") { forAll(KTestData.KTestInt32.Companion) { dumpCborCompare(it) } } + should("serialize random signed int32") { forAll(KTestData.KTestSignedInt.Companion) { dumpCborCompare(it) } } + should("serialize random signed int64") { forAll(KTestData.KTestSignedLong.Companion) { dumpCborCompare(it) } } + should("serialize random fixed int32") { forAll(KTestData.KTestFixedInt.Companion) { dumpCborCompare(it) } } + should("serialize random doubles") { forAll(KTestData.KTestDouble.Companion) { dumpCborCompare(it) } } + should("serialize random booleans") { forAll(KTestData.KTestBoolean.Companion) { dumpCborCompare(it) } } + should("serialize random enums") { forAll(KTestData.KTestEnum.Companion) { dumpCborCompare(it) } } + should("serialize all base random types") { forAll(KTestData.KTestAllTypes.Companion) { dumpCborCompare(it) } } + should("serialize random messages with embedded message") { forAll(KTestData.KTestOuterMessage.Companion) { dumpCborCompare(it) } } + should("serialize random messages with primitive list fields") { forAll(KTestData.KTestIntListMessage.Companion) { dumpCborCompare(it) } } + should("serialize messages with object list fields") { forAll(KTestData.KTestObjectListMessage.Companion) { dumpCborCompare(it) } } + should("serialize messages with scalar-key maps") { forAll(KTestData.KTestMap.Companion) { dumpCborCompare(it) } } } "CBOR Reader" { - should("read random int32") { forAll(KTestData.KTestInt32.Companion) { readCBORCompare(it) } } - should("read random signed int32") { forAll(KTestData.KTestSignedInt.Companion) { readCBORCompare(it) } } - should("read random signed int64") { forAll(KTestData.KTestSignedLong.Companion) { readCBORCompare(it) } } - should("read random fixed int32") { forAll(KTestData.KTestFixedInt.Companion) { readCBORCompare(it) } } - should("read random doubles") { forAll(KTestData.KTestDouble.Companion) { readCBORCompare(it) } } - should("read random enums") { forAll(KTestData.KTestEnum.Companion) { readCBORCompare(it) } } - should("read all base random types") { forAll(KTestData.KTestAllTypes.Companion) { readCBORCompare(it) } } - should("read random messages with embedded message") { forAll(KTestData.KTestOuterMessage.Companion) { readCBORCompare(it) } } - should("read random messages with primitive list fields") { forAll(KTestData.KTestIntListMessage.Companion) { readCBORCompare(it) } } - should("read random messages with object list fields") { forAll(KTestData.KTestObjectListMessage.Companion) { readCBORCompare(it) } } + should("read random int32") { forAll(KTestData.KTestInt32.Companion) { readCborCompare(it) } } + should("read random signed int32") { forAll(KTestData.KTestSignedInt.Companion) { readCborCompare(it) } } + should("read random signed int64") { forAll(KTestData.KTestSignedLong.Companion) { readCborCompare(it) } } + should("read random fixed int32") { forAll(KTestData.KTestFixedInt.Companion) { readCborCompare(it) } } + should("read random doubles") { forAll(KTestData.KTestDouble.Companion) { readCborCompare(it) } } + should("read random enums") { forAll(KTestData.KTestEnum.Companion) { readCborCompare(it) } } + should("read all base random types") { forAll(KTestData.KTestAllTypes.Companion) { readCborCompare(it) } } + should("read random messages with embedded message") { forAll(KTestData.KTestOuterMessage.Companion) { readCborCompare(it) } } + should("read random messages with primitive list fields") { forAll(KTestData.KTestIntListMessage.Companion) { readCborCompare(it) } } + should("read random messages with object list fields") { forAll(KTestData.KTestObjectListMessage.Companion) { readCborCompare(it) } } } } } diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/cbor/CBORWriterTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/cbor/CborWriterTest.kt index 0a9e47e5..96a21846 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/cbor/CBORWriterTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/cbor/CborWriterTest.kt @@ -23,15 +23,15 @@ import io.kotlintest.properties.row import io.kotlintest.properties.table import io.kotlintest.specs.WordSpec import kotlinx.io.ByteArrayOutputStream -import kotlinx.serialization.cbor.CBOR +import kotlinx.serialization.cbor.Cbor import kotlinx.serialization.internal.HexConverter -class CBORWriterTest : WordSpec() { +class CborWriterTest : WordSpec() { init { - fun withEncoder(block: CBOR.CBOREncoder.() -> Unit): String { + fun withEncoder(block: Cbor.CborEncoder.() -> Unit): String { val result = ByteArrayOutputStream() - CBOR.CBOREncoder(result).block() + Cbor.CborEncoder(result).block() return HexConverter.printHexBinary(result.toByteArray()).toLowerCase() } diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/json/GsonCompatibilityTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/json/GsonCompatibilityTest.kt index 53eda78d..7e59c797 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/json/GsonCompatibilityTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/json/GsonCompatibilityTest.kt @@ -31,11 +31,11 @@ class GsonCompatibilityTest { } private fun checkCompatibility(box: Box) { - checkCompatibility(box, Gson(), JSON.plain) - checkCompatibility(box, GsonBuilder().serializeSpecialFloatingPointValues().create(), JSON.nonstrict) + checkCompatibility(box, Gson(), Json.plain) + checkCompatibility(box, GsonBuilder().serializeSpecialFloatingPointValues().create(), Json.nonstrict) } - private fun checkCompatibility(box: Box, gson: Gson, json: JSON) { + private fun checkCompatibility(box: Box, gson: Gson, json: Json) { val jsonResult = resultOrNull { json.stringify(box) } val gsonResult = resultOrNull { gson.toJson(box) } assertEquals(gsonResult, jsonResult) diff --git a/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/json/JsonTreeAndMapperTest.kt b/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/json/JsonTreeAndMapperTest.kt index fb510e71..7ec3dc18 100644 --- a/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/json/JsonTreeAndMapperTest.kt +++ b/runtime/jvm/src/test/kotlin/kotlinx/serialization/formats/json/JsonTreeAndMapperTest.kt @@ -35,17 +35,17 @@ object EitherSerializer: KSerializer<DummyEither> { override val descriptor: SerialDescriptor = SerialClassDescImpl("DummyEither") override fun deserialize(input: Decoder): DummyEither { - val jsonReader = input as? JSON.JsonInput - ?: throw SerializationException("This class can be loaded only by JSON") + val jsonReader = input as? Json.JsonInput + ?: throw SerializationException("This class can be loaded only by Json") val tree = jsonReader.readAsTree() as? JsonObject - ?: throw SerializationException("Expected JSON object") + ?: throw SerializationException("Expected JsonObject") if ("error" in tree) return DummyEither.Left(tree.getPrimitive("error").content) return DummyEither.Right(JsonTreeMapper().readTree(tree, Payload.serializer())) } override fun serialize(output: Encoder, obj: DummyEither) { - val jsonWriter = output as? JSON.JsonOutput - ?: throw SerializationException("This class can be saved only by JSON") + val jsonWriter = output as? Json.JsonOutput + ?: throw SerializationException("This class can be saved only by Json") val tree = when (obj) { is DummyEither.Left -> JsonObject(mapOf("error" to JsonLiteral(obj.errorMsg))) is DummyEither.Right -> JsonTreeMapper().writeTree(obj.data, Payload.serializer()) @@ -67,7 +67,7 @@ class JsonTreeAndMapperTest { @Test fun testParseData() { - val ev = JSON.parse(Event.serializer(), inputData) + val ev = Json.parse(Event.serializer(), inputData) with(ev) { assertEquals(0, id) assertEquals(DummyEither.Right(Payload(42, 43, "Hello world")), payload) @@ -77,7 +77,7 @@ class JsonTreeAndMapperTest { @Test fun testParseError() { - val ev = JSON.parse(Event.serializer(), inputError) + val ev = Json.parse(Event.serializer(), inputError) with(ev) { assertEquals(1, id) assertEquals(DummyEither.Left("Connection timed out"), payload) @@ -88,14 +88,14 @@ class JsonTreeAndMapperTest { @Test fun testWriteData() { val outputData = Event(0, DummyEither.Right(Payload(42, 43, "Hello world")), 1000) - val ev = JSON.stringify(Event.serializer(), outputData) + val ev = Json.stringify(Event.serializer(), outputData) assertEquals(inputData, ev) } @Test fun testWriteError() { val outputError = Event(1, DummyEither.Left("Connection timed out"), 1001) - val ev = JSON.stringify(Event.serializer(), outputError) + val ev = Json.stringify(Event.serializer(), outputError) assertEquals(inputError, ev) } diff --git a/runtime/native/src/test/kotlin/kotlinx/serialization/CustomSerializer.kt b/runtime/native/src/test/kotlin/kotlinx/serialization/CustomSerializer.kt index 622807f8..d08999ff 100644 --- a/runtime/native/src/test/kotlin/kotlinx/serialization/CustomSerializer.kt +++ b/runtime/native/src/test/kotlin/kotlinx/serialization/CustomSerializer.kt @@ -3,7 +3,7 @@ package kotlinx.serialization import kotlinx.serialization.* import kotlinx.serialization.internal.HexConverter import kotlinx.serialization.internal.SerialClassDescImpl -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json import kotlin.test.* import kotlin.test.assertEquals @@ -67,8 +67,8 @@ class BinaryPayloadExampleTest { @Test fun payloadEquivalence() { val payload1 = BinaryPayload(byteArrayOf(0, 0, 0), byteArrayOf(127, 127)) - val s = JSON.stringify(BinaryPayload.serializer(), payload1) - val payload2 = JSON.parse(BinaryPayload.serializer(), s) + val s = Json.stringify(BinaryPayload.serializer(), payload1) + val payload2 = Json.parse(BinaryPayload.serializer(), s) assertEquals(payload1, payload2) } } diff --git a/runtime/native/src/test/kotlin/kotlinx/serialization/NativeTest.kt b/runtime/native/src/test/kotlin/kotlinx/serialization/NativeTest.kt index 2f28349d..86d30472 100644 --- a/runtime/native/src/test/kotlin/kotlinx/serialization/NativeTest.kt +++ b/runtime/native/src/test/kotlin/kotlinx/serialization/NativeTest.kt @@ -1,7 +1,7 @@ package kotlinx.serialization -import kotlinx.serialization.cbor.CBOR -import kotlinx.serialization.json.JSON +import kotlinx.serialization.cbor.Cbor +import kotlinx.serialization.json.Json import kotlinx.serialization.protobuf.ProtoBuf import kotlin.test.* @@ -9,7 +9,7 @@ class CommonTest { @Test fun canSerialize() { val serializer = Shop.serializer() - val jsonShop = JSON.stringify(serializer, shop) + val jsonShop = Json.stringify(serializer, shop) assertTrue(jsonShop.isNotBlank()) } @@ -17,7 +17,7 @@ class CommonTest { fun basicJson() { val serializer = SimpleData.serializer() val data = SimpleData("foo", 42) - val json = JSON.stringify(serializer, data) + val json = Json.stringify(serializer, data) assertEquals("""{"foo":"foo","bar":42}""", json) } @@ -25,7 +25,7 @@ class CommonTest { fun isomorphicCbor() { val zoo = shop val serial = Shop.serializer() - val zoo2 = CBOR.load(serial, CBOR.dump(serial, zoo)) + val zoo2 = Cbor.load(serial, Cbor.dump(serial, zoo)) assertTrue(zoo !== zoo2) assertEquals(zoo, zoo2) } |