From c360a1c8401c9f77981025343ad6bf8cab6a2969 Mon Sep 17 00:00:00 2001 From: Jesse Wilson Date: Sun, 5 Aug 2018 22:20:25 -0400 Subject: [PATCH] Test to confirm that extension properties are not encoded or decoded --- .../kotlin/codgen/GeneratedAdaptersTest.kt | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/kotlin/tests/src/test/kotlin/com/squareup/moshi/kotlin/codgen/GeneratedAdaptersTest.kt b/kotlin/tests/src/test/kotlin/com/squareup/moshi/kotlin/codgen/GeneratedAdaptersTest.kt index f302c3e..5d63432 100644 --- a/kotlin/tests/src/test/kotlin/com/squareup/moshi/kotlin/codgen/GeneratedAdaptersTest.kt +++ b/kotlin/tests/src/test/kotlin/com/squareup/moshi/kotlin/codgen/GeneratedAdaptersTest.kt @@ -811,6 +811,28 @@ class GeneratedAdaptersTest { companion object CustomCompanionObject } + @Test fun extensionProperty() { + val moshi = Moshi.Builder().build() + val jsonAdapter = moshi.adapter(ExtensionProperty::class.java) + + val encoded = ExtensionProperty(3) + assertThat(jsonAdapter.toJson(encoded)).isEqualTo("""{"a":3}""") + + val decoded = jsonAdapter.fromJson("""{"a":4,"b":6}""")!! + assertThat(decoded.a).isEqualTo(4) + } + + @JsonClass(generateAdapter = true) + class ExtensionProperty(var a: Int) + + var ExtensionProperty.b: Int + get() { + throw AssertionError() + } + set(value) { + throw AssertionError() + } + @JsonQualifier annotation class Uppercase(val inFrench: Boolean, val onSundays: Boolean = false)