mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
tests: use Kotlin DSL to check output in PluginModuleCompilationTest
GitOrigin-RevId: c55fe9642a576ae5c93c5ce5fd7911616e79bfc4
This commit is contained in:
committed by
intellij-monorepo-bot
parent
65a68b263f
commit
1849ef6a1e
@@ -26,6 +26,8 @@ import com.intellij.packaging.impl.compiler.ArtifactCompileScope;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.testFramework.*;
|
||||
import com.intellij.util.concurrency.Semaphore;
|
||||
import com.intellij.util.io.DirectoryContentSpec;
|
||||
import com.intellij.util.io.DirectoryContentSpecKt;
|
||||
import com.intellij.util.io.TestFileSystemBuilder;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import gnu.trove.THashSet;
|
||||
@@ -342,6 +344,10 @@ public abstract class BaseCompilerTestCase extends ModuleTestCase {
|
||||
assertOutput(module, item, false);
|
||||
}
|
||||
|
||||
protected static void assertOutput(Module module, DirectoryContentSpec spec) {
|
||||
DirectoryContentSpecKt.assertMatches(getOutputDir(module, false), spec);
|
||||
}
|
||||
|
||||
protected static void assertOutput(Module module, TestFileSystemBuilder item, final boolean forTests) {
|
||||
File outputDir = getOutputDir(module, forTests);
|
||||
Assert.assertTrue((forTests? "Test output" : "Output") +" directory " + outputDir.getAbsolutePath() + " doesn't exist", outputDir.exists());
|
||||
|
||||
+50
-28
@@ -15,7 +15,9 @@ import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.openapi.util.io.FileUtilRt
|
||||
import com.intellij.openapi.vfs.LocalFileSystem
|
||||
import com.intellij.util.SmartList
|
||||
import com.intellij.util.io.TestFileSystemBuilder.fs
|
||||
import com.intellij.util.io.assertMatches
|
||||
import com.intellij.util.io.directoryContent
|
||||
import com.intellij.util.io.zipFile
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.jetbrains.idea.devkit.module.PluginModuleType
|
||||
import org.jetbrains.idea.devkit.projectRoots.IdeaJdk
|
||||
@@ -46,17 +48,28 @@ class PluginModuleCompilationTest : BaseCompilerTestCase() {
|
||||
fun testMakeSimpleModule() {
|
||||
val module = setupSimplePluginProject()
|
||||
make(module)
|
||||
BaseCompilerTestCase.assertOutput(module, fs().dir("xxx").file("MyAction.class"))
|
||||
assertOutput(module, directoryContent {
|
||||
dir("xxx") {
|
||||
file("MyAction.class")
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
val sandbox = File(getSandboxPath())
|
||||
assertThat(sandbox).isDirectory()
|
||||
fs()
|
||||
.dir("plugins")
|
||||
.dir("pluginProject")
|
||||
.dir("META-INF").file("plugin.xml").end()
|
||||
.dir("classes")
|
||||
.dir("xxx").file("MyAction.class")
|
||||
.build().assertDirectoryEqual(sandbox)
|
||||
sandbox.assertMatches(directoryContent {
|
||||
dir("plugins") {
|
||||
dir("pluginProject") {
|
||||
dir("META-INF") {
|
||||
file("plugin.xml")
|
||||
}
|
||||
dir("classes") {
|
||||
dir("xxx") {
|
||||
file("MyAction.class")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fun testRebuildSimpleProject() {
|
||||
@@ -71,12 +84,15 @@ class PluginModuleCompilationTest : BaseCompilerTestCase() {
|
||||
prepareForDeployment(module)
|
||||
|
||||
val outputFile = File("$projectBasePath/pluginProject.jar")
|
||||
assertThat(outputFile).isFile()
|
||||
fs()
|
||||
.archive("pluginProject.jar")
|
||||
.dir("META-INF").file("plugin.xml").file("MANIFEST.MF").end()
|
||||
.dir("xxx").file("MyAction.class")
|
||||
.build().assertFileEqual(outputFile)
|
||||
outputFile.assertMatches(zipFile {
|
||||
dir("META-INF") {
|
||||
file("plugin.xml")
|
||||
file("MANIFEST.MF")
|
||||
}
|
||||
dir("xxx") {
|
||||
file("MyAction.class")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fun testBuildProjectWithJpsModule() {
|
||||
@@ -85,18 +101,24 @@ class PluginModuleCompilationTest : BaseCompilerTestCase() {
|
||||
prepareForDeployment(module)
|
||||
|
||||
val outputFile = File("$projectBasePath/pluginProject.zip")
|
||||
assertThat(outputFile).isFile()
|
||||
fs()
|
||||
.archive("pluginProject.zip")
|
||||
.dir("pluginProject")
|
||||
.dir("lib")
|
||||
.archive("pluginProject.jar")
|
||||
.dir("META-INF").file("plugin.xml").file("MANIFEST.MF").end()
|
||||
.dir("xxx").file("MyAction.class").end()
|
||||
.end()
|
||||
.dir("jps")
|
||||
.archive("jps-plugin.jar").file("Builder.class")
|
||||
.build().assertFileEqual(outputFile)
|
||||
outputFile.assertMatches(zipFile {
|
||||
dir("pluginProject") {
|
||||
dir("lib") {
|
||||
zip("pluginProject.jar") {
|
||||
dir("META-INF") {
|
||||
file("plugin.xml")
|
||||
file("MANIFEST.MF")
|
||||
}
|
||||
dir("xxx") {
|
||||
file("MyAction.class")
|
||||
}
|
||||
}
|
||||
dir("jps") {
|
||||
zip("jps-plugin.jar") { file("Builder.class") }
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun prepareForDeployment(module: Module) {
|
||||
|
||||
Reference in New Issue
Block a user