[tests] rewrite ArtifactTest to JUnit5

This fixes "Test method isn't public: test_rename$lambda$..." warning which was shown because JUnit3 treats synthetic methods generated from lambdas as test methods.

GitOrigin-RevId: 2e1b874d3dfab9949833609ee155935aada60d85
This commit is contained in:
Nikolay Chashnikov
2024-01-26 12:49:27 +01:00
committed by intellij-monorepo-bot
parent 25ed897eb5
commit 889e364d7a
2 changed files with 30 additions and 13 deletions

View File

@@ -20,5 +20,6 @@
<orderEntry type="module" module-name="intellij.platform.testFramework" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.workspace.jps" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.backend.workspace" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.testFramework.junit5" scope="TEST" />
</component>
</module>

View File

@@ -2,6 +2,7 @@
package com.intellij.openapi.roots.ui.configuration.artifacts
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.EDT
import com.intellij.openapi.application.runWriteAction
import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator
@@ -14,14 +15,26 @@ import com.intellij.packaging.artifacts.ArtifactType
import com.intellij.packaging.elements.CompositePackagingElement
import com.intellij.packaging.elements.PackagingElementFactory
import com.intellij.packaging.elements.PackagingElementOutputKind
import com.intellij.testFramework.HeavyPlatformTestCase
import com.intellij.testFramework.UsefulTestCase.assertContainsElements
import com.intellij.testFramework.junit5.TestApplication
import com.intellij.testFramework.rules.ProjectModelExtension
import com.intellij.util.ui.EmptyIcon
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.RegisterExtension
import java.util.function.Supplier
import javax.swing.Icon
class ArtifactTest : HeavyPlatformTestCase() {
fun `test rename`() {
@TestApplication
class ArtifactTest {
@RegisterExtension
private val projectModel = ProjectModelExtension()
@Test
fun `test rename`() = runBlocking(Dispatchers.EDT) {
runWithRegisteredExtension(MockArtifactTypeForRename(), ArtifactType.EP_NAME) {
val project = projectModel.project
ArtifactManager.getInstance(project).addArtifact("X", MockArtifactTypeForRename(), null)
val artifact = ArtifactManager.getInstance(project).addArtifact("unnamed", MockArtifactTypeForRename(), null)
val context = ArtifactsStructureConfigurableContextImpl(StructureConfigurableContext(project, ModulesConfigurator(project,
@@ -30,9 +43,8 @@ class ArtifactTest : HeavyPlatformTestCase() {
project,
ArtifactEditorSettings(),
object : ArtifactListener {})
disposeOnTearDown(Disposable { context.disposeUIResources() })
val configurable = ArtifactConfigurable(artifact,
context, Runnable { })
try {
val configurable = ArtifactConfigurable(artifact, context, Runnable { })
configurable.displayName = "X"
var artifacts = context.actualModifiableModel!!.artifacts.map { it.name }
@@ -43,6 +55,10 @@ class ArtifactTest : HeavyPlatformTestCase() {
assertContainsElements(artifacts, "X")
assertContainsElements(artifacts, "X2")
}
finally {
context.disposeUIResources()
}
}
}
}