GradleScriptListenerTest: link gradle project

This commit is contained in:
Sergey Rostov
2020-05-07 14:01:29 +03:00
parent 9e18df87dc
commit c764ebfbac
2 changed files with 12 additions and 14 deletions
@@ -5,19 +5,20 @@
package org.jetbrains.kotlin.idea.scripting.gradle package org.jetbrains.kotlin.idea.scripting.gradle
import com.intellij.openapi.components.service import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.PsiFile import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager import org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager
import org.jetbrains.kotlin.idea.script.AbstractScriptConfigurationLoadingTest import org.jetbrains.kotlin.idea.script.AbstractScriptConfigurationLoadingTest
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings
import org.jetbrains.plugins.gradle.util.GradleConstants import org.jetbrains.plugins.gradle.util.GradleConstants
import org.junit.runner.RunWith import org.junit.runner.RunWith
import java.io.File import java.io.File
@RunWith(JUnit3WithIdeaConfigurationRunner::class) @RunWith(JUnit3RunnerWithInners::class)
open class GradleScriptInputsWatcherTest : AbstractScriptConfigurationLoadingTest() { open class GradleScriptListenerTest : AbstractScriptConfigurationLoadingTest() {
companion object { companion object {
internal const val outsidePlaceholder = "// OUTSIDE_SECTIONS" internal const val outsidePlaceholder = "// OUTSIDE_SECTIONS"
internal const val insidePlaceholder = "// INSIDE_SECTIONS" internal const val insidePlaceholder = "// INSIDE_SECTIONS"
@@ -27,13 +28,6 @@ open class GradleScriptInputsWatcherTest : AbstractScriptConfigurationLoadingTes
data class TestFiles(val buildKts: KtFile, val settings: KtFile, val prop: PsiFile) data class TestFiles(val buildKts: KtFile, val settings: KtFile, val prop: PsiFile)
override fun setUp() {
super.setUp()
// should be initialized explicitly because we do not have a real Gradle Project in this test
project.service<GradleScriptInputsWatcher>().startWatching()
}
override fun setUpTestProject() { override fun setUpTestProject() {
val rootDir = "idea/testData/script/definition/loading/gradle/" val rootDir = "idea/testData/script/definition/loading/gradle/"
@@ -45,6 +39,10 @@ open class GradleScriptInputsWatcherTest : AbstractScriptConfigurationLoadingTes
configureScriptFile(rootDir, buildGradleKts) configureScriptFile(rootDir, buildGradleKts)
val build = (myFile as? KtFile) ?: error("") val build = (myFile as? KtFile) ?: error("")
val newProjectSettings = GradleProjectSettings()
newProjectSettings.externalProjectPath = settings.virtualFile.parent.path
ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID).linkProject(newProjectSettings)
testFiles = TestFiles(build, settings, prop) testFiles = TestFiles(build, settings, prop)
} }
@@ -185,7 +183,7 @@ open class GradleScriptInputsWatcherTest : AbstractScriptConfigurationLoadingTes
changeSettingsKtsOutsideSections() changeSettingsKtsOutsideSections()
project.service<GradleScriptInputsWatcher>().clearAndRefillState() // project.service<GradleScriptInputsWatcher>().clearAndRefillState()
assertConfigurationUpToDate(testFiles.settings) assertConfigurationUpToDate(testFiles.settings)
assertConfigurationUpdateWasDone(testFiles.buildKts) assertConfigurationUpdateWasDone(testFiles.buildKts)
@@ -220,7 +218,7 @@ open class GradleScriptInputsWatcherTest : AbstractScriptConfigurationLoadingTes
} }
private fun markFileChanged(virtualFile: VirtualFile, ts: Long) { private fun markFileChanged(virtualFile: VirtualFile, ts: Long) {
project.service<GradleScriptInputsWatcher>().fileChanged(virtualFile.path, ts) // project.service<GradleScriptInputsWatcher>().fileChanged(virtualFile.path, ts)
} }
fun testLoadedConfigurationWhenExternalFileChanged() { fun testLoadedConfigurationWhenExternalFileChanged() {
@@ -87,7 +87,7 @@ class GradleScriptOutOfProjectTest : AbstractScriptConfigurationLoadingTest() {
} }
private fun makeChangesInsideSections() { private fun makeChangesInsideSections() {
changeContents(myFile.text.replace(GradleScriptInputsWatcherTest.insidePlaceholder, "application"), myFile) changeContents(myFile.text.replace(GradleScriptListenerTest.insidePlaceholder, "application"), myFile)
} }
private fun assertConfigurationShouldBeLoadedManually() { private fun assertConfigurationShouldBeLoadedManually() {