[SLC] add more tests

^KT-56046
This commit is contained in:
Dmitrii Gridin
2023-01-30 15:04:20 +01:00
committed by Space Team
parent 347dc83773
commit ba9520f5c5
13 changed files with 106 additions and 0 deletions
@@ -0,0 +1,4 @@
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.RUNTIME)
public abstract @interface ImplicitRetension /* ImplicitRetension*/ {
}
@@ -0,0 +1,7 @@
// PSI: org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForAnnotationClass
// EXPECTED: java.lang.annotation.Retention
// EXPECTED: kotlin.annotation.Retention
// UNEXPECTED: java.lang.annotation.Target
@Retention(AnnotationRetention.RUNTIME)
annotation class ImplicitRete<caret>nsion
@@ -0,0 +1,3 @@
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface ImplicitRetension /* ImplicitRetension*/ {
}
@@ -0,0 +1,5 @@
// PSI: org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForAnnotationClass
// EXPECTED: java.lang.annotation.Retention
// UNEXPECTED: java.lang.annotation.Target
annotation class ImplicitRete<caret>nsion
@@ -0,0 +1,5 @@
@java.lang.annotation.Repeatable(value = TwoContainer.class)
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface Two /* Two*/ {
public abstract java.lang.String name();// name()
}
@@ -0,0 +1,8 @@
// PSI: org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForAnnotationClass
// EXPECTED: java.lang.annotation.Repeatable
// UNEXPECTED:kotlin.annotation.Repeatable
// FULL_JDK
@java.lang.annotation.Repeatable(TwoContainer::class)
annotation class Tw<caret>o(val name: String)
annotation class TwoContainer(val value: Array<Two>)
@@ -0,0 +1,5 @@
@java.lang.annotation.Repeatable()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface Two /* Two*/ {
public abstract java.lang.String name();// name()
}
@@ -0,0 +1,7 @@
// PSI: org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForAnnotationClass
// EXPECTED: java.lang.annotation.Repeatable
// UNEXPECTED: kotlin.annotation.Repeatable
@JvmRepeatable(TwoContainer::class)
annotation class T<caret>wo(val name: String)
annotation class TwoContainer(val value: Array<Two>)
@@ -0,0 +1,8 @@
@java.lang.annotation.Repeatable(value = One.Container.class)
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.annotation.Repeatable()
public abstract @interface One /* One*/ {
public abstract java.lang.String value();// value()
class Container ...
}
@@ -0,0 +1,6 @@
// PSI: org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForAnnotationClass
// EXPECTED: java.lang.annotation.Repeatable
// EXPECTED: kotlin.annotation.Repeatable
@Repeatable
annotation class <caret>One(val value: String)
@@ -0,0 +1,5 @@
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER})
public abstract @interface AnnotationClass /* AnnotationClass*/ {
}
@@ -0,0 +1,7 @@
// PSI: org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForAnnotationClass
// EXPECTED: java.lang.annotation.Target
// EXPECTED: java.lang.annotation.Retention
// EXPECTED: kotlin.annotation.Target
@Target(AnnotationTarget.VALUE_PARAMETER)
annotation class Annotatio<caret>nClass
@@ -24,12 +24,48 @@ public class SymbolLightClassesAnnotationEqualityForSourceTestGenerated extends
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/symbol-light-classes/testData/annotationsEquality"), Pattern.compile("^(.+)\\.(kt)$"), null, true);
}
@Test
@TestMetadata("ExplicitRetension.kt")
public void testExplicitRetension() throws Exception {
runTest("analysis/symbol-light-classes/testData/annotationsEquality/ExplicitRetension.kt");
}
@Test
@TestMetadata("ImplicitRetension.kt")
public void testImplicitRetension() throws Exception {
runTest("analysis/symbol-light-classes/testData/annotationsEquality/ImplicitRetension.kt");
}
@Test
@TestMetadata("JavaRepeatable.kt")
public void testJavaRepeatable() throws Exception {
runTest("analysis/symbol-light-classes/testData/annotationsEquality/JavaRepeatable.kt");
}
@Test
@TestMetadata("JvmRepeatable.kt")
public void testJvmRepeatable() throws Exception {
runTest("analysis/symbol-light-classes/testData/annotationsEquality/JvmRepeatable.kt");
}
@Test
@TestMetadata("OverrideMethod.kt")
public void testOverrideMethod() throws Exception {
runTest("analysis/symbol-light-classes/testData/annotationsEquality/OverrideMethod.kt");
}
@Test
@TestMetadata("Repeatable.kt")
public void testRepeatable() throws Exception {
runTest("analysis/symbol-light-classes/testData/annotationsEquality/Repeatable.kt");
}
@Test
@TestMetadata("Target.kt")
public void testTarget() throws Exception {
runTest("analysis/symbol-light-classes/testData/annotationsEquality/Target.kt");
}
@Test
@TestMetadata("TopLevelFunctionWithDeprecatedAnnotation.kt")
public void testTopLevelFunctionWithDeprecatedAnnotation() throws Exception {