KTIJ-33579 [kotlin] Add test cases for import of component operators in lambda parameter destructuring

Note 1: Tests are ignored in K1 Mode, and won't be fixed
there.

Note 2: Test for multiple imports at the same time is ignored
until KTIJ-33592 is fixed.

GitOrigin-RevId: cb9720cbd45b62674169283b9c5d2019bdaa8dfd
This commit is contained in:
Roman Golyshev
2025-04-12 14:32:17 +00:00
committed by intellij-monorepo-bot
parent 5a734fc852
commit 792f2eabba
5 changed files with 146 additions and 0 deletions
@@ -937,6 +937,21 @@ public abstract class HighLevelQuickFixMultiFileTestGenerated extends AbstractHi
runTest("../../../idea/tests/testData/quickfix/autoImports/multiDeclarationExtensionComponentNoOperator.test");
}
@TestMetadata("multiDeclarationInLambdaParameterExtensionAllComponents.test")
public void testMultiDeclarationInLambdaParameterExtensionAllComponents() throws Exception {
runTest("../../../idea/tests/testData/quickfix/autoImports/multiDeclarationInLambdaParameterExtensionAllComponents.test");
}
@TestMetadata("multiDeclarationInLambdaParameterExtensionComponent1.test")
public void testMultiDeclarationInLambdaParameterExtensionComponent1() throws Exception {
runTest("../../../idea/tests/testData/quickfix/autoImports/multiDeclarationInLambdaParameterExtensionComponent1.test");
}
@TestMetadata("multiDeclarationInLambdaParameterExtensionComponent2.test")
public void testMultiDeclarationInLambdaParameterExtensionComponent2() throws Exception {
runTest("../../../idea/tests/testData/quickfix/autoImports/multiDeclarationInLambdaParameterExtensionComponent2.test");
}
@TestMetadata("multiFunctionCandidate.test")
public void testMultiFunctionCandidate() throws Exception {
runTest("../../../idea/tests/testData/quickfix/autoImports/multiFunctionCandidate.test");
@@ -1049,6 +1049,21 @@ public abstract class QuickFixMultiFileTestGenerated extends AbstractQuickFixMul
runTest("testData/quickfix/autoImports/multiDeclarationExtensionComponentNoOperator.test");
}
@TestMetadata("multiDeclarationInLambdaParameterExtensionAllComponents.test")
public void testMultiDeclarationInLambdaParameterExtensionAllComponents() throws Exception {
runTest("testData/quickfix/autoImports/multiDeclarationInLambdaParameterExtensionAllComponents.test");
}
@TestMetadata("multiDeclarationInLambdaParameterExtensionComponent1.test")
public void testMultiDeclarationInLambdaParameterExtensionComponent1() throws Exception {
runTest("testData/quickfix/autoImports/multiDeclarationInLambdaParameterExtensionComponent1.test");
}
@TestMetadata("multiDeclarationInLambdaParameterExtensionComponent2.test")
public void testMultiDeclarationInLambdaParameterExtensionComponent2() throws Exception {
runTest("testData/quickfix/autoImports/multiDeclarationInLambdaParameterExtensionComponent2.test");
}
@TestMetadata("multiFunctionCandidate.test")
public void testMultiFunctionCandidate() throws Exception {
runTest("testData/quickfix/autoImports/multiFunctionCandidate.test");
@@ -0,0 +1,38 @@
// FILE: first.before.kt
// "Import operators 'Some.component1', 'Some.component2'" "true"
// IGNORE_K1
// IGNORE_K2
package testing
import some.Some
val test: (Some) -> Unit = { (a, b)<caret> -> }
//-----------------------
// FILE: second.kt
package some
public class Some
operator fun Some.component1() = 1
operator fun Some.component2() = 3
//-----------------------
// FILE: first.after.kt
// "Import operators 'Some.component1', 'Some.component2'" "true"
// IGNORE_K1
// IGNORE_K2
package testing
import some.Some
import some.component1
import some.component2
val test: (Some) -> Unit = { (a, b)<caret> -> }
//-----------------------
@@ -0,0 +1,39 @@
// FILE: first.before.kt
// "Import operator 'Some.component1'" "true"
// IGNORE_K1
// IGNORE_K2
package testing
import some.Some
import some.component2
val test: (Some) -> Unit = { (a, b)<caret> -> }
//-----------------------
// FILE: second.kt
package some
public class Some
operator fun Some.component1() = 1
operator fun Some.component2() = 3
//-----------------------
// FILE: first.after.kt
// "Import operator 'Some.component1'" "true"
// IGNORE_K1
// IGNORE_K2
package testing
import some.Some
import some.component1
import some.component2
val test: (Some) -> Unit = { (a, b)<caret> -> }
//-----------------------
@@ -0,0 +1,39 @@
// FILE: first.before.kt
// "Import operator 'Some.component2'" "true"
// IGNORE_K1
// IGNORE_K2
package testing
import some.Some
import some.component1
val test: (Some) -> Unit = { (a, b)<caret> -> }
//-----------------------
// FILE: second.kt
package some
public class Some
operator fun Some.component1() = 1
operator fun Some.component2() = 3
//-----------------------
// FILE: first.after.kt
// "Import operator 'Some.component2'" "true"
// IGNORE_K1
// IGNORE_K2
package testing
import some.Some
import some.component1
import some.component2
val test: (Some) -> Unit = { (a, b)<caret> -> }
//-----------------------