mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-26 19:06:24 +07:00
[tests] common base class for Java module tests
This commit is contained in:
+2
-15
@@ -15,27 +15,16 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.completion
|
||||
|
||||
import com.intellij.testFramework.LightProjectDescriptor
|
||||
import com.intellij.testFramework.VfsTestUtil
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor
|
||||
import com.intellij.testFramework.fixtures.LightJava9ModulesCodeInsightFixtureTestCase
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor.M2
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor.MAIN
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
|
||||
class ModuleCompletionTest : LightFixtureCompletionTestCase() {
|
||||
override fun getProjectDescriptor(): LightProjectDescriptor = MultiModuleJava9ProjectDescriptor
|
||||
|
||||
class ModuleCompletionTest : LightJava9ModulesCodeInsightFixtureTestCase() {
|
||||
override fun setUp() {
|
||||
super.setUp()
|
||||
addFile("module-info.java", "module M2 { }", M2)
|
||||
}
|
||||
|
||||
override fun tearDown() {
|
||||
MultiModuleJava9ProjectDescriptor.cleanupSourceRoots()
|
||||
super.tearDown()
|
||||
}
|
||||
|
||||
fun testFileHeader() = complete("<caret>", "module <caret>")
|
||||
fun testStatements1() = variants("module M { <caret> }", "requires", "exports", "uses", "provides")
|
||||
fun testStatements2() = complete("module M { requires X; ex<caret> }", "module M { requires X; exports <caret> }")
|
||||
@@ -64,8 +53,6 @@ class ModuleCompletionTest : LightFixtureCompletionTestCase() {
|
||||
}
|
||||
|
||||
//<editor-fold desc="Helpers.">
|
||||
private fun addFile(path: String, text: String, module: ModuleDescriptor = MAIN) = VfsTestUtil.createFile(module.root(), path, text)
|
||||
|
||||
private fun complete(text: String, expected: String) {
|
||||
myFixture.configureByText("module-info.java", text)
|
||||
myFixture.completeBasic()
|
||||
|
||||
@@ -16,29 +16,19 @@
|
||||
package com.intellij.codeInsight.daemon
|
||||
|
||||
import com.intellij.psi.PsiJavaModule
|
||||
import com.intellij.testFramework.LightProjectDescriptor
|
||||
import com.intellij.testFramework.VfsTestUtil
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor.*
|
||||
import com.intellij.testFramework.fixtures.LightJava9ModulesCodeInsightFixtureTestCase
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor.M2
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor.M3
|
||||
import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
|
||||
class ModuleHighlightingTest : LightCodeInsightFixtureTestCase() {
|
||||
override fun getProjectDescriptor(): LightProjectDescriptor = MultiModuleJava9ProjectDescriptor
|
||||
|
||||
class ModuleHighlightingTest : LightJava9ModulesCodeInsightFixtureTestCase() {
|
||||
override fun setUp() {
|
||||
super.setUp()
|
||||
addFile("module-info.java", "module M2 { }", M2)
|
||||
addFile("module-info.java", "module M3 { }", M3)
|
||||
}
|
||||
|
||||
override fun tearDown() {
|
||||
MultiModuleJava9ProjectDescriptor.cleanupSourceRoots()
|
||||
super.tearDown()
|
||||
}
|
||||
|
||||
fun testWrongFileName() {
|
||||
highlight("M.java", """/* ... */ <error descr="Module declaration should be in a file named 'module-info.java'">module M</error> { }""")
|
||||
}
|
||||
@@ -147,8 +137,6 @@ class ModuleHighlightingTest : LightCodeInsightFixtureTestCase() {
|
||||
}
|
||||
|
||||
//<editor-fold desc="Helpers.">
|
||||
private fun addFile(path: String, text: String, module: ModuleDescriptor = MAIN) = VfsTestUtil.createFile(module.root(), path, text)
|
||||
|
||||
private fun highlight(text: String, filter: Boolean = false) = highlight("module-info.java", text, filter)
|
||||
|
||||
private fun highlight(path: String, text: String, filter: Boolean = false) {
|
||||
|
||||
@@ -20,28 +20,20 @@ import com.intellij.psi.PsiDocumentManager
|
||||
import com.intellij.psi.impl.file.impl.JavaFileManager
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import com.intellij.refactoring.rename.RenameProcessor
|
||||
import com.intellij.testFramework.LightProjectDescriptor
|
||||
import com.intellij.testFramework.VfsTestUtil
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
|
||||
import com.intellij.testFramework.fixtures.LightJava9ModulesCodeInsightFixtureTestCase
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor.M2
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor.MAIN
|
||||
import org.junit.Test
|
||||
|
||||
class ModuleRenameTest : LightCodeInsightFixtureTestCase() {
|
||||
override fun getProjectDescriptor(): LightProjectDescriptor = MultiModuleJava9ProjectDescriptor
|
||||
|
||||
class ModuleRenameTest : LightJava9ModulesCodeInsightFixtureTestCase() {
|
||||
override fun setUp() {
|
||||
super.setUp()
|
||||
addFile("module-info.java", "module M2 { }", M2)
|
||||
}
|
||||
|
||||
override fun tearDown() {
|
||||
MultiModuleJava9ProjectDescriptor.cleanupSourceRoots()
|
||||
super.tearDown()
|
||||
}
|
||||
|
||||
@Test fun testRename() {
|
||||
myFixture.configureByText("module-info.java", "module M { requires M2; }")
|
||||
val module = JavaFileManager.SERVICE.getInstance(project).findModules("M2", GlobalSearchScope.allScope(project)).first()
|
||||
@@ -51,6 +43,4 @@ class ModuleRenameTest : LightCodeInsightFixtureTestCase() {
|
||||
}
|
||||
myFixture.checkResult("module M { requires M2.bis; }")
|
||||
}
|
||||
|
||||
private fun addFile(path: String, text: String, module: ModuleDescriptor = MAIN) = VfsTestUtil.createFile(module.root(), path, text)
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.testFramework.fixtures
|
||||
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.testFramework.LightProjectDescriptor
|
||||
import com.intellij.testFramework.VfsTestUtil
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor
|
||||
import com.intellij.testFramework.fixtures.MultiModuleJava9ProjectDescriptor.ModuleDescriptor.MAIN
|
||||
|
||||
abstract class LightJava9ModulesCodeInsightFixtureTestCase : LightCodeInsightFixtureTestCase() {
|
||||
override fun getProjectDescriptor(): LightProjectDescriptor = MultiModuleJava9ProjectDescriptor
|
||||
|
||||
override fun tearDown() {
|
||||
MultiModuleJava9ProjectDescriptor.cleanupSourceRoots()
|
||||
super.tearDown()
|
||||
}
|
||||
|
||||
protected fun addFile(path: String, text: String, module: ModuleDescriptor = MAIN): VirtualFile =
|
||||
VfsTestUtil.createFile(module.root(), path, text)
|
||||
}
|
||||
+1
-1
@@ -34,7 +34,7 @@ import com.intellij.testFramework.LightPlatformTestCase
|
||||
/**
|
||||
* Dependencies: 'main' -> 'm2', 'm3'
|
||||
*/
|
||||
object MultiModuleJava9ProjectDescriptor : DefaultLightProjectDescriptor() {
|
||||
object MultiModuleJava9ProjectDescriptor : DefaultLightProjectDescriptor() {
|
||||
enum class ModuleDescriptor(internal val moduleName: String, internal val rootName: String) {
|
||||
MAIN(TEST_MODULE_NAME, "/not_used/"),
|
||||
M2("${TEST_MODULE_NAME}_m2", "src_m2"),
|
||||
|
||||
Reference in New Issue
Block a user