Skip to content

Commit 591bc8f

Browse files
committed
fix: formatting
1 parent 520cacb commit 591bc8f

File tree

2 files changed

+23
-12
lines changed

2 files changed

+23
-12
lines changed

formats/json-tests/commonTest/src/kotlinx/serialization/json/MissingCommaTest.kt

+13-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import kotlinx.serialization.*
99
import kotlinx.serialization.test.*
1010
import kotlin.test.*
1111

12-
class MissingCommaTest: JsonTestBase() {
12+
class MissingCommaTest : JsonTestBase() {
1313
@Serializable
1414
class Holder(
1515
val i: Int,
@@ -68,7 +68,7 @@ class MissingCommaTest: JsonTestBase() {
6868
}
6969

7070
@Test
71-
fun missingCommaInDynamicMap(){
71+
fun missingCommaInDynamicMap() {
7272
val m = "Unexpected JSON token at offset 9: Expected end of the object or comma at path: \$"
7373
val json = """{"i":42 "c":{"i":"string"}}"""
7474
assertFailsWithSerialMessage("JsonDecodingException", m) {
@@ -77,12 +77,22 @@ class MissingCommaTest: JsonTestBase() {
7777
}
7878

7979
@Test
80-
fun missingCommaInArray(){
80+
fun missingCommaInArray() {
8181
val m = "Unexpected JSON token at offset 3: Expected end of the array or comma at path: \$[0]"
8282
val json = """[1 2 3 4]"""
8383

8484
assertFailsWithSerialMessage("JsonDecodingException", m) {
8585
default.decodeFromString<List<Int>>(json)
8686
}
8787
}
88+
89+
@Test
90+
fun missingCommaInStringMap() {
91+
val m = "Unexpected JSON token at offset 9: Expected comma after the key-value pair at path: \$['a']"
92+
val json = """{"a":"1" "b":"2"}"""
93+
94+
assertFailsWithSerialMessage("JsonDecodingException", m) {
95+
default.decodeFromString<Map<String, String>>(json)
96+
}
97+
}
8898
}

formats/json/commonMain/src/kotlinx/serialization/json/internal/StreamingJsonDecoder.kt

+10-9
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ internal open class StreamingJsonDecoder(
4545
private var discriminatorHolder: DiscriminatorHolder? = discriminatorHolder
4646
private val configuration = json.configuration
4747

48-
private val elementMarker: JsonElementMarker? = if (configuration.explicitNulls) null else JsonElementMarker(descriptor)
48+
private val elementMarker: JsonElementMarker? =
49+
if (configuration.explicitNulls) null else JsonElementMarker(descriptor)
4950

5051
override fun decodeJsonElement(): JsonElement = JsonTreeReader(json.configuration, lexer).read()
5152

@@ -76,14 +77,14 @@ internal open class StreamingJsonDecoder(
7677

7778
@Suppress("UNCHECKED_CAST")
7879
val actualSerializer = try {
79-
deserializer.findPolymorphicSerializer(this, type)
80-
} catch (it: SerializationException) { // Wrap SerializationException into JsonDecodingException to preserve position, path, and input.
81-
// Split multiline message from private core function:
82-
// core/commonMain/src/kotlinx/serialization/internal/AbstractPolymorphicSerializer.kt:102
83-
val message = it.message!!.substringBefore('\n').removeSuffix(".")
84-
val hint = it.message!!.substringAfter('\n', missingDelimiterValue = "")
85-
lexer.fail(message, hint = hint)
86-
} as DeserializationStrategy<T>
80+
deserializer.findPolymorphicSerializer(this, type) as DeserializationStrategy<T>
81+
} catch (it: SerializationException) { // Wrap SerializationException into JsonDecodingException to preserve position, path, and input.
82+
// Split multiline message from private core function:
83+
// core/commonMain/src/kotlinx/serialization/internal/AbstractPolymorphicSerializer.kt:102
84+
val message = it.message!!.substringBefore('\n').removeSuffix(".")
85+
val hint = it.message!!.substringAfter('\n', missingDelimiterValue = "")
86+
lexer.fail(message, hint = hint)
87+
}
8788

8889
discriminatorHolder = DiscriminatorHolder(discriminator)
8990
return actualSerializer.deserialize(this)

0 commit comments

Comments
 (0)