Parcelize: Add a test for KT-36658

This commit is contained in:
Steven Schäfer
2020-04-01 19:18:29 +02:00
committed by Alexander Udalov
parent 01ea2a641f
commit aa0eeba327
3 changed files with 32 additions and 0 deletions
@@ -134,6 +134,11 @@ public class ParcelBoxTestGenerated extends AbstractParcelBoxTest {
runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt26221.kt");
}
@TestMetadata("kt36658.kt")
public void testKt36658() throws Exception {
runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt36658.kt");
}
@TestMetadata("listKinds.kt")
public void testListKinds() throws Exception {
runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/listKinds.kt");
@@ -134,6 +134,11 @@ public class ParcelIrBoxTestGenerated extends AbstractParcelIrBoxTest {
runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt26221.kt");
}
@TestMetadata("kt36658.kt")
public void testKt36658() throws Exception {
runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/kt36658.kt");
}
@TestMetadata("listKinds.kt")
public void testListKinds() throws Exception {
runTest("plugins/android-extensions/android-extensions-compiler/testData/parcel/box/listKinds.kt");
@@ -0,0 +1,22 @@
// IGNORE_BACKEND: JVM
// StackOverflowError caused by infinite loop in MyObject.writeToParcel
// WITH_RUNTIME
@file:JvmName("TestKt")
package test
import kotlinx.android.parcel.*
import android.os.Parcel
import android.os.Parcelable
@Parcelize
private object MyObject : Parcelable
fun box() = parcelTest { parcel ->
MyObject.writeToParcel(parcel, 0)
val bytes = parcel.marshall()
parcel.unmarshall(bytes, 0, bytes.size)
readFromParcel<MyObject>(parcel)
}