mirror of
https://github.com/fankes/moshi.git
synced 2025-10-20 00:19:21 +08:00
Remove old TODO after KotlinPoet fix. (#790)
This commit is contained in:
@@ -249,10 +249,11 @@ class GeneratedAdaptersTest {
|
|||||||
@Test
|
@Test
|
||||||
fun nullableTypeParams() {
|
fun nullableTypeParams() {
|
||||||
val adapter = moshi.adapter<NullableTypeParams<Int>>(
|
val adapter = moshi.adapter<NullableTypeParams<Int>>(
|
||||||
Types.newParameterizedType(NullableTypeParams::class.java, Int::class.javaObjectType))
|
Types.newParameterizedTypeWithOwner(GeneratedAdaptersTest::class.java,
|
||||||
|
NullableTypeParams::class.java, Int::class.javaObjectType))
|
||||||
val nullSerializing = adapter.serializeNulls()
|
val nullSerializing = adapter.serializeNulls()
|
||||||
|
|
||||||
val nullableTypeParams = NullableTypeParams<Int>(
|
val nullableTypeParams = NullableTypeParams(
|
||||||
listOf("foo", null, "bar"),
|
listOf("foo", null, "bar"),
|
||||||
setOf("foo", null, "bar"),
|
setOf("foo", null, "bar"),
|
||||||
mapOf("foo" to "bar", "baz" to null),
|
mapOf("foo" to "bar", "baz" to null),
|
||||||
@@ -260,7 +261,7 @@ class GeneratedAdaptersTest {
|
|||||||
1
|
1
|
||||||
)
|
)
|
||||||
|
|
||||||
val noNullsTypeParams = NullableTypeParams<Int>(
|
val noNullsTypeParams = NullableTypeParams(
|
||||||
nullableTypeParams.nullableList,
|
nullableTypeParams.nullableList,
|
||||||
nullableTypeParams.nullableSet,
|
nullableTypeParams.nullableSet,
|
||||||
nullableTypeParams.nullableMap.filterValues { it != null },
|
nullableTypeParams.nullableMap.filterValues { it != null },
|
||||||
@@ -277,6 +278,15 @@ class GeneratedAdaptersTest {
|
|||||||
assertThat(nullSerializedNullableTypeParams).isEqualTo(nullableTypeParams)
|
assertThat(nullSerializedNullableTypeParams).isEqualTo(nullableTypeParams)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@JsonClass(generateAdapter = true)
|
||||||
|
data class NullableTypeParams<T>(
|
||||||
|
val nullableList: List<String?>,
|
||||||
|
val nullableSet: Set<String?>,
|
||||||
|
val nullableMap: Map<String, String?>,
|
||||||
|
val nullableT: T?,
|
||||||
|
val nonNullT: T
|
||||||
|
)
|
||||||
|
|
||||||
@Test fun doNotGenerateAdapter() {
|
@Test fun doNotGenerateAdapter() {
|
||||||
try {
|
try {
|
||||||
Class.forName("${GeneratedAdaptersTest::class.java.name}_DoNotGenerateAdapterJsonAdapter")
|
Class.forName("${GeneratedAdaptersTest::class.java.name}_DoNotGenerateAdapterJsonAdapter")
|
||||||
@@ -1127,27 +1137,13 @@ class GeneratedAdaptersTest {
|
|||||||
val decoded = adapter.fromJson("""{"listOfInts":[4,-5,6]}""")!!
|
val decoded = adapter.fromJson("""{"listOfInts":[4,-5,6]}""")!!
|
||||||
assertThat(decoded).isEqualTo(HasCollectionOfPrimitives(listOf(4, -5, 6)))
|
assertThat(decoded).isEqualTo(HasCollectionOfPrimitives(listOf(4, -5, 6)))
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Has to be outside to avoid Types seeing an owning class
|
/**
|
||||||
@JsonClass(generateAdapter = true)
|
* This is here mostly just to ensure it still compiles. Covers variance, @Json, default values,
|
||||||
data class NullableTypeParams<T>(
|
* nullability, primitive arrays, and some wacky generics.
|
||||||
val nullableList: List<String?>,
|
*/
|
||||||
val nullableSet: Set<String?>,
|
@JsonClass(generateAdapter = true)
|
||||||
val nullableMap: Map<String, String?>,
|
data class SmokeTestType(
|
||||||
val nullableT: T?,
|
|
||||||
val nonNullT: T
|
|
||||||
)
|
|
||||||
|
|
||||||
typealias TypeAliasName = String
|
|
||||||
typealias GenericTypeAlias = List<String>
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This is here mostly just to ensure it still compiles. Covers variance, @Json, default values,
|
|
||||||
* nullability, primitive arrays, and some wacky generics.
|
|
||||||
*/
|
|
||||||
@JsonClass(generateAdapter = true)
|
|
||||||
data class SmokeTestType(
|
|
||||||
@Json(name = "first_name") val firstName: String,
|
@Json(name = "first_name") val firstName: String,
|
||||||
@Json(name = "last_name") val lastName: String,
|
@Json(name = "last_name") val lastName: String,
|
||||||
val age: Int,
|
val age: Int,
|
||||||
@@ -1163,7 +1159,7 @@ data class SmokeTestType(
|
|||||||
val wildcardIn: Array<in String>,
|
val wildcardIn: Array<in String>,
|
||||||
val any: List<*>,
|
val any: List<*>,
|
||||||
val anyTwo: List<Any>,
|
val anyTwo: List<Any>,
|
||||||
// val anyOut: MutableList<out Any>, waiting for fix in kotlinpoet https://github.com/square/kotlinpoet/issues/520
|
val anyOut: MutableList<out Any>,
|
||||||
val nullableAnyOut: MutableList<out Any?>,
|
val nullableAnyOut: MutableList<out Any?>,
|
||||||
val favoriteThreeNumbers: IntArray,
|
val favoriteThreeNumbers: IntArray,
|
||||||
val favoriteArrayValues: Array<String>,
|
val favoriteArrayValues: Array<String>,
|
||||||
@@ -1171,4 +1167,8 @@ data class SmokeTestType(
|
|||||||
val nullableSetListMapArrayNullableIntWithDefault: Set<List<Map<String, Array<IntArray?>>>>? = null,
|
val nullableSetListMapArrayNullableIntWithDefault: Set<List<Map<String, Array<IntArray?>>>>? = null,
|
||||||
val aliasedName: TypeAliasName = "Woah",
|
val aliasedName: TypeAliasName = "Woah",
|
||||||
val genericAlias: GenericTypeAlias = listOf("Woah")
|
val genericAlias: GenericTypeAlias = listOf("Woah")
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
typealias TypeAliasName = String
|
||||||
|
typealias GenericTypeAlias = List<String>
|
||||||
|
Reference in New Issue
Block a user