GradleScriptListenerTest: link gradle project
This commit is contained in:
+11
-13
@@ -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() {
|
||||||
+1
-1
@@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user