diff --git a/idea/src/org/jetbrains/jet/plugin/search/KotlinAnnotatedElementsSearcher.java b/idea/src/org/jetbrains/jet/plugin/search/KotlinAnnotatedElementsSearcher.java index d61b3f06fe1..9e7742bf05f 100644 --- a/idea/src/org/jetbrains/jet/plugin/search/KotlinAnnotatedElementsSearcher.java +++ b/idea/src/org/jetbrains/jet/plugin/search/KotlinAnnotatedElementsSearcher.java @@ -101,7 +101,15 @@ public class KotlinAnnotatedElementsSearcher extends AnnotatedElementsSearcher { @Override public Collection compute() { if (useScope instanceof GlobalSearchScope) { - return JetAnnotationsIndex.getInstance().get(annClass.getName(), annClass.getProject(), (GlobalSearchScope)useScope); + Collection annotationEntries = + JetAnnotationsIndex.getInstance().get(annClass.getName(), annClass.getProject(), (GlobalSearchScope) useScope); + + // Add annotations 'test' as often used alias when we search Test annotation + if (annClass.getName().equals("Test")) { + annotationEntries.addAll(JetAnnotationsIndex.getInstance().get(annClass.getName().toLowerCase(), annClass.getProject(), (GlobalSearchScope) useScope)); + } + + return annotationEntries; } /* TODO getJetAnnotationCandidates works only with global search scope diff --git a/idea/testData/search/junit/testJunit4Alias.kt b/idea/testData/search/junit/testJunit4Alias.kt new file mode 100644 index 00000000000..b3a1ed601ee --- /dev/null +++ b/idea/testData/search/junit/testJunit4Alias.kt @@ -0,0 +1,13 @@ +import org.junit.Test as test +import org.junit.Test + +class MyTestClass { + test fun test1() {} + + [Deprecated test] fun test2() {} + + Test fun test3() {} +} + +// ANNOTATION: org.junit.Test +// SEARCH: PsiMethod:test1, PsiMethod:test2, PsiMethod:test3 \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/search/JUnitMembersSearcherTest.java b/idea/tests/org/jetbrains/jet/search/JUnitMembersSearcherTest.java index 81ebc681b2a..4e8a30d8eae 100644 --- a/idea/tests/org/jetbrains/jet/search/JUnitMembersSearcherTest.java +++ b/idea/tests/org/jetbrains/jet/search/JUnitMembersSearcherTest.java @@ -63,6 +63,18 @@ public class JUnitMembersSearcherTest extends AbstractSearcherTest { }; public void testJunit3() throws IOException { + doJUnit3test(); + } + + public void testJunit4() throws IOException { + doJUnit4test(); + } + + public void testJunit4Alias() throws IOException { + doJUnit4test(); + } + + private void doJUnit3test() throws IOException { myFixture.configureByFile(getFileName()); List directives = InTextDirectivesUtils.findListWithPrefix("// CLASS: ", FileUtil.loadFile(new File(getPathToFile()))); assertFalse("Specify CLASS directive in test file", directives.isEmpty()); @@ -71,7 +83,7 @@ public class JUnitMembersSearcherTest extends AbstractSearcherTest { checkResult(ClassInheritorsSearch.search(psiClass, getProjectScope(), false)); } - public void testJunit4() throws IOException { + private void doJUnit4test() throws IOException { myFixture.configureByFile(getFileName()); List directives = InTextDirectivesUtils.findListWithPrefix("// ANNOTATION: ", FileUtil.loadFile(new File(getPathToFile()))); assertFalse("Specify ANNOTATION directive in test file", directives.isEmpty());