1+ @file:OptIn(ApolloInternal ::class )
2+
13package test
24
5+ import com.apollographql.apollo.annotations.ApolloInternal
36import com.apollographql.apollo.api.AnyAdapter
47import com.apollographql.apollo.api.CustomScalarAdapters
58import com.apollographql.apollo.api.LongAdapter
@@ -8,9 +11,11 @@ import com.apollographql.apollo.api.json.MapJsonWriter
811import com.apollographql.apollo.api.json.buildJsonString
912import com.apollographql.apollo.api.json.jsonReader
1013import com.apollographql.apollo.api.json.readAny
14+ import com.apollographql.apollo.exception.JsonEncodingException
1115import okio.Buffer
1216import kotlin.test.Test
1317import kotlin.test.assertEquals
18+ import kotlin.test.assertFailsWith
1419
1520class JsonTest {
1621 @Test
@@ -63,4 +68,24 @@ class JsonTest {
6368
6469 MapJsonReader (root).readAny()
6570 }
71+
72+ @Test
73+ fun unquotedKeysFails () {
74+ try {
75+ Buffer ().writeUtf8(" { foo: \" bar\" }" ).jsonReader().readAny()
76+ error(" an error was expected" )
77+ } catch (e: JsonEncodingException ) {
78+ assertEquals(" Unexpected character: f at path []" , e.message)
79+ }
80+ }
81+
82+ @Test
83+ fun singleQuoteStringFails () {
84+ try {
85+ Buffer ().writeUtf8(" { \" foo\" : 'bar'}" ).jsonReader().readAny()
86+ error(" an error was expected" )
87+ } catch (e: JsonEncodingException ) {
88+ assertEquals(" Unexpected value at path [foo]" , e.message)
89+ }
90+ }
6691}
0 commit comments