[Commonizer] Adapt ExtensionReceiverCommonizerTest
^KT-48288
This commit is contained in:
committed by
Space
parent
35a29acdc7
commit
cdd917bd0b
+1
-1
@@ -11,7 +11,7 @@ class ExtensionReceiverCommonizer(
|
|||||||
private val typeCommonizer: TypeCommonizer
|
private val typeCommonizer: TypeCommonizer
|
||||||
) : NullableContextualSingleInvocationCommonizer<CirExtensionReceiver?, ExtensionReceiverCommonizer.Commonized> {
|
) : NullableContextualSingleInvocationCommonizer<CirExtensionReceiver?, ExtensionReceiverCommonizer.Commonized> {
|
||||||
|
|
||||||
class Commonized(val receiver: CirExtensionReceiver?) {
|
data class Commonized(val receiver: CirExtensionReceiver?) {
|
||||||
companion object {
|
companion object {
|
||||||
val NULL = Commonized(null)
|
val NULL = Commonized(null)
|
||||||
}
|
}
|
||||||
|
|||||||
+49
-40
@@ -5,52 +5,61 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.commonizer.core
|
package org.jetbrains.kotlin.commonizer.core
|
||||||
|
|
||||||
import org.jetbrains.kotlin.commonizer.cir.CirExtensionReceiver
|
import org.jetbrains.kotlin.commonizer.AbstractInlineSourcesCommonizationTest
|
||||||
|
import org.jetbrains.kotlin.commonizer.core.ExtensionReceiverCommonizer.Commonized
|
||||||
import org.jetbrains.kotlin.commonizer.utils.MOCK_CLASSIFIERS
|
import org.jetbrains.kotlin.commonizer.utils.MOCK_CLASSIFIERS
|
||||||
import org.jetbrains.kotlin.commonizer.utils.mockClassType
|
import org.jetbrains.kotlin.commonizer.utils.mockExtensionReceiver
|
||||||
import org.junit.Test
|
|
||||||
|
|
||||||
class ExtensionReceiverCommonizerTest : AbstractCommonizerTest<CirExtensionReceiver?, ExtensionReceiverCommonizer.Commonized?>() {
|
class ExtensionReceiverCommonizerTest : AbstractInlineSourcesCommonizationTest() {
|
||||||
|
|
||||||
@Test
|
private val commonizer = ExtensionReceiverCommonizer(TypeCommonizer(MOCK_CLASSIFIERS))
|
||||||
fun nullReceiver() = doTestSuccess(
|
|
||||||
expected = null,
|
|
||||||
null, null, null
|
|
||||||
)
|
|
||||||
|
|
||||||
@Test
|
fun `test null receiver`() {
|
||||||
fun sameReceiver() = doTestSuccess(
|
assertEquals(
|
||||||
expected = ExtensionReceiverCommonizer.Commonized(mockExtensionReceiver("kotlin/String")),
|
Commonized(null), commonizer(listOf(null, null, null)),
|
||||||
mockExtensionReceiver("kotlin/String"),
|
)
|
||||||
mockExtensionReceiver("kotlin/String"),
|
}
|
||||||
mockExtensionReceiver("kotlin/String")
|
|
||||||
)
|
|
||||||
|
|
||||||
@Test(expected = IllegalCommonizerStateException::class)
|
fun `test same receiver`() {
|
||||||
fun differentReceivers() = doTestFailure(
|
assertEquals(
|
||||||
mockExtensionReceiver("kotlin/String"),
|
Commonized(mockExtensionReceiver("kotlin/String")),
|
||||||
mockExtensionReceiver("kotlin/String"),
|
commonizer(
|
||||||
mockExtensionReceiver("kotlin/Int")
|
listOf(
|
||||||
)
|
mockExtensionReceiver("kotlin/String"),
|
||||||
|
mockExtensionReceiver("kotlin/String"),
|
||||||
|
mockExtensionReceiver("kotlin/String")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
@Test(expected = IllegalCommonizerStateException::class)
|
fun `test different receiver`() {
|
||||||
fun nullAndNonNullReceivers1() = doTestFailure(
|
assertEquals(
|
||||||
mockExtensionReceiver("kotlin/String"),
|
null, commonizer(
|
||||||
mockExtensionReceiver("kotlin/String"),
|
listOf(
|
||||||
null
|
mockExtensionReceiver("kotlin/String"),
|
||||||
)
|
mockExtensionReceiver("kotlin/String"),
|
||||||
|
mockExtensionReceiver("kotlin/Int")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
@Test(expected = IllegalCommonizerStateException::class)
|
fun `test null and non-null receivers - 1`() {
|
||||||
fun nullAndNonNullReceivers2() = doTestFailure(
|
assertEquals(
|
||||||
null,
|
null, commonizer(
|
||||||
null,
|
listOf(
|
||||||
mockExtensionReceiver("kotlin/String")
|
mockExtensionReceiver("kotlin/String"),
|
||||||
)
|
mockExtensionReceiver("kotlin/String"),
|
||||||
|
null
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
override fun createCommonizer() = ExtensionReceiverCommonizer(TypeCommonizer(MOCK_CLASSIFIERS)).asCommonizer()
|
fun `test null and non-null receivers - 2`() {
|
||||||
|
assertEquals(
|
||||||
|
null, commonizer(listOf(null, null, mockExtensionReceiver("kotlin/String")))
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun mockExtensionReceiver(receiverClassId: String) = CirExtensionReceiver(
|
|
||||||
annotations = emptyList(),
|
|
||||||
type = mockClassType(receiverClassId)
|
|
||||||
)
|
|
||||||
|
|||||||
@@ -46,6 +46,11 @@ internal fun mockClassType(
|
|||||||
isMarkedNullable = nullable
|
isMarkedNullable = nullable
|
||||||
)
|
)
|
||||||
|
|
||||||
|
internal fun mockExtensionReceiver(receiverClassId: String) = CirExtensionReceiver(
|
||||||
|
annotations = emptyList(),
|
||||||
|
type = mockClassType(receiverClassId)
|
||||||
|
)
|
||||||
|
|
||||||
private fun createValidClassifierId(classifierId: String): CirEntityId {
|
private fun createValidClassifierId(classifierId: String): CirEntityId {
|
||||||
check(classifierId.none { it == '\\' || it == '?' }) { "Malformed classifier ID: $classifierId" }
|
check(classifierId.none { it == '\\' || it == '?' }) { "Malformed classifier ID: $classifierId" }
|
||||||
return CirEntityId.create(classifierId)
|
return CirEntityId.create(classifierId)
|
||||||
|
|||||||
Reference in New Issue
Block a user