mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Refactor and enable on CI tests for kotlin.base.facet.tests module
^KTIJ-29210 Fixed GitOrigin-RevId: 2950107ffd5ab7d68d76a1987126c2c6af2ddba5
This commit is contained in:
committed by
intellij-monorepo-bot
parent
86b38782d5
commit
b01067ea6e
+14
-5
@@ -1,4 +1,7 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package org.jetbrains.kotlin.idea
|
||||
|
||||
import com.intellij.facet.FacetManager
|
||||
import com.intellij.facet.impl.ui.FacetEditorImpl
|
||||
import com.intellij.facet.mock.MockFacetEditorContext
|
||||
@@ -19,10 +22,16 @@ class KotlinFacetBridgeTest : KotlinFacetTestCase() {
|
||||
fun testEditorTabConfigurationOnFacetCreation() {
|
||||
val facet = getKotlinFacet()
|
||||
val editorContext: FacetEditorContext = MockFacetEditorContext(getKotlinFacet())
|
||||
FacetEditorImpl(editorContext, facet.configuration).let {
|
||||
it.getComponent()
|
||||
it.reset()
|
||||
assertNotNull(it.component)
|
||||
var facetEditorTab: FacetEditorImpl? = null
|
||||
try {
|
||||
facetEditorTab = FacetEditorImpl(editorContext, facet.configuration)
|
||||
facetEditorTab.let {
|
||||
it.getComponent()
|
||||
it.reset()
|
||||
assertNotNull(it.component)
|
||||
}
|
||||
} finally {
|
||||
facetEditorTab?.disposeUIResources()
|
||||
}
|
||||
}
|
||||
|
||||
+4
-3
@@ -1,4 +1,7 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package org.jetbrains.kotlin.idea
|
||||
|
||||
import com.intellij.facet.Facet
|
||||
import com.intellij.facet.FacetManager
|
||||
import com.intellij.openapi.application.appSystemDir
|
||||
@@ -7,7 +10,6 @@ import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.project.doNotEnableExternalStorageByDefaultInTests
|
||||
import com.intellij.openapi.project.getProjectCacheFileName
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.openapi.util.registry.Registry
|
||||
import com.intellij.openapi.vfs.VfsUtil
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.platform.backend.workspace.WorkspaceModel
|
||||
@@ -82,7 +84,6 @@ class KotlinFacetDeserializationTest {
|
||||
assertEmpty(additionalVisibleModuleNames)
|
||||
assertEmpty(externalProjectId)
|
||||
assertEquals(KotlinModuleKind.DEFAULT, kind)
|
||||
assertNotNull(compilerArguments)
|
||||
}
|
||||
}
|
||||
}
|
||||
+3
@@ -1,4 +1,7 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package org.jetbrains.kotlin.idea
|
||||
|
||||
import com.intellij.facet.Facet
|
||||
import com.intellij.facet.FacetManager
|
||||
import com.intellij.facet.FacetManagerListener
|
||||
+4
-5
@@ -1,4 +1,7 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package org.jetbrains.kotlin.idea
|
||||
|
||||
import com.intellij.facet.FacetManager
|
||||
import com.intellij.facet.impl.FacetUtil
|
||||
import com.intellij.openapi.application.EDT
|
||||
@@ -42,12 +45,8 @@ class KotlinFacetSerializationTest {
|
||||
@Rule
|
||||
val tempDirManager = TemporaryDirectory()
|
||||
|
||||
lateinit var module: Module
|
||||
|
||||
@Before
|
||||
fun verifyImlDoesntExist() {
|
||||
//TODO: remove after enabling by default
|
||||
Registry.get("workspace.model.kotlin.facet.bridge").setValue(true)
|
||||
Assume.assumeTrue("Execute only if kotlin facet bridge enabled", KotlinFacetBridgeFactory.kotlinFacetBridgeEnabled)
|
||||
TestCase.assertFalse(Files.exists(projectRule.module.moduleNioFile))
|
||||
}
|
||||
+16
-17
@@ -1,16 +1,20 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package org.jetbrains.kotlin.idea
|
||||
|
||||
import com.intellij.openapi.application.ex.PathManagerEx
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.registry.Registry
|
||||
import com.intellij.testFramework.UsefulTestCase
|
||||
import com.intellij.testFramework.*
|
||||
import com.intellij.testFramework.fixtures.*
|
||||
import org.jetbrains.kotlin.idea.workspaceModel.KotlinFacetBridgeFactory
|
||||
import org.junit.Assume
|
||||
import java.io.File
|
||||
|
||||
abstract class KotlinFacetTestCase : UsefulTestCase() {
|
||||
protected lateinit var myTestFixture: JavaCodeInsightTestFixture
|
||||
private lateinit var myTestFixture: JavaCodeInsightTestFixture
|
||||
lateinit var myProject: Project
|
||||
lateinit var myKotlinFixtureBuilder: KotlinModuleFixtureBuilder
|
||||
private lateinit var myKotlinFixtureBuilder: KotlinModuleFixtureBuilder
|
||||
|
||||
val myModule: Module
|
||||
get() = myTestFixture.module
|
||||
@@ -19,41 +23,36 @@ abstract class KotlinFacetTestCase : UsefulTestCase() {
|
||||
return PathManagerEx.getTestDataPath().replace(File.separatorChar, '/') /*+ getBasePath()*/
|
||||
}
|
||||
|
||||
|
||||
override fun setUp() {
|
||||
super.setUp()
|
||||
//TODO: remove after enabling by default
|
||||
Registry.get("workspace.model.kotlin.facet.bridge").setValue(true)
|
||||
val projectBuilder = IdeaTestFixtureFactory.getFixtureFactory().createFixtureBuilder(
|
||||
name
|
||||
)
|
||||
|
||||
val projectBuilder = IdeaTestFixtureFactory.getFixtureFactory().createFixtureBuilder(name)
|
||||
val testDataPath: String = getTestDataPath()
|
||||
|
||||
myTestFixture = JavaTestFixtureFactory.getFixtureFactory().createCodeInsightFixture(projectBuilder.fixture)
|
||||
myTestFixture!!.testDataPath = testDataPath
|
||||
?: error("Failed to create test fixture")
|
||||
myTestFixture.testDataPath = testDataPath
|
||||
|
||||
configureProjectBuilder(projectBuilder)
|
||||
//myFixture.setUp()
|
||||
myTestFixture!!.setUp()
|
||||
myTestFixture.setUp()
|
||||
|
||||
myProject = myTestFixture.project
|
||||
Assume.assumeTrue("Execute only if kotlin facet bridge enabled", KotlinFacetBridgeFactory.kotlinFacetBridgeEnabled)
|
||||
}
|
||||
|
||||
protected open fun configureProjectBuilder(projectBuilder: TestFixtureBuilder<IdeaProjectTestFixture?>) {
|
||||
val tempDirPath: String = myTestFixture.tempDirPath
|
||||
IdeaTestFixtureFactory.getFixtureFactory().registerFixtureBuilder(
|
||||
KotlinModuleFixtureBuilder::class.java,
|
||||
"KotlinModuleFixtureBuilderImpl"
|
||||
KotlinModuleFixtureBuilderImpl::class.java.name
|
||||
)
|
||||
myKotlinFixtureBuilder = projectBuilder.addModule(KotlinModuleFixtureBuilder::class.java)
|
||||
myKotlinFixtureBuilder.addContentRoot(tempDirPath)
|
||||
//configure(myKotlinFixtureBuilder)
|
||||
//TODO: add root here
|
||||
}
|
||||
|
||||
override fun tearDown() {
|
||||
val fixture: JavaCodeInsightTestFixture = myTestFixture
|
||||
//myTestFixture = null
|
||||
try {
|
||||
fixture.tearDown()
|
||||
} catch (e: Throwable) {
|
||||
+6
-13
@@ -1,4 +1,7 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package org.jetbrains.kotlin.idea
|
||||
|
||||
import com.intellij.facet.FacetTypeRegistry
|
||||
import com.intellij.facet.impl.FacetUtil
|
||||
import com.intellij.openapi.module.Module
|
||||
@@ -13,16 +16,9 @@ import com.intellij.testFramework.fixtures.impl.ModuleFixtureImpl
|
||||
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
||||
import org.jetbrains.kotlin.idea.facet.KotlinFacetType
|
||||
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
interface KotlinModuleFixtureBuilder : JavaModuleFixtureBuilder<KotlinModuleTestFixture> {
|
||||
interface KotlinModuleFixtureBuilder : JavaModuleFixtureBuilder<KotlinModuleTestFixture>
|
||||
|
||||
|
||||
|
||||
//fun addWebRoot(rootPath: @NonNls String, relativePath: @NonNls String): com.intellij.testFramework.builders.WebModuleFixtureBuilder
|
||||
//fun setWebXml(path: @NonNls String): com.intellij.testFramework.builders.WebModuleFixtureBuilder
|
||||
}
|
||||
|
||||
class KotlinModuleFixtureBuilderImpl(val fixtureBuilder: TestFixtureBuilder<IdeaProjectTestFixture>) :
|
||||
class KotlinModuleFixtureBuilderImpl(fixtureBuilder: TestFixtureBuilder<IdeaProjectTestFixture>) :
|
||||
JavaModuleFixtureBuilderImpl<KotlinModuleTestFixture>(StdModuleTypes.JAVA, fixtureBuilder), KotlinModuleFixtureBuilder {
|
||||
|
||||
override fun instantiateFixture() = KotlinModuleTestFixtureImpl(this)
|
||||
@@ -33,16 +29,13 @@ class KotlinModuleFixtureBuilderImpl(val fixtureBuilder: TestFixtureBuilder<Idea
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
interface KotlinModuleTestFixture : ModuleFixture {
|
||||
//fun setWebXml(webXmlPath: @NonNls String?)
|
||||
val kotlinFacet: KotlinFacet?
|
||||
}
|
||||
|
||||
class KotlinModuleTestFixtureImpl(builder: ModuleFixtureBuilderImpl<*>?) : ModuleFixtureImpl(builder!!), KotlinModuleTestFixture {
|
||||
override val kotlinFacet: KotlinFacet?
|
||||
get() = KotlinFacet.get(module)!!
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user