@@ -24,6 +24,8 @@ import com.intellij.testFramework.TestDataPath
24
24
import com.intellij.testFramework.fixtures.BasePlatformTestCase
25
25
import kotlinx.coroutines.runBlocking
26
26
import spp.jetbrains.artifact.service.ArtifactScopeService
27
+ import spp.jetbrains.artifact.service.getClasses
28
+ import spp.jetbrains.artifact.service.getFunctions
27
29
import spp.jetbrains.marker.SourceMarker
28
30
import spp.jetbrains.marker.jvm.JVMLanguageProvider
29
31
@@ -104,4 +106,28 @@ class JVMArtifactScopeServiceTest : BasePlatformTestCase() {
104
106
// assertEquals("directCalledFunction", internalCallerFunctions.first().name)
105
107
// assertEquals("callerFunction", internalCallerFunctions.last().name)
106
108
}
109
+
110
+ fun testGetFunctionsOnInnerClass () {
111
+ doGetFunctionsOnInnerClass(" groovy" )
112
+ doGetFunctionsOnInnerClass(" java" )
113
+ doGetFunctionsOnInnerClass(" kt" )
114
+ }
115
+
116
+ private fun doGetFunctionsOnInnerClass (extension : String ) {
117
+ val psiFile = myFixture.configureByFile(getTestName(false ) + " .$extension " )
118
+ assertEquals(2 , psiFile.getClasses().size)
119
+
120
+ val classFunctions = psiFile.getClasses().first().getFunctions()
121
+ assertEquals(1 , classFunctions.size)
122
+ assertEquals(" function1" , classFunctions.first().name)
123
+
124
+ val innerClassFunctions = psiFile.getClasses().last().getFunctions()
125
+ assertEquals(1 , innerClassFunctions.size)
126
+ assertEquals(" function2" , innerClassFunctions.first().name)
127
+
128
+ val allFunctions = psiFile.getClasses().first().getFunctions(true )
129
+ assertEquals(2 , allFunctions.size)
130
+ assertEquals(" function1" , allFunctions.first().name)
131
+ assertEquals(" function2" , allFunctions.last().name)
132
+ }
107
133
}
0 commit comments