diff --git a/plugins/lombok/intellij.lombok.iml b/plugins/lombok/intellij.lombok.iml index 7250f3a5c9c9..72445413b5cb 100644 --- a/plugins/lombok/intellij.lombok.iml +++ b/plugins/lombok/intellij.lombok.iml @@ -29,5 +29,6 @@ + \ No newline at end of file diff --git a/plugins/lombok/src/test/java/com/intellij/java/lomboktest/LombokLoggerCompletionTest.kt b/plugins/lombok/src/test/java/com/intellij/java/lomboktest/LombokLoggerCompletionTest.kt new file mode 100644 index 000000000000..1d45bc69263f --- /dev/null +++ b/plugins/lombok/src/test/java/com/intellij/java/lomboktest/LombokLoggerCompletionTest.kt @@ -0,0 +1,50 @@ +package com.intellij.java.lomboktest + +import com.intellij.codeInsight.completion.JvmLoggerLookupElement +import com.intellij.codeInsight.completion.LightFixtureCompletionTestCase +import com.intellij.java.codeInsight.JvmLoggerTestSetupUtil +import com.intellij.testFramework.LightProjectDescriptor +import de.plushnikov.intellij.plugin.LombokTestUtil +import de.plushnikov.intellij.plugin.logging.LombokLoggingUtils +import junit.framework.TestCase + +class LombokLoggerCompletionTest : LightFixtureCompletionTestCase() { + fun testSlf4j() { + JvmLoggerTestSetupUtil.setupSlf4j(myFixture) + + doTest(LombokLoggingUtils.SLF4J_ANNOTATION, "long", "log", "log", "clone") + } + + fun testLog4j2() { + JvmLoggerTestSetupUtil.setupLog4j2(myFixture) + + doTest(LombokLoggingUtils.LOG4J2_ANNOTATION, "long", "log", "log", "clone") + } + + fun testLog4j() { + JvmLoggerTestSetupUtil.setupLog4j(myFixture) + + doTest(LombokLoggingUtils.LOG4J_ANNOTATION, "long", "log", "log", "clone") + } + + fun testApacheCommons() { + JvmLoggerTestSetupUtil.setupApacheCommons(myFixture) + + doTest(LombokLoggingUtils.COMMONS_ANNOTATION, "long", "log", "log", "clone") + } + + override fun getBasePath(): String = "community/plugins/lombok/testData/completion/logger" + + override fun getProjectDescriptor(): LightProjectDescriptor = LombokTestUtil.LOMBOK_OLD_DESCRIPTOR + + private fun doTest(typeName: String, vararg names: String) { + val name = getTestName(false) + configureByFile("before$name.java") + assertStringItems(*names) + + val item = lookup.items.find { it is JvmLoggerLookupElement && it.typeName == typeName } + TestCase.assertNotNull(item) + selectItem(item) + checkResultByFile("after$name.java") + } +} \ No newline at end of file diff --git a/plugins/lombok/testData/completion/logger/afterApacheCommons.java b/plugins/lombok/testData/completion/logger/afterApacheCommons.java new file mode 100644 index 000000000000..a60aa00fc4ba --- /dev/null +++ b/plugins/lombok/testData/completion/logger/afterApacheCommons.java @@ -0,0 +1,8 @@ +import lombok.extern.apachecommons.CommonsLog; + +@CommonsLog +public class A { + void foo() { + log + } +} \ No newline at end of file diff --git a/plugins/lombok/testData/completion/logger/afterLog4j.java b/plugins/lombok/testData/completion/logger/afterLog4j.java new file mode 100644 index 000000000000..708b19d907a9 --- /dev/null +++ b/plugins/lombok/testData/completion/logger/afterLog4j.java @@ -0,0 +1,8 @@ +import lombok.extern.log4j.Log4j; + +@Log4j +public class A { + void foo() { + log + } +} \ No newline at end of file diff --git a/plugins/lombok/testData/completion/logger/afterLog4j2.java b/plugins/lombok/testData/completion/logger/afterLog4j2.java new file mode 100644 index 000000000000..5380f9b79155 --- /dev/null +++ b/plugins/lombok/testData/completion/logger/afterLog4j2.java @@ -0,0 +1,8 @@ +import lombok.extern.log4j.Log4j2; + +@Log4j2 +public class A { + void foo() { + log + } +} \ No newline at end of file diff --git a/plugins/lombok/testData/completion/logger/afterSlf4j.java b/plugins/lombok/testData/completion/logger/afterSlf4j.java new file mode 100644 index 000000000000..55588ac0c313 --- /dev/null +++ b/plugins/lombok/testData/completion/logger/afterSlf4j.java @@ -0,0 +1,8 @@ +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class A { + void foo() { + log + } +} \ No newline at end of file diff --git a/plugins/lombok/testData/completion/logger/beforeApacheCommons.java b/plugins/lombok/testData/completion/logger/beforeApacheCommons.java new file mode 100644 index 000000000000..7cbfbce5e498 --- /dev/null +++ b/plugins/lombok/testData/completion/logger/beforeApacheCommons.java @@ -0,0 +1,5 @@ +public class A { + void foo() { + lo + } +} \ No newline at end of file diff --git a/plugins/lombok/testData/completion/logger/beforeLog4j.java b/plugins/lombok/testData/completion/logger/beforeLog4j.java new file mode 100644 index 000000000000..7cbfbce5e498 --- /dev/null +++ b/plugins/lombok/testData/completion/logger/beforeLog4j.java @@ -0,0 +1,5 @@ +public class A { + void foo() { + lo + } +} \ No newline at end of file diff --git a/plugins/lombok/testData/completion/logger/beforeLog4j2.java b/plugins/lombok/testData/completion/logger/beforeLog4j2.java new file mode 100644 index 000000000000..7cbfbce5e498 --- /dev/null +++ b/plugins/lombok/testData/completion/logger/beforeLog4j2.java @@ -0,0 +1,5 @@ +public class A { + void foo() { + lo + } +} \ No newline at end of file diff --git a/plugins/lombok/testData/completion/logger/beforeSlf4j.java b/plugins/lombok/testData/completion/logger/beforeSlf4j.java new file mode 100644 index 000000000000..7cbfbce5e498 --- /dev/null +++ b/plugins/lombok/testData/completion/logger/beforeSlf4j.java @@ -0,0 +1,5 @@ +public class A { + void foo() { + lo + } +} \ No newline at end of file