Fix bunch files for test RunConfigurationTest
This commit is contained in:
@@ -31,19 +31,20 @@ import com.intellij.refactoring.RefactoringFactory
|
|||||||
import com.intellij.testFramework.MapDataContext
|
import com.intellij.testFramework.MapDataContext
|
||||||
import com.intellij.testFramework.PlatformTestCase
|
import com.intellij.testFramework.PlatformTestCase
|
||||||
import com.intellij.testFramework.PsiTestUtil
|
import com.intellij.testFramework.PsiTestUtil
|
||||||
|
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||||
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||||
import org.jetbrains.kotlin.idea.search.allScope
|
import org.jetbrains.kotlin.idea.search.allScope
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinFullClassNameIndex
|
import org.jetbrains.kotlin.idea.stubindex.KotlinFullClassNameIndex
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinTopLevelFunctionFqnNameIndex
|
import org.jetbrains.kotlin.idea.stubindex.KotlinTopLevelFunctionFqnNameIndex
|
||||||
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
|
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinCodeInsightTestCase
|
import org.jetbrains.kotlin.idea.test.KotlinCodeInsightTestCase
|
||||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase.*
|
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase.*
|
||||||
|
import org.jetbrains.kotlin.idea.test.configureLanguageAndApiVersion
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.allChildren
|
import org.jetbrains.kotlin.psi.psiUtil.allChildren
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@@ -56,6 +57,9 @@ class RunConfigurationTest: KotlinCodeInsightTestCase() {
|
|||||||
|
|
||||||
fun testMainInTest() {
|
fun testMainInTest() {
|
||||||
val createResult = configureModule(moduleDirPath("module"), getTestProject().baseDir!!)
|
val createResult = configureModule(moduleDirPath("module"), getTestProject().baseDir!!)
|
||||||
|
configureLanguageAndApiVersion(
|
||||||
|
createResult.module.project, createResult.module, LanguageVersionSettingsImpl.DEFAULT.languageVersion.versionString
|
||||||
|
)
|
||||||
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(createResult.module, addJdk(testRootDisposable, ::mockJdk))
|
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(createResult.module, addJdk(testRootDisposable, ::mockJdk))
|
||||||
|
|
||||||
val runConfiguration = createConfigurationFromMain("some.main")
|
val runConfiguration = createConfigurationFromMain("some.main")
|
||||||
@@ -70,8 +74,8 @@ class RunConfigurationTest: KotlinCodeInsightTestCase() {
|
|||||||
val assertIsMain = "yes" in options
|
val assertIsMain = "yes" in options
|
||||||
val assertIsNotMain = "no" in options
|
val assertIsNotMain = "no" in options
|
||||||
|
|
||||||
val bindingContext = function.analyze(BodyResolveMode.FULL)
|
val isMainFunction =
|
||||||
val isMainFunction = MainFunctionDetector(bindingContext).isMain(function)
|
MainFunctionDetector(LanguageVersionSettingsImpl.DEFAULT) { it.resolveToDescriptorIfAny() }.isMain(function)
|
||||||
|
|
||||||
if (assertIsMain) {
|
if (assertIsMain) {
|
||||||
Assert.assertTrue("The function ${function.fqName?.asString()} should be main", isMainFunction)
|
Assert.assertTrue("The function ${function.fqName?.asString()} should be main", isMainFunction)
|
||||||
@@ -92,8 +96,17 @@ class RunConfigurationTest: KotlinCodeInsightTestCase() {
|
|||||||
} catch (expected: Throwable) {
|
} catch (expected: Throwable) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Assert.assertNull("Kotlin configuration producer shouldN'T produce configuration for ${function.fqName?.asString()}",
|
if (function.containingFile.text.startsWith("// entryPointExists")) {
|
||||||
KotlinRunConfigurationProducer.getEntryPointContainer(function))
|
Assert.assertNotNull(
|
||||||
|
"Kotlin configuration producer should produce configuration for ${function.fqName?.asString()}",
|
||||||
|
KotlinRunConfigurationProducer.getEntryPointContainer(function)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
Assert.assertNull(
|
||||||
|
"Kotlin configuration producer shouldn't produce configuration for ${function.fqName?.asString()}",
|
||||||
|
KotlinRunConfigurationProducer.getEntryPointContainer(function)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,19 +31,20 @@ import com.intellij.refactoring.RefactoringFactory
|
|||||||
import com.intellij.testFramework.MapDataContext
|
import com.intellij.testFramework.MapDataContext
|
||||||
import com.intellij.testFramework.PlatformTestCase
|
import com.intellij.testFramework.PlatformTestCase
|
||||||
import com.intellij.testFramework.PsiTestUtil
|
import com.intellij.testFramework.PsiTestUtil
|
||||||
|
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||||
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||||
import org.jetbrains.kotlin.idea.search.allScope
|
import org.jetbrains.kotlin.idea.search.allScope
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinFullClassNameIndex
|
import org.jetbrains.kotlin.idea.stubindex.KotlinFullClassNameIndex
|
||||||
import org.jetbrains.kotlin.idea.stubindex.KotlinTopLevelFunctionFqnNameIndex
|
import org.jetbrains.kotlin.idea.stubindex.KotlinTopLevelFunctionFqnNameIndex
|
||||||
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
|
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinCodeInsightTestCase
|
import org.jetbrains.kotlin.idea.test.KotlinCodeInsightTestCase
|
||||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase.*
|
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase.*
|
||||||
|
import org.jetbrains.kotlin.idea.test.configureLanguageAndApiVersion
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.allChildren
|
import org.jetbrains.kotlin.psi.psiUtil.allChildren
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@@ -56,6 +57,9 @@ class RunConfigurationTest: KotlinCodeInsightTestCase() {
|
|||||||
|
|
||||||
fun testMainInTest() {
|
fun testMainInTest() {
|
||||||
val createResult = configureModule(moduleDirPath("module"), getTestProject().baseDir!!)
|
val createResult = configureModule(moduleDirPath("module"), getTestProject().baseDir!!)
|
||||||
|
configureLanguageAndApiVersion(
|
||||||
|
createResult.module.project, createResult.module, LanguageVersionSettingsImpl.DEFAULT.languageVersion.versionString
|
||||||
|
)
|
||||||
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(createResult.module, addJdk(testRootDisposable, ::mockJdk))
|
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(createResult.module, addJdk(testRootDisposable, ::mockJdk))
|
||||||
|
|
||||||
val runConfiguration = createConfigurationFromMain("some.main")
|
val runConfiguration = createConfigurationFromMain("some.main")
|
||||||
@@ -70,8 +74,8 @@ class RunConfigurationTest: KotlinCodeInsightTestCase() {
|
|||||||
val assertIsMain = "yes" in options
|
val assertIsMain = "yes" in options
|
||||||
val assertIsNotMain = "no" in options
|
val assertIsNotMain = "no" in options
|
||||||
|
|
||||||
val bindingContext = function.analyze(BodyResolveMode.FULL)
|
val isMainFunction =
|
||||||
val isMainFunction = MainFunctionDetector(bindingContext).isMain(function)
|
MainFunctionDetector(LanguageVersionSettingsImpl.DEFAULT) { it.resolveToDescriptorIfAny() }.isMain(function)
|
||||||
|
|
||||||
if (assertIsMain) {
|
if (assertIsMain) {
|
||||||
Assert.assertTrue("The function ${function.fqName?.asString()} should be main", isMainFunction)
|
Assert.assertTrue("The function ${function.fqName?.asString()} should be main", isMainFunction)
|
||||||
@@ -92,8 +96,17 @@ class RunConfigurationTest: KotlinCodeInsightTestCase() {
|
|||||||
} catch (expected: Throwable) {
|
} catch (expected: Throwable) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Assert.assertNull("Kotlin configuration producer shouldN'T produce configuration for ${function.fqName?.asString()}",
|
if (function.containingFile.text.startsWith("// entryPointExists")) {
|
||||||
KotlinRunConfigurationProducer.getEntryPointContainer(function))
|
Assert.assertNotNull(
|
||||||
|
"Kotlin configuration producer should produce configuration for ${function.fqName?.asString()}",
|
||||||
|
KotlinRunConfigurationProducer.getEntryPointContainer(function)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
Assert.assertNull(
|
||||||
|
"Kotlin configuration producer shouldn't produce configuration for ${function.fqName?.asString()}",
|
||||||
|
KotlinRunConfigurationProducer.getEntryPointContainer(function)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user