SpringTestFixtureExtension: option to forbid facet autoconfigure added

This commit is contained in:
Nicolay Mitropolsky
2017-10-27 19:46:16 +03:00
committed by Nikolay Krasko
parent 3a06b8fe3b
commit aa43bebbf1
3 changed files with 11 additions and 1 deletions
@@ -1,2 +1,3 @@
// INSPECTION_CLASS: org.jetbrains.kotlin.idea.spring.inspections.KotlinSpringFacetCodeInspection
// FIXTURE_CLASS: org.jetbrains.kotlin.idea.spring.tests.SpringTestFixtureExtension
// FIXTURE_CLASS: org.jetbrains.kotlin.idea.spring.tests.SpringTestFixtureExtension
// FORBID_SPRING_FILE_SET_AUTOCONFIGURE
@@ -18,10 +18,12 @@ package org.jetbrains.kotlin.idea.spring.tests
import com.intellij.facet.impl.FacetUtil
import com.intellij.openapi.module.Module
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.io.FileUtil
import com.intellij.psi.PsiFile
import com.intellij.spring.facet.SpringFacet
import com.intellij.spring.facet.SpringFileSet
import com.intellij.spring.settings.SpringGeneralSettings
import com.intellij.testFramework.fixtures.CodeInsightTestFixture
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture
import com.intellij.util.PathUtil
@@ -97,4 +99,9 @@ fun configureSpringFileSetByDirective(module: Module, directives: String, psiFil
if (!InTextDirectivesUtils.isDirectiveDefined(directives, "// CONFIGURE_SPRING_FILE_SET")) return
val fileSet = SpringFacet.getInstance(module)!!.addFileSet("default", "default")!!
psiFiles.forEach { fileSet.addFile(it.virtualFile) }
}
fun forbidSpringFileSetAutoConfigureByDirective(project: Project, directives: String) {
if (!InTextDirectivesUtils.isDirectiveDefined(directives, "// FORBID_SPRING_FILE_SET_AUTOCONFIGURE")) return
SpringGeneralSettings.getInstance(project).isAllowAutoConfigurationMode = false
}
@@ -3,12 +3,14 @@ package org.jetbrains.kotlin.idea.spring.tests.inspections
import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.idea.codeInsight.AbstractInspectionTest
import org.jetbrains.kotlin.idea.spring.tests.configureSpringFileSetByDirective
import org.jetbrains.kotlin.idea.spring.tests.forbidSpringFileSetAutoConfigureByDirective
abstract class AbstractSpringInspectionTest : AbstractInspectionTest() {
override val forceUsePackageFolder: Boolean = true
override fun configExtra(psiFiles: List<PsiFile>, options: String) {
forbidSpringFileSetAutoConfigureByDirective(project, options)
configureSpringFileSetByDirective(myFixture.module, options, psiFiles)
}
}