FIR IDE: add tests for completion in sealed when
This commit is contained in:
committed by
TeamCityServer
parent
9af0885e82
commit
0da488058d
+1
@@ -1198,6 +1198,7 @@ fun main(args: Array<String>) {
|
||||
testClass<AbstractHighLevelJvmBasicCompletionTest> {
|
||||
model("basic/common")
|
||||
model("basic/java")
|
||||
model("../../idea-fir/testData/completion/basic/common", testClassName = "CommonFir")
|
||||
}
|
||||
|
||||
testClass<AbstractHighLevelBasicCompletionHandlerTest> {
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
enum class ENUM {
|
||||
AAAA, BBBB, CCCC
|
||||
}
|
||||
|
||||
fun foo(e: ENUM) {
|
||||
when (e) {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: ENUM.AAAA
|
||||
// EXIST: ENUM.BBBB
|
||||
// EXIST: ENUM.CCCC
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// NOTHING_ELSE
|
||||
// FIR_COMPARISON
|
||||
@@ -0,0 +1,15 @@
|
||||
enum class ENUM {
|
||||
AAAA, BBBB, CCCC
|
||||
}
|
||||
|
||||
fun foo(e: ENUM) {
|
||||
when (e) {
|
||||
ENUM.AAAA, ENUM.CCCC -> TODO()
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: ENUM.BBBB
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// NOTHING_ELSE
|
||||
// FIR_COMPARISON
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
enum class ENUM {
|
||||
AAAA, BBBB, CCCC
|
||||
}
|
||||
|
||||
fun foo(e: ENUM) {
|
||||
when (e) {
|
||||
ENUM.AAAA, ENUM.CCCC, <caret> -> TODO()
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: ENUM.BBBB
|
||||
// NOTHING_ELSE
|
||||
// FIR_COMPARISON
|
||||
@@ -0,0 +1,18 @@
|
||||
package a.b.c
|
||||
|
||||
enum class ENUM {
|
||||
AAAA, BBBB, CCCC
|
||||
}
|
||||
|
||||
fun foo(e: ENUM) {
|
||||
when (e) {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: ENUM.AAAA
|
||||
// EXIST: ENUM.BBBB
|
||||
// EXIST: ENUM.CCCC
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// NOTHING_ELSE
|
||||
// FIR_COMPARISON
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
sealed class SEALED {
|
||||
class AAAA: SEALED()
|
||||
object BBBB: SEALED()
|
||||
class CCCC: SEALED()
|
||||
}
|
||||
|
||||
fun foo(e: SEALED) {
|
||||
when (e) {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: is SEALED.AAAA
|
||||
// EXIST: SEALED.BBBB
|
||||
// EXIST: is SEALED.CCCC
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// NOTHING_ELSE
|
||||
// FIR_COMPARISON
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package a.b.c
|
||||
|
||||
sealed class SEALED {
|
||||
class AAAA: SEALED()
|
||||
object BBBB: SEALED()
|
||||
class CCCC: SEALED()
|
||||
}
|
||||
|
||||
fun foo(e: SEALED) {
|
||||
when (e) {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: is SEALED.AAAA
|
||||
// EXIST: SEALED.BBBB
|
||||
// EXIST: is SEALED.CCCC
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// NOTHING_ELSE
|
||||
// FIR_COMPARISON
|
||||
@@ -0,0 +1,21 @@
|
||||
abstract class SEALED
|
||||
class AAAA: SEALED()
|
||||
object BBBB: SEALED()
|
||||
class CCCC: SEALED()
|
||||
|
||||
class SomeClass
|
||||
object SomeObject
|
||||
|
||||
fun foo(e: SEALED) {
|
||||
when (e) {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: is AAAA
|
||||
// EXIST: BBBB
|
||||
// EXIST: is CCCC
|
||||
// EXIST: is SomeClass
|
||||
// EXIST: SomeObject
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// FIR_COMPARISON
|
||||
@@ -0,0 +1,17 @@
|
||||
enum class ENUM {
|
||||
AAAA, BBBB, CCCC
|
||||
}
|
||||
|
||||
fun foo(e: ENUM?) {
|
||||
when (e) {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: ENUM.AAAA
|
||||
// EXIST: ENUM.BBBB
|
||||
// EXIST: ENUM.CCCC
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// EXIST: null
|
||||
// NOTHING_ELSE
|
||||
// FIR_COMPARISON
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
sealed class SEALED
|
||||
class AAAA: SEALED()
|
||||
object BBBB: SEALED()
|
||||
class CCCC: SEALED()
|
||||
|
||||
fun foo(e: SEALED?) {
|
||||
when (e) {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: is AAAA
|
||||
// EXIST: BBBB
|
||||
// EXIST: is CCCC
|
||||
// EXIST: null
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// NOTHING_ELSE
|
||||
// FIR_COMPARISON
|
||||
@@ -0,0 +1,17 @@
|
||||
sealed class SEALED
|
||||
class AAAA: SEALED()
|
||||
object BBBB: SEALED()
|
||||
class CCCC: SEALED()
|
||||
|
||||
fun foo(e: SEALED) {
|
||||
when (e) {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: is AAAA
|
||||
// EXIST: BBBB
|
||||
// EXIST: is CCCC
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// NOTHING_ELSE
|
||||
// FIR_COMPARISON
|
||||
Vendored
+16
@@ -0,0 +1,16 @@
|
||||
sealed class SEALED
|
||||
class AAAA: SEALED()
|
||||
object BBBB: SEALED()
|
||||
class CCCC: SEALED()
|
||||
|
||||
fun foo(e: SEALED) {
|
||||
when (e) {
|
||||
is AAAA, CCCC -> TODO()
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: BBBB
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// NOTHING_ELSE
|
||||
// FIR_COMPARISON
|
||||
Vendored
+20
@@ -0,0 +1,20 @@
|
||||
sealed class SEALED
|
||||
class AAAA: SEALED()
|
||||
object BBBB: SEALED()
|
||||
abstract class CCCC: SEALED()
|
||||
|
||||
class SomeClass
|
||||
|
||||
|
||||
fun foo(e: SEALED) {
|
||||
when (e) {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: is AAAA
|
||||
// EXIST: BBBB
|
||||
// EXIST: is CCCC
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// EXIST: is SomeClass
|
||||
// FIR_COMPARISON
|
||||
@@ -0,0 +1,18 @@
|
||||
sealed interface SEALED
|
||||
class AAAA: SEALED()
|
||||
object BBBB: SEALED()
|
||||
class CCCC: SEALED()
|
||||
|
||||
class SomeClass
|
||||
|
||||
fun foo(e: SEALED) {
|
||||
when (e) {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: is AAAA
|
||||
// EXIST: BBBB
|
||||
// EXIST: is CCCC
|
||||
// EXIST: { lookupString: "else -> "}
|
||||
// FIR_COMPARISON
|
||||
+91
@@ -3322,4 +3322,95 @@ public class HighLevelJvmBasicCompletionTestGenerated extends AbstractHighLevelJ
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class CommonFir extends AbstractHighLevelJvmBasicCompletionTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInCommonFir() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@TestMetadata("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class When extends AbstractHighLevelJvmBasicCompletionTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInWhen() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@TestMetadata("enumInEmptyWhen.kt")
|
||||
public void testEnumInEmptyWhen() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/enumInEmptyWhen.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("enumInWhen.kt")
|
||||
public void testEnumInWhen() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/enumInWhen.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("enumInWhenWithOtherConditions.kt")
|
||||
public void testEnumInWhenWithOtherConditions() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/enumInWhenWithOtherConditions.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("enumInWhenWithPackage.kt")
|
||||
public void testEnumInWhenWithPackage() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/enumInWhenWithPackage.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nestedSealedClassInWhen.kt")
|
||||
public void testNestedSealedClassInWhen() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/nestedSealedClassInWhen.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nestedSealedClassInWhenWithPackage.kt")
|
||||
public void testNestedSealedClassInWhenWithPackage() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/nestedSealedClassInWhenWithPackage.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nonSealedClassInWhen.kt")
|
||||
public void testNonSealedClassInWhen() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/nonSealedClassInWhen.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nullableEnumInWhen.kt")
|
||||
public void testNullableEnumInWhen() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/nullableEnumInWhen.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nullableSealedClassInWhen.kt")
|
||||
public void testNullableSealedClassInWhen() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/nullableSealedClassInWhen.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("sealedClassInWhen.kt")
|
||||
public void testSealedClassInWhen() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/sealedClassInWhen.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("sealedClassInWhenWithOtherConditions.kt")
|
||||
public void testSealedClassInWhenWithOtherConditions() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/sealedClassInWhenWithOtherConditions.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("sealedClassWithAbstractInheritorsInWhen.kt")
|
||||
public void testSealedClassWithAbstractInheritorsInWhen() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/sealedClassWithAbstractInheritorsInWhen.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("sealedInterfaceInWhen.kt")
|
||||
public void testSealedInterfaceInWhen() throws Exception {
|
||||
runTest("idea/idea-completion/testData/../../idea-fir/testData/completion/basic/common/when/sealedInterfaceInWhen.kt");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user