Scripting: do not threat comments and spaces as modifications inside essential block

This commit is contained in:
Natalia Selezneva
2019-12-11 13:28:01 +03:00
parent 2f35d6d868
commit ec04f0059c
2 changed files with 18 additions and 4 deletions
@@ -8,10 +8,7 @@ package org.jetbrains.kotlin.idea.scripting.gradle
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.registry.Registry
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiManager
import com.intellij.psi.PsiRecursiveElementVisitor
import com.intellij.psi.PsiWhiteSpace
import com.intellij.psi.*
import com.intellij.psi.impl.source.tree.LeafPsiElement
import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.idea.util.application.runReadAction
@@ -49,6 +46,7 @@ fun getGradleScriptInputsStamp(
super.visitElement(element)
when (element) {
is PsiWhiteSpace -> if (element.text.contains("\n")) result.append("\n")
is PsiComment -> { }
is LeafPsiElement -> result.append(element.text)
}
}
@@ -63,6 +63,22 @@ class GradleScriptInputsWatcherTest : AbstractScriptConfigurationLoadingTest() {
assertConfigurationUpdateWasDone(testFiles.buildKts)
}
fun testSpacesInSectionsChange() {
assertAndLoadInitialConfiguration(testFiles.buildKts)
changeBuildKtsInsideSections("// INSIDE PLUGINS\n")
assertConfigurationUpToDate(testFiles.buildKts)
}
fun testCommentsInSectionsChange() {
assertAndLoadInitialConfiguration(testFiles.buildKts)
changeBuildKtsInsideSections("// My test comment\n")
assertConfigurationUpToDate(testFiles.buildKts)
}
fun testOutsideSectionChange() {
assertAndLoadInitialConfiguration(testFiles.buildKts)