From ce4a9506972f31e9ecb9a20696a8b466a5791b29 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Fri, 30 Oct 2015 19:05:48 +0300 Subject: [PATCH] AbstractSearcherTest: check member kind in test data not the psi implementation class It is not what should be tested in this test --- .../search/annotations/testAnnotationsOnClass.kt | 6 +++--- .../search/annotations/testAnnotationsOnFunction.kt | 10 +++++----- .../annotations/testAnnotationsWithParameters.kt | 4 ++-- .../inheritance/testInheritanceFromJavaClass.kt | 2 +- .../inheritance/testInheritanceFromKotlinClass.kt | 2 +- idea/testData/search/junit/testJunit3.kt | 2 +- idea/testData/search/junit/testJunit4.kt | 12 ++++++------ idea/testData/search/junit/testJunit4Alias.kt | 6 +++--- idea/testData/search/junit/testJunit4FancyAlias.kt | 6 +++--- .../kotlin/search/AbstractSearcherTest.java | 13 ++++++++++++- 10 files changed, 37 insertions(+), 26 deletions(-) diff --git a/idea/testData/search/annotations/testAnnotationsOnClass.kt b/idea/testData/search/annotations/testAnnotationsOnClass.kt index a3017064151..3d92607e25a 100644 --- a/idea/testData/search/annotations/testAnnotationsOnClass.kt +++ b/idea/testData/search/annotations/testAnnotationsOnClass.kt @@ -11,6 +11,6 @@ class TestClass5 { } // ANNOTATION: java.lang.Deprecated -// SEARCH: KotlinLightClass:TestClass1, KotlinLightClass:TestClass2, KotlinLightClass:TestClass3 -// SEARCH: KotlinLightClass:TestClass4 -// SEARCH: KotlinLightClass:TestClass5.innerTestClass5 \ No newline at end of file +// SEARCH: class:TestClass1, class:TestClass2, class:TestClass3 +// SEARCH: class:TestClass4 +// SEARCH: class:innerTestClass5 \ No newline at end of file diff --git a/idea/testData/search/annotations/testAnnotationsOnFunction.kt b/idea/testData/search/annotations/testAnnotationsOnFunction.kt index bf3ce6a4157..1ac9cb02b08 100644 --- a/idea/testData/search/annotations/testAnnotationsOnFunction.kt +++ b/idea/testData/search/annotations/testAnnotationsOnFunction.kt @@ -27,8 +27,8 @@ object Test7 { } // ANNOTATION: java.lang.Deprecated -// SEARCH: KotlinLightMethodForDeclaration:test1 -// SEARCH: KotlinLightMethodForDeclaration:test2 -// SEARCH: KotlinLightMethodForDeclaration:test4 -// SEARCH: KotlinLightMethodForDeclaration:test6 -// SEARCH: KotlinLightMethodForDeclaration:test7 \ No newline at end of file +// SEARCH: method:test1 +// SEARCH: method:test2 +// SEARCH: method:test4 +// SEARCH: method:test6 +// SEARCH: method:test7 \ No newline at end of file diff --git a/idea/testData/search/annotations/testAnnotationsWithParameters.kt b/idea/testData/search/annotations/testAnnotationsWithParameters.kt index 41db3089509..cab1c878bb8 100644 --- a/idea/testData/search/annotations/testAnnotationsWithParameters.kt +++ b/idea/testData/search/annotations/testAnnotationsWithParameters.kt @@ -7,5 +7,5 @@ annotation class MyAnnotation(val first: String, val second: String) // ANNOTATION: MyAnnotation -// SEARCH: KotlinLightMethodForDeclaration:test1 -// SEARCH: KotlinLightClass:Test1 \ No newline at end of file +// SEARCH: method:test1 +// SEARCH: class:Test1 \ No newline at end of file diff --git a/idea/testData/search/inheritance/testInheritanceFromJavaClass.kt b/idea/testData/search/inheritance/testInheritanceFromJavaClass.kt index 9becf4db2fd..f8a93094f30 100644 --- a/idea/testData/search/inheritance/testInheritanceFromJavaClass.kt +++ b/idea/testData/search/inheritance/testInheritanceFromJavaClass.kt @@ -1,4 +1,4 @@ class A: Object() {} // CLASS: java.lang.Object -// SEARCH: KotlinLightClass:A +// SEARCH: class:A diff --git a/idea/testData/search/inheritance/testInheritanceFromKotlinClass.kt b/idea/testData/search/inheritance/testInheritanceFromKotlinClass.kt index f6b4066b2ce..00cb733fd2a 100644 --- a/idea/testData/search/inheritance/testInheritanceFromKotlinClass.kt +++ b/idea/testData/search/inheritance/testInheritanceFromKotlinClass.kt @@ -3,4 +3,4 @@ class A: Base() {} open class Base() {} // CLASS: Base -// SEARCH: KotlinLightClass:A \ No newline at end of file +// SEARCH: class:A \ No newline at end of file diff --git a/idea/testData/search/junit/testJunit3.kt b/idea/testData/search/junit/testJunit3.kt index 789ec19cd12..d054aaa0c84 100644 --- a/idea/testData/search/junit/testJunit3.kt +++ b/idea/testData/search/junit/testJunit3.kt @@ -9,4 +9,4 @@ class Test2: junit.framework.TestCase() { } // CLASS: junit.framework.TestCase -// SEARCH: KotlinLightClass:Test1, KotlinLightClass:Test2 \ No newline at end of file +// SEARCH: class:Test1, class:Test2 \ No newline at end of file diff --git a/idea/testData/search/junit/testJunit4.kt b/idea/testData/search/junit/testJunit4.kt index 00cd59c5950..44bb64690f7 100644 --- a/idea/testData/search/junit/testJunit4.kt +++ b/idea/testData/search/junit/testJunit4.kt @@ -17,9 +17,9 @@ class MyTestClass { } // ANNOTATION: org.junit.Test -// SEARCH: KotlinLightMethodForDeclaration:test1 -// SEARCH: KotlinLightMethodForDeclaration:test2 -// SEARCH: KotlinLightMethodForDeclaration:test3 -// SEARCH: KotlinLightMethodForDeclaration:test4 -// SEARCH: KotlinLightMethodForDeclaration:test5 -// SEARCH: KotlinLightMethodForDeclaration:test6 \ No newline at end of file +// SEARCH: method:test1 +// SEARCH: method:test2 +// SEARCH: method:test3 +// SEARCH: method:test4 +// SEARCH: method:test5 +// SEARCH: method:test6 \ No newline at end of file diff --git a/idea/testData/search/junit/testJunit4Alias.kt b/idea/testData/search/junit/testJunit4Alias.kt index 72bad36d173..5f35c236c7d 100644 --- a/idea/testData/search/junit/testJunit4Alias.kt +++ b/idea/testData/search/junit/testJunit4Alias.kt @@ -10,6 +10,6 @@ class MyTestClass { } // ANNOTATION: org.junit.Test -// SEARCH: KotlinLightMethodForDeclaration:test1 -// SEARCH: KotlinLightMethodForDeclaration:test2 -// SEARCH: KotlinLightMethodForDeclaration:test3 \ No newline at end of file +// SEARCH: method:test1 +// SEARCH: method:test2 +// SEARCH: method:test3 \ No newline at end of file diff --git a/idea/testData/search/junit/testJunit4FancyAlias.kt b/idea/testData/search/junit/testJunit4FancyAlias.kt index ffbae7f2bdd..14b6a009851 100644 --- a/idea/testData/search/junit/testJunit4FancyAlias.kt +++ b/idea/testData/search/junit/testJunit4FancyAlias.kt @@ -10,6 +10,6 @@ class MyTestClass { } // ANNOTATION: org.junit.Test -// SEARCH: KotlinLightMethodForDeclaration:test1 -// SEARCH: KotlinLightMethodForDeclaration:test2 -// SEARCH: KotlinLightMethodForDeclaration:test3 \ No newline at end of file +// SEARCH: method:test1 +// SEARCH: method:test2 +// SEARCH: method:test3 \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/search/AbstractSearcherTest.java b/idea/tests/org/jetbrains/kotlin/search/AbstractSearcherTest.java index 17a562c3c82..f3049320d9a 100644 --- a/idea/tests/org/jetbrains/kotlin/search/AbstractSearcherTest.java +++ b/idea/tests/org/jetbrains/kotlin/search/AbstractSearcherTest.java @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.search; import com.intellij.openapi.util.io.FileUtil; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClass; +import com.intellij.psi.PsiMethod; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.testFramework.LightProjectDescriptor; import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase; @@ -59,13 +60,23 @@ public abstract class AbstractSearcherTest extends LightCodeInsightFixtureTestCa List expected = InTextDirectivesUtils.findListWithPrefixes(FileUtil.loadFile(new File(getPathToFile()), true), "// SEARCH: "); List actualModified = new ArrayList(); for (Object member : actual) { - actualModified.add(member.toString()); + actualModified.add(stringRepresentation(member)); } Collections.sort(expected); Collections.sort(actualModified); assertOrderedEquals(actualModified, expected); } + private static String stringRepresentation(Object member) { + if (member instanceof PsiClass) { + return "class:" + ((PsiClass) member).getName(); + } + if (member instanceof PsiMethod) { + return "method:" + ((PsiMethod) member).getName(); + } + throw new IllegalStateException("Do not know how to render member of type: " + member.getClass().getName()); + } + protected String getPathToFile() { return getTestDataPath() + File.separator + getName() + ".kt"; }