Fix overly restrictive cast to allow running multiplatform tests for objects
^KT-35480 Fixed
This commit is contained in:
@@ -8,10 +8,9 @@ package org.jetbrains.kotlin.idea.run
|
||||
import com.intellij.execution.Location
|
||||
import com.intellij.psi.PsiClass
|
||||
import com.intellij.psi.PsiMethod
|
||||
import org.jetbrains.kotlin.asJava.toLightClass
|
||||
import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightClass
|
||||
import org.jetbrains.kotlin.idea.caches.lightClasses.KtFakeLightMethod
|
||||
import org.jetbrains.kotlin.psi.KtClass
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
import org.jetbrains.kotlin.psi.KtNamedFunction
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||
@@ -24,6 +23,6 @@ internal fun getTestMethodForKotlinTest(location: Location<*>): PsiMethod? {
|
||||
|
||||
internal fun getTestClassForKotlinTest(location: Location<*>): PsiClass? {
|
||||
val leaf = location.psiElement
|
||||
val owner = leaf?.getParentOfType<KtDeclaration>(true) as? KtClass ?: return null
|
||||
val owner = leaf?.getParentOfType<KtDeclaration>(true) as? KtClassOrObject ?: return null
|
||||
return KtFakeLightClass(owner)
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@ package sample
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
object <lineMarker descr="Run Test" settings="Nothing here">Obj</lineMarker> {
|
||||
object <lineMarker descr="Run Test" settings=" cleanJsBrowserTest jsBrowserTest --tests \"sample.Obj\" cleanJsNodeTest jsNodeTest --tests \"sample.Obj\" cleanJvmTest jvmTest --tests \"sample.Obj\" --continue">Obj</lineMarker> {
|
||||
@Test
|
||||
fun <lineMarker descr="Run Test" settings=" cleanJsBrowserTest jsBrowserTest --tests \"sample.Obj.myTest\" cleanJsNodeTest jsNodeTest --tests \"sample.Obj.myTest\" cleanJvmTest jvmTest --tests \"sample.Obj.myTest\" --continue">myTest</lineMarker>() {}
|
||||
}
|
||||
Reference in New Issue
Block a user