From c7c0bb92c0209c8c799b617724cd4cf011bd44a3 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 7 Jul 2017 16:47:24 +0300 Subject: [PATCH] moved test to a more suitable place --- ...FindOverridingMethodsAndClassesTest.groovy | 21 ++++++++++++++++- .../GroovyOverrideImplementTest.groovy | 23 +++---------------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/overriding/FindOverridingMethodsAndClassesTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/overriding/FindOverridingMethodsAndClassesTest.groovy index 01a8fde585c1..7888c1ad557d 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/overriding/FindOverridingMethodsAndClassesTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/overriding/FindOverridingMethodsAndClassesTest.groovy @@ -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 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 {}") diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/overriding/GroovyOverrideImplementTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/overriding/GroovyOverrideImplementTest.groovy index d406ef67ee54..b6ddd960f65c 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/overriding/GroovyOverrideImplementTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/overriding/GroovyOverrideImplementTest.groovy @@ -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 subClasses = DirectClassInheritorsSearch.search(classT, scope).findAll() - PsiClass subClass = assertOneElement(subClasses) - assertEquals("T2", subClass.getName()) - } }