From 1ba07d4b7d6cfe8ecd0bcb08659b33c272c71394 Mon Sep 17 00:00:00 2001 From: Jesse Wilson Date: Sun, 9 Sep 2018 15:34:58 -0400 Subject: [PATCH] Test that @Transient private properties are ignored Closes: https://github.com/square/moshi/issues/643 --- .../kotlin/codgen/GeneratedAdaptersTest.kt | 27 +++++++++++++++++++ 1 file changed, 27 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 4458211..d5bfd9f 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 @@ -925,6 +925,33 @@ class GeneratedAdaptersTest { } } + @Test fun privateTransientIsIgnored() { + val jsonAdapter = moshi.adapter(PrivateTransient::class.java) + + val privateTransient = PrivateTransient() + privateTransient.writeA(1) + privateTransient.b = 2 + assertThat(jsonAdapter.toJson(privateTransient)).isEqualTo("""{"b":2}""") + + val fromJson = jsonAdapter.fromJson("""{"a":3,"b":4}""")!! + assertThat(fromJson.readA()).isEqualTo(-1) + assertThat(fromJson.b).isEqualTo(4) + } + + @JsonClass(generateAdapter = true) + class PrivateTransient { + @Transient private var a: Int = -1 + var b: Int = -1 + + fun readA(): Int { + return a + } + + fun writeA(a: Int) { + this.a = a + } + } + @Test fun propertyIsNothing() { val moshi = Moshi.Builder() .add(NothingAdapter())