Validate arguments of KTypeProjection constructor

#KT-34596 Fixed
This commit is contained in:
Ilya Gorbunov
2020-06-18 20:26:05 +03:00
parent d41e8ed4ad
commit 53cbcfac5a
2 changed files with 33 additions and 0 deletions
@@ -0,0 +1,23 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package test.reflection
import kotlin.reflect.KTypeProjection
import kotlin.reflect.KVariance
import kotlin.reflect.typeOf
import kotlin.test.*
class KTypeProjectionTest {
@Test
fun constructorArgumentsValidation() {
assertFailsWith<IllegalArgumentException> { KTypeProjection(null, typeOf<Int>()) }
for (variance in KVariance.values()) {
assertFailsWith<IllegalArgumentException> { KTypeProjection(variance, null) }.let { e ->
assertTrue(variance.toString() in e.message!!)
}
}
}
}