[analysis api, refactoring] move base test cases to base modules, improve service names
This commit is contained in:
-43
@@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.analysis.test.framework
|
||||
|
||||
import com.intellij.mock.MockApplication
|
||||
import com.intellij.mock.MockProject
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider
|
||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import java.nio.file.Path
|
||||
|
||||
interface AnalysisApiTestConfiguratorService {
|
||||
val testPrefix: String? get() = null
|
||||
|
||||
val analyseInDependentSession: Boolean
|
||||
|
||||
fun TestConfigurationBuilder.configureTest(disposable: Disposable)
|
||||
|
||||
fun registerProjectServices(
|
||||
project: MockProject,
|
||||
compilerConfig: CompilerConfiguration,
|
||||
files: List<KtFile>,
|
||||
packagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
|
||||
projectStructureProvider: ProjectStructureProvider
|
||||
)
|
||||
|
||||
fun registerApplicationServices(application: MockApplication)
|
||||
|
||||
fun prepareTestFiles(files: List<KtFile>, module: TestModule, testServices: TestServices) {}
|
||||
|
||||
fun doOutOfBlockModification(file: KtFile)
|
||||
|
||||
fun preprocessTestDataPath(path: Path): Path = path
|
||||
}
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.analysis.test.framework
|
||||
|
||||
abstract class AnalysisApiTestConfiguratorFactory {
|
||||
abstract fun createConfigurator(data: AnalysisApiTestConfiguratorFactoryData): AnalysisApiTestConfiguratorService
|
||||
abstract fun createConfigurator(data: AnalysisApiTestConfiguratorFactoryData): AnalysisApiTestConfigurator
|
||||
|
||||
abstract fun supportMode(data: AnalysisApiTestConfiguratorFactoryData): Boolean
|
||||
|
||||
|
||||
+3
-4
@@ -15,7 +15,7 @@ import junit.framework.ComparisonFailure
|
||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.api.analyse
|
||||
import org.jetbrains.kotlin.analysis.api.analyseInDependedAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.test.framework.AnalysisApiTestConfiguratorService
|
||||
import org.jetbrains.kotlin.analysis.test.framework.AnalysisApiTestConfigurator
|
||||
import org.jetbrains.kotlin.analysis.test.framework.AnalysisApiTestDirectives
|
||||
import org.jetbrains.kotlin.analysis.test.framework.TestWithDisposable
|
||||
import org.jetbrains.kotlin.analysis.test.framework.project.structure.KotlinProjectStructureProviderTestImpl
|
||||
@@ -52,16 +52,15 @@ import kotlin.io.path.exists
|
||||
import kotlin.io.path.nameWithoutExtension
|
||||
|
||||
abstract class AbstractAnalysisApiBasedTest : TestWithDisposable() {
|
||||
abstract val configurator: AnalysisApiTestConfiguratorService
|
||||
abstract val configurator: AnalysisApiTestConfigurator
|
||||
|
||||
protected lateinit var testInfo: KotlinTestInfo
|
||||
private lateinit var testInfo: KotlinTestInfo
|
||||
private set
|
||||
|
||||
protected lateinit var testDataPath: Path
|
||||
private set
|
||||
|
||||
private lateinit var moduleStructure: TestModuleStructure
|
||||
private set
|
||||
|
||||
protected open fun configureTest(builder: TestConfigurationBuilder) {
|
||||
with(configurator) {
|
||||
|
||||
Reference in New Issue
Block a user