diff --git a/idea/testData/completion/injava/JetEnumFields.java b/idea/testData/completion/injava/JetEnumFields.java new file mode 100644 index 00000000000..5c735235457 --- /dev/null +++ b/idea/testData/completion/injava/JetEnumFields.java @@ -0,0 +1,7 @@ +public class Testing { + public static void test() { + kotlin.enums.KtEnumColor. + } +} + +// EXIST: RED, GREEN, BLUE \ No newline at end of file diff --git a/idea/testData/completion/injava/JetEnumFields.kt b/idea/testData/completion/injava/JetEnumFields.kt new file mode 100644 index 00000000000..3edfe0655f6 --- /dev/null +++ b/idea/testData/completion/injava/JetEnumFields.kt @@ -0,0 +1,7 @@ +package kotlin.enums + +enum class KtEnumColor(val rgb : Int) { + RED : Color(0xFF0000) + GREEN : Color(0x00FF00) + BLUE : Color(0x0000FF) +} diff --git a/idea/testData/completion/injava/JetEnums.java b/idea/testData/completion/injava/JetEnums.java new file mode 100644 index 00000000000..0e5777d1e78 --- /dev/null +++ b/idea/testData/completion/injava/JetEnums.java @@ -0,0 +1,7 @@ +public class Testing { + public static void test() { + KtEnum + } +} + +// EXIST: KtEnumDirection, KtEnumColor, KtEnumList \ No newline at end of file diff --git a/idea/testData/completion/injava/JetEnums.kt b/idea/testData/completion/injava/JetEnums.kt new file mode 100644 index 00000000000..a83cb306f83 --- /dev/null +++ b/idea/testData/completion/injava/JetEnums.kt @@ -0,0 +1,31 @@ +package kotlin.enums + +enum class KtEnumDirection { + NORTH + SOUTH + WEST + EAST +} + +enum class KtEnumColor(val rgb : Int) { + RED : Color(0xFF0000) + GREEN : Color(0x00FF00) + BLUE : Color(0x0000FF) +} + +//enum class KtEnumProtocolState { +// WAITING { +// override fun signal() = TALKING +// } +// +// TALKING { +// override fun signal() = WAITING +// } +// +// abstract fun signal() : ProtocolState +//} + +enum class KtEnumList(val size : Int) { + Nil : List(0) + Cons(h : T, t : List) : List(t.size + 1) +} \ No newline at end of file diff --git a/idea/testData/completion/injava/JetFunction.java b/idea/testData/completion/injava/JetFunction.java index e69de29bb2d..d15719deb2e 100644 --- a/idea/testData/completion/injava/JetFunction.java +++ b/idea/testData/completion/injava/JetFunction.java @@ -0,0 +1,7 @@ +public class Testing { + public static void main(String[] args) { + kotlin.testing.namespace. + } +} + +// EXIST: someFun diff --git a/idea/testData/completion/injava/JetFunction.kt b/idea/testData/completion/injava/JetFunction.kt index e69de29bb2d..15a14df9ba9 100644 --- a/idea/testData/completion/injava/JetFunction.kt +++ b/idea/testData/completion/injava/JetFunction.kt @@ -0,0 +1,5 @@ +package kotlin.testing + +fun someFun() : Int { + return 12 +} \ No newline at end of file diff --git a/idea/testData/completion/injava/handlers/ClassAutoImport.after.java b/idea/testData/completion/injava/handlers/ClassAutoImport.after.java new file mode 100644 index 00000000000..269f360bf97 --- /dev/null +++ b/idea/testData/completion/injava/handlers/ClassAutoImport.after.java @@ -0,0 +1,7 @@ +import jettesting.ClassFromJet; + +public class Testing { + public static void test() { + ClassFromJet + } +} \ No newline at end of file diff --git a/idea/testData/completion/injava/handlers/ClassAutoImport.java b/idea/testData/completion/injava/handlers/ClassAutoImport.java new file mode 100644 index 00000000000..b65b8b26d08 --- /dev/null +++ b/idea/testData/completion/injava/handlers/ClassAutoImport.java @@ -0,0 +1,5 @@ +public class Testing { + public static void test() { + ClassFr + } +} \ No newline at end of file diff --git a/idea/testData/completion/injava/handlers/ClassAutoImport.kt b/idea/testData/completion/injava/handlers/ClassAutoImport.kt new file mode 100644 index 00000000000..c9151e568e3 --- /dev/null +++ b/idea/testData/completion/injava/handlers/ClassAutoImport.kt @@ -0,0 +1,4 @@ +package jettesting + +class ClassFromJet { +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/completion/JetInJavaCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/JetInJavaCompletionTest.java index 42d428c3c6a..fa6374adcc5 100644 --- a/idea/tests/org/jetbrains/jet/completion/JetInJavaCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/JetInJavaCompletionTest.java @@ -27,6 +27,14 @@ public class JetInJavaCompletionTest extends JetCompletionMultiTestBase { doFileTest(); } + public void testJetEnums() { + doFileTest(); + } + + public void testJetEnumFields() { + doFileTest(); + } + @Override protected String getTestDataPath() { return PluginTestCaseBase.getTestDataPathBase() + "/completion/injava/"; diff --git a/idea/tests/org/jetbrains/jet/completion/handlers/JavaCompletionHandlerTest.java b/idea/tests/org/jetbrains/jet/completion/handlers/JavaCompletionHandlerTest.java new file mode 100644 index 00000000000..6849817f3fb --- /dev/null +++ b/idea/tests/org/jetbrains/jet/completion/handlers/JavaCompletionHandlerTest.java @@ -0,0 +1,32 @@ +package org.jetbrains.jet.completion.handlers; + +import com.intellij.codeInsight.completion.CompletionTestCase; +import org.jetbrains.jet.plugin.PluginTestCaseBase; + +import java.io.File; + +/** + * @author Nikolay Krasko + */ +public class JavaCompletionHandlerTest extends CompletionTestCase { + + public void testClassAutoImport() { + doTest(); + } + + public void doTest() { + String fileName = getTestName(false); + try { + configureByFiles(null, fileName + ".java", fileName + ".kt"); + complete(2); + checkResultByFile(fileName + ".after.java"); + } catch (Exception e) { + throw new AssertionError(e); + } + } + + @Override + protected String getTestDataPath() { + return new File(PluginTestCaseBase.getTestDataPathBase(), "/completion/injava/handlers/").getPath() + File.separator; + } +} \ No newline at end of file