mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-06 06:21:16 +07:00
moved test to a more suitable place
This commit is contained in:
+20
-1
@@ -17,9 +17,12 @@
|
||||
package org.jetbrains.plugins.groovy.lang.overriding
|
||||
|
||||
import com.intellij.psi.PsiClass
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiMethod
|
||||
import com.intellij.psi.search.LocalSearchScope
|
||||
import com.intellij.psi.search.SearchScope
|
||||
import com.intellij.psi.search.searches.ClassInheritorsSearch
|
||||
import com.intellij.psi.search.searches.DirectClassInheritorsSearch
|
||||
import com.intellij.psi.search.searches.FunctionalExpressionSearch
|
||||
import com.intellij.psi.search.searches.OverridingMethodsSearch
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
|
||||
@@ -72,7 +75,23 @@ class FindOverridingMethodsAndClassesTest extends LightCodeInsightFixtureTestCas
|
||||
assertSize(1, FunctionalExpressionSearch.search(myFixture.findClass("I")).findAll())
|
||||
}
|
||||
|
||||
void "test find groovy inheritor in local scope"() {
|
||||
void 'test find sub classes works even in local scope'() {
|
||||
def t = myFixture.addFileToProject('x/T.groovy', 'package x; trait T {}')
|
||||
def t2 = myFixture.addFileToProject('x/T2.groovy', 'package x; class T2 implements T {}')
|
||||
|
||||
PsiClass classT = ((GroovyFile)t).classes[0]
|
||||
PsiClass classT2 = ((GroovyFile)t2).classes[0]
|
||||
PsiClass superClass = classT2.getSuperClass()
|
||||
assertTrue(Arrays.asList(classT2.getSupers()).contains(classT))
|
||||
|
||||
PsiElement[] files = [t, t2]
|
||||
SearchScope scope = new LocalSearchScope(files)
|
||||
Collection<PsiClass> subClasses = DirectClassInheritorsSearch.search(classT, scope).findAll()
|
||||
PsiClass subClass = assertOneElement(subClasses)
|
||||
assertEquals("T2", subClass.getName())
|
||||
}
|
||||
|
||||
void "test find groovy inheritor of java class in local scope"() {
|
||||
def superClass = myFixture.addClass("class Super {}");
|
||||
def file = myFixture.addFileToProject("a.groovy", "class Foo extends Super {}")
|
||||
|
||||
|
||||
+3
-20
@@ -17,15 +17,13 @@ package org.jetbrains.plugins.groovy.lang.overriding
|
||||
|
||||
import com.intellij.codeInsight.generation.OverrideImplementUtil
|
||||
import com.intellij.openapi.command.WriteCommandAction
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.psi.JavaPsiFacade
|
||||
import com.intellij.psi.PsiClassOwner
|
||||
import com.intellij.psi.PsiMethod
|
||||
import com.intellij.psi.impl.source.PostprocessReformattingAspect
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import com.intellij.psi.search.LocalSearchScope
|
||||
import com.intellij.psi.search.SearchScope
|
||||
import org.jetbrains.plugins.groovy.LightGroovyTestCase
|
||||
import org.jetbrains.plugins.groovy.lang.psi.GroovyFile
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition
|
||||
import com.intellij.psi.search.searches.DirectClassInheritorsSearch;
|
||||
/**
|
||||
* @author peter
|
||||
*/
|
||||
@@ -262,19 +260,4 @@ class A implements T {
|
||||
return JavaPsiFacade.getInstance(project).findClass(className, GlobalSearchScope.allScope(project)).findMethodsByName(methodName, false)[0]
|
||||
}
|
||||
|
||||
void 'test find sub classes works even in local scope'() {
|
||||
def t = myFixture.addFileToProject('x/T.groovy', 'package x; trait T {}')
|
||||
def t2 = myFixture.addFileToProject('x/T2.groovy', 'package x; class T2 implements T {}')
|
||||
|
||||
PsiClass classT = ((GroovyFile)t).classes[0]
|
||||
PsiClass classT2 = ((GroovyFile)t2).classes[0]
|
||||
PsiClass superClass = classT2.getSuperClass()
|
||||
assertTrue(Arrays.asList(classT2.getSupers()).contains(classT))
|
||||
|
||||
PsiElement[] files = [t, t2]
|
||||
SearchScope scope = new LocalSearchScope(files)
|
||||
Collection<PsiClass> subClasses = DirectClassInheritorsSearch.search(classT, scope).findAll()
|
||||
PsiClass subClass = assertOneElement(subClasses)
|
||||
assertEquals("T2", subClass.getName())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user