Parcelize: Enable warnings in tests
This commit is contained in:
committed by
Alexander Udalov
parent
ca74b7becc
commit
05da65654e
@@ -1,6 +1,7 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
@file:JvmName("TestKt")
|
||||
@file:Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN")
|
||||
package test
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
|
||||
@@ -37,5 +37,5 @@ fun box() = parcelTest { parcel ->
|
||||
parcel.unmarshall(bytes, 0, bytes.size)
|
||||
parcel.setDataPosition(0)
|
||||
|
||||
val test2 = parcelableCreator<ServiceContainer>().createFromParcel(parcel)
|
||||
parcelableCreator<ServiceContainer>().createFromParcel(parcel)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
@file:JvmName("TestKt")
|
||||
@file:Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN")
|
||||
package test
|
||||
|
||||
import kotlinx.parcelize.*
|
||||
|
||||
@@ -17,6 +17,7 @@ data class User(val firstName: String, val secondName: String, val age: Int) : P
|
||||
|
||||
override fun create(parcel: Parcel) = User(parcel.readString(), parcel.readString(), 0)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun newArray(size: Int) = arrayOfNulls<User>(size) as Array<User>
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ object Parceler1 : Parceler<String> {
|
||||
typealias Parceler2 = Parceler1
|
||||
|
||||
object Parceler3 : Parceler<String> {
|
||||
override fun create(parcel: Parcel) = parcel.readString().toUpperCase()
|
||||
override fun create(parcel: Parcel) = parcel.readString().uppercase()
|
||||
|
||||
override fun String.write(parcel: Parcel, flags: Int) {
|
||||
parcel.writeString(this)
|
||||
@@ -29,7 +29,7 @@ object Parceler3 : Parceler<String> {
|
||||
@TypeParceler<String, Parceler2>
|
||||
data class Test(
|
||||
val a: String,
|
||||
@TypeParceler<String, Parceler1> val b: String,
|
||||
@<!REDUNDANT_TYPE_PARCELER!>TypeParceler<!><String, Parceler1> val b: String,
|
||||
@TypeParceler<String, Parceler3> val c: CharSequence,
|
||||
val d: @WriteWith<Parceler3> String
|
||||
) : Parcelable
|
||||
|
||||
@@ -21,5 +21,5 @@ fun box() = parcelTest { parcel ->
|
||||
parcel.unmarshall(bytes, 0, bytes.size)
|
||||
parcel.setDataPosition(0)
|
||||
|
||||
val test2 = parcelableCreator<ExceptionContainer>().createFromParcel(parcel)
|
||||
parcelableCreator<ExceptionContainer>().createFromParcel(parcel)
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ fun box() = parcelTest { parcel ->
|
||||
parcel.unmarshall(bytes, 0, bytes.size)
|
||||
parcel.setDataPosition(0)
|
||||
|
||||
val test2 = parcelableCreator<Test>().createFromParcel(parcel)
|
||||
parcelableCreator<Test>().createFromParcel(parcel)
|
||||
|
||||
assert(test.callback() == 1)
|
||||
}
|
||||
@@ -12,6 +12,7 @@ class JHelp(var j1: String) {
|
||||
val j2 = 9
|
||||
}
|
||||
|
||||
@Suppress("DEPRECATED_ANNOTATION")
|
||||
@Parcelize
|
||||
class J(val j: @RawValue JHelp) : Parcelable
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ fun doTest(work: (Parcelable.Creator<DummyParcelable>) -> Unit): String {
|
||||
|
||||
val clazz = dummy.javaClass
|
||||
val field = clazz.getDeclaredField("CREATOR")
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val creator = field.get(dummy) as Parcelable.Creator<DummyParcelable>
|
||||
|
||||
val parcel = Parcel.obtain()
|
||||
|
||||
@@ -11,7 +11,7 @@ import android.os.Parcelable
|
||||
class User : Parcelable
|
||||
|
||||
@Parcelize
|
||||
class User2() : Parcelable
|
||||
class <!PARCELABLE_PRIMARY_CONSTRUCTOR_IS_EMPTY!>User2<!>() : Parcelable
|
||||
|
||||
fun box() = parcelTest { parcel ->
|
||||
val user = User()
|
||||
|
||||
@@ -16,6 +16,6 @@ import android.os.Parcelable
|
||||
}
|
||||
}
|
||||
|
||||
fun box() = parcelTest { parcel ->
|
||||
fun box() = parcelTest {
|
||||
TestParcel()
|
||||
}
|
||||
@@ -50,6 +50,4 @@ fun box() = parcelTest { parcel ->
|
||||
assert(first == first2)
|
||||
assert((first.d as LinkedList<*>).size == 1)
|
||||
assert((first2.h as HashSet<*>).size == 1)
|
||||
assert(first2.j is NavigableSet<*>)
|
||||
assert(first2.k is SortedSet<*>)
|
||||
}
|
||||
@@ -42,6 +42,4 @@ fun box() = parcelTest { parcel ->
|
||||
assert(first == first2)
|
||||
assert((first.c as HashMap<*, *>).size == 1)
|
||||
assert((first2.e as TreeMap<*, *>).size == 1)
|
||||
assert(first2.f is SortedMap<*, *>)
|
||||
assert(first2.g is NavigableMap<*, *>)
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import android.os.Parcelable
|
||||
|
||||
annotation class SerializableLike
|
||||
|
||||
@Suppress("DEPRECATED_ANNOTATION")
|
||||
@Parcelize @SerializableLike
|
||||
data class User(val firstName: String, val secondName: String, val age: Int) : Parcelable
|
||||
|
||||
@@ -20,6 +21,7 @@ fun box() = parcelTest { parcel ->
|
||||
parcel.unmarshall(bytes, 0, bytes.size)
|
||||
parcel.setDataPosition(0)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val creator = User::class.java.getDeclaredField("CREATOR").get(null) as Parcelable.Creator<User>
|
||||
val user2 = creator.createFromParcel(parcel)
|
||||
assert(user == user2)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// !OPT_IN: kotlin.ExperimentalUnsignedTypes
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM
|
||||
|
||||
|
||||
Reference in New Issue
Block a user