From 3d76ccc31a0903477ad35eadb01017611bbcc8e0 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 15 Oct 2009 15:59:13 +0100 Subject: [PATCH] ClassNameCompletionTest -> community --- .../completion/className/InPlainTextFile.txt | 1 + .../className/InPlainTextFile_after.txt | 1 + .../className/afterNewThrowable/after1.java | 5 + .../className/afterNewThrowable/after2.java | 5 + .../className/afterNewThrowable/before1.java | 5 + .../className/afterNewThrowable/before2.java | 5 + .../source/OurException.java | 3 + .../source/OurNotException.java | 6 + .../className/importAfterNew/after1.java | 7 + .../className/importAfterNew/after2.java | 7 + .../className/importAfterNew/before1.java | 5 + .../className/importAfterNew/before2.java | 5 + .../importAfterNew/source/pack/AClass.java | 4 + .../source/pack/WithInnerAClass.java | 5 + .../className/java/BracesAfterNew.java | 5 + .../className/java/BracesAfterNew_after.java | 5 + .../className/java/CamelHumpPrefix.java | 8 + .../className/java/CamelHumpPrefix_after.java | 8 + .../className/java/DoubleStringBuffer.java | 5 + .../java/DoubleStringBuffer_after.java | 5 + .../className/java/ExcessParensAfterNew.java | 5 + .../java/ExcessParensAfterNew_after.java | 5 + ...aceReferenceExpressionWithTypeElement.java | 7 + ...erenceExpressionWithTypeElement_after.java | 9 + .../className/java/ReuseParensAfterNew.java | 7 + .../java/ReuseParensAfterNew_after.java | 7 + .../java/Annotation-result.java | 8 + .../java/Annotation-source.java | 8 + .../java/ExtraSpace-result.java | 8 + .../java/ExtraSpace-source.java | 6 + .../InCommentWithPackagePrefix-result.java | 6 + .../InCommentWithPackagePrefix-source.java | 6 + .../java/InStaticImport-result.java | 8 + .../java/InStaticImport-source.java | 8 + .../QualifyNameOnSecondCompletion-result.java | 4 + .../QualifyNameOnSecondCompletion-source.java | 4 + .../java/implements2-result.java | 3 + .../java/implements2-source.java | 3 + .../java/implements3-result.java | 3 + .../java/implements3-source.java | 3 + .../java/methodCall-result.java | 5 + .../java/methodCall-source.java | 5 + .../java/methodCall1-result.java | 5 + .../java/methodCall1-source.java | 5 + .../nameCompletion/java/source/empty.txt | 0 .../nameCompletion/java/test1-result.java | 3 + .../nameCompletion/java/test1-source.java | 3 + .../nameCompletion/java/test10-result.java | 5 + .../nameCompletion/java/test10-source.java | 5 + .../nameCompletion/java/test11-result.java | 5 + .../nameCompletion/java/test11-source.java | 5 + .../nameCompletion/java/test12-result.java | 7 + .../nameCompletion/java/test12-source.java | 7 + .../nameCompletion/java/test13-result.java | 9 + .../nameCompletion/java/test13-source.java | 9 + .../nameCompletion/java/test2-result.java | 5 + .../nameCompletion/java/test2-source.java | 5 + .../nameCompletion/java/test3-result.java | 3 + .../nameCompletion/java/test3-source.java | 3 + .../nameCompletion/java/test4-result.java | 3 + .../nameCompletion/java/test4-source.java | 3 + .../nameCompletion/java/test7-result.java | 5 + .../nameCompletion/java/test7-source.java | 5 + .../nameCompletion/java/test8-result.java | 5 + .../nameCompletion/java/test8-source.java | 5 + .../nameCompletion/java/test9-result.java | 3 + .../nameCompletion/java/test9-source.java | 3 + .../nameCompletion/java/test9_2-result.java | 5 + .../nameCompletion/java/test9_2-source.java | 5 + .../nameCompletion/java/test9_3-result.java | 8 + .../nameCompletion/java/test9_3-source.java | 8 + .../nameCompletion/java/varType-result.java | 5 + .../nameCompletion/java/varType-source.java | 5 + .../completion/ClassNameCompletionTest.java | 239 ++++++++++++++++++ 74 files changed, 619 insertions(+) create mode 100644 java/java-tests/testData/codeInsight/completion/className/InPlainTextFile.txt create mode 100644 java/java-tests/testData/codeInsight/completion/className/InPlainTextFile_after.txt create mode 100644 java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after1.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after2.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before1.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before2.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurException.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurNotException.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/importAfterNew/after1.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/importAfterNew/after2.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/importAfterNew/before1.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/importAfterNew/before2.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/AClass.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/WithInnerAClass.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew_after.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix_after.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer_after.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew_after.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement_after.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew_after.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/source/empty.txt create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-source.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-result.java create mode 100644 java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-source.java create mode 100644 java/java-tests/testSrc/com/intellij/codeInsight/completion/ClassNameCompletionTest.java diff --git a/java/java-tests/testData/codeInsight/completion/className/InPlainTextFile.txt b/java/java-tests/testData/codeInsight/completion/className/InPlainTextFile.txt new file mode 100644 index 000000000000..d64e015fd832 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/InPlainTextFile.txt @@ -0,0 +1 @@ +abc = StrinBui \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/InPlainTextFile_after.txt b/java/java-tests/testData/codeInsight/completion/className/InPlainTextFile_after.txt new file mode 100644 index 000000000000..9a2f68198f96 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/InPlainTextFile_after.txt @@ -0,0 +1 @@ +abc = java.lang.StringBuilder \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after1.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after1.java new file mode 100644 index 000000000000..0bdece1590a7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after1.java @@ -0,0 +1,5 @@ +class A{ + void foo() { + throw new OurException() + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after2.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after2.java new file mode 100644 index 000000000000..42685a972185 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/after2.java @@ -0,0 +1,5 @@ +class A{ + void foo() { + throw new OurNotException.InnerException() + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before1.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before1.java new file mode 100644 index 000000000000..a1a58792f36f --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before1.java @@ -0,0 +1,5 @@ +class A{ + void foo() { + throw new Our + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before2.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before2.java new file mode 100644 index 000000000000..b2d362b42b16 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/before2.java @@ -0,0 +1,5 @@ +class A{ + void foo() { + throw new Inner + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurException.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurException.java new file mode 100644 index 000000000000..902a65a66931 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurException.java @@ -0,0 +1,3 @@ +public class OurException extends Throwable{ + +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurNotException.java b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurNotException.java new file mode 100644 index 000000000000..cd77e0781fba --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/afterNewThrowable/source/OurNotException.java @@ -0,0 +1,6 @@ +public class OurNotException { + public static class InnerException extends Throwable{ + } + public static class InnerNonException{ + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/after1.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/after1.java new file mode 100644 index 000000000000..e97c0f13e918 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/after1.java @@ -0,0 +1,7 @@ +import pack.AClass; + +public class Test1 { + public void foo() { + new AClass() + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/after2.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/after2.java new file mode 100644 index 000000000000..1c7cb6f6f2dc --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/after2.java @@ -0,0 +1,7 @@ +import pack.WithInnerAClass; + +public class Test1 { + public void foo() { + new WithInnerAClass() + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/before1.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/before1.java new file mode 100644 index 000000000000..7c418f81e585 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/before1.java @@ -0,0 +1,5 @@ +public class Test1 { + public void foo() { + new ACl + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/before2.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/before2.java new file mode 100644 index 000000000000..0bb94fb51082 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/before2.java @@ -0,0 +1,5 @@ +public class Test1 { + public void foo() { + new WithInnerACl + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/AClass.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/AClass.java new file mode 100644 index 000000000000..0e67a315a1ae --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/AClass.java @@ -0,0 +1,4 @@ +package pack; + +public class AClass{ +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/WithInnerAClass.java b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/WithInnerAClass.java new file mode 100644 index 000000000000..1fc72b94e82f --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/importAfterNew/source/pack/WithInnerAClass.java @@ -0,0 +1,5 @@ +package pack; + +public class WithInnerAClass{ + public static class Inner{} +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew.java b/java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew.java new file mode 100644 index 000000000000..74cdd5a36cca --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew.java @@ -0,0 +1,5 @@ +class FooFooFooFooFoo { + { + Object[] a = new FFFFF[]; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew_after.java b/java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew_after.java new file mode 100644 index 000000000000..c91f2badc51f --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/BracesAfterNew_after.java @@ -0,0 +1,5 @@ +class FooFooFooFooFoo { + { + Object[] a = new FooFooFooFooFoo[]; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix.java b/java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix.java new file mode 100644 index 000000000000..77dd4cb78728 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix.java @@ -0,0 +1,8 @@ +class LifeUniverseEverythingEntity {} +class LifeUniverseEverythingManager {} + +class FooFooFooFooFoo { + { + LUEv + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix_after.java b/java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix_after.java new file mode 100644 index 000000000000..3c6da70162b0 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/CamelHumpPrefix_after.java @@ -0,0 +1,8 @@ +class LifeUniverseEverythingEntity {} +class LifeUniverseEverythingManager {} + +class FooFooFooFooFoo { + { + LifeUniverseEverything + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer.java b/java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer.java new file mode 100644 index 000000000000..d252ff42696f --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer.java @@ -0,0 +1,5 @@ +class FooFooFooFooFoo { + { + StringBuf + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer_after.java b/java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer_after.java new file mode 100644 index 000000000000..701740b93999 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/DoubleStringBuffer_after.java @@ -0,0 +1,5 @@ +class FooFooFooFooFoo { + { + StringBuffer + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew.java b/java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew.java new file mode 100644 index 000000000000..175f0332f676 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew.java @@ -0,0 +1,5 @@ +class FooFooFooFooFoo { + { + new FFFFF(); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew_after.java b/java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew_after.java new file mode 100644 index 000000000000..795f16162093 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/ExcessParensAfterNew_after.java @@ -0,0 +1,5 @@ +class FooFooFooFooFoo { + { + new FooFooFooFooFoo(); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement.java b/java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement.java new file mode 100644 index 000000000000..e2de8f6bb2ee --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement.java @@ -0,0 +1,7 @@ +class FooFooFooFooFoo { + { + int a = 0; + ABCD + foo(new String[]{"a"}, 1); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement_after.java b/java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement_after.java new file mode 100644 index 000000000000..fb7fee5843a4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/ReplaceReferenceExpressionWithTypeElement_after.java @@ -0,0 +1,9 @@ +import foo.bar.ABCDEF; + +class FooFooFooFooFoo { + { + int a = 0; + ABCDEF + foo(new String[]{"a"}, 1); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew.java b/java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew.java new file mode 100644 index 000000000000..45188631c008 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew.java @@ -0,0 +1,7 @@ +class FooFooFooFooFoo { + { + new FFFFF(x); + } + + FooFooFooFooFoo(int x) {} +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew_after.java b/java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew_after.java new file mode 100644 index 000000000000..ae09c0a4720e --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/java/ReuseParensAfterNew_after.java @@ -0,0 +1,7 @@ +class FooFooFooFooFoo { + { + new FooFooFooFooFoo(x); + } + + FooFooFooFooFoo(int x) {} +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-result.java new file mode 100644 index 000000000000..ded584ee78c4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-result.java @@ -0,0 +1,8 @@ +@interface Column { + String name(); +} + +@Column() +@interface Annotation { + +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-source.java new file mode 100644 index 000000000000..f53e0a206de2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/Annotation-source.java @@ -0,0 +1,8 @@ +@interface Column { + String name(); +} + +Colu +@interface Annotation { + +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-result.java new file mode 100644 index 000000000000..9f8533ab0105 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-result.java @@ -0,0 +1,8 @@ +import java.io.FileInputStream; + +class Main { + + public static void main(String[] args) { + equals(FileInputStreamaaa); + } +} diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-source.java new file mode 100644 index 000000000000..460b3187c41e --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/ExtraSpace-source.java @@ -0,0 +1,6 @@ +class Main { + + public static void main(String[] args) { + equals(FileInputStreaaaa); + } +} diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-result.java new file mode 100644 index 000000000000..d638244266b0 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-result.java @@ -0,0 +1,6 @@ +class Main { + + public static void main(String[] args) { + // java.io.FileInputStream + } +} diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-source.java new file mode 100644 index 000000000000..2ec9f64e6f7a --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InCommentWithPackagePrefix-source.java @@ -0,0 +1,6 @@ +class Main { + + public static void main(String[] args) { + // java.FileInputStrea + } +} diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-result.java new file mode 100644 index 000000000000..7f346c9b9357 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-result.java @@ -0,0 +1,8 @@ +import static java.io.FileInputStream + +class Main { + + public static void main(String[] args) { + equals(FileInputStreaaaa); + } +} diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-source.java new file mode 100644 index 000000000000..495354ad1412 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/InStaticImport-source.java @@ -0,0 +1,8 @@ +import static FileInpStre + +class Main { + + public static void main(String[] args) { + equals(FileInputStreaaaa); + } +} diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-result.java new file mode 100644 index 000000000000..e8eb3c9d4cbb --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-result.java @@ -0,0 +1,4 @@ +class Main { + + foo.bar.AxBxCxDxEx +} diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-source.java new file mode 100644 index 000000000000..090fcff202a4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/QualifyNameOnSecondCompletion-source.java @@ -0,0 +1,4 @@ +class Main { + + ABCDE +} diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-result.java new file mode 100644 index 000000000000..1a628e4455aa --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-result.java @@ -0,0 +1,3 @@ +class ZZZZZZ{} + +class A implements Foo, ZZZZZZ{} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-source.java new file mode 100644 index 000000000000..ce26da377ecb --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements2-source.java @@ -0,0 +1,3 @@ +class ZZZZZZ{} + +class A implements Foo, ZZZ{} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-result.java new file mode 100644 index 000000000000..b142aea5695f --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-result.java @@ -0,0 +1,3 @@ +class ZZZZZZ{} + +class A implements Foo \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-source.java new file mode 100644 index 000000000000..eabbf20bf44a --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/implements3-source.java @@ -0,0 +1,3 @@ +class ZZZZZZ{} + +class A implements Foo \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-result.java new file mode 100644 index 000000000000..28bc298dbaba --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-result.java @@ -0,0 +1,5 @@ +class MyClass1 { + { + MyClass1foo() + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-source.java new file mode 100644 index 000000000000..6bafef877e63 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall-source.java @@ -0,0 +1,5 @@ +class MyClass1 { + { + MClafoo() + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-result.java new file mode 100644 index 000000000000..6c17d3461847 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-result.java @@ -0,0 +1,5 @@ +class MyClass1 { + { + MyClass1f.oo() + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-source.java new file mode 100644 index 000000000000..4e12ce2f3136 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/methodCall1-source.java @@ -0,0 +1,5 @@ +class MyClass1 { + { + MClaf.oo() + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/source/empty.txt b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/source/empty.txt new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-result.java new file mode 100644 index 000000000000..3900746e74b9 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-result.java @@ -0,0 +1,3 @@ +class MyClass1 { + MyClass1 +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-source.java new file mode 100644 index 000000000000..2e7593b0a836 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test1-source.java @@ -0,0 +1,3 @@ +class MyClass1 { + MyCla +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-result.java new file mode 100644 index 000000000000..ee551ef1cd97 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-result.java @@ -0,0 +1,5 @@ +package aaa; +@interface MyObjectType {} +class A { + aaa.MyObjectType +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-source.java new file mode 100644 index 000000000000..79ed602bf691 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test10-source.java @@ -0,0 +1,5 @@ +package aaa; +@interface MyObjectType {} +class A { + aaa.MyObj +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-result.java new file mode 100644 index 000000000000..9911ae393a0d --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-result.java @@ -0,0 +1,5 @@ +package aaa; +@interface MyObjectType {} +class A { + MyObjectType +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-source.java new file mode 100644 index 000000000000..d57e06387c4e --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test11-source.java @@ -0,0 +1,5 @@ +package aaa; +@interface MyObjectType {} +class A { + MyObj +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-result.java new file mode 100644 index 000000000000..799d8e20c0dd --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-result.java @@ -0,0 +1,7 @@ +package aaa; +@interface MyObjectType {} +class A { + void aaa() { + getClass().getAnnotations(MyObjectType) + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-source.java new file mode 100644 index 000000000000..04c90f859011 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test12-source.java @@ -0,0 +1,7 @@ +package aaa; +@interface MyObjectType {} +class A { + void aaa() { + getClass().getAnnotations(MyObject) + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-result.java new file mode 100644 index 000000000000..912ce2457129 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-result.java @@ -0,0 +1,9 @@ +package aaa; +import java.lang.annotation.*; + +@Retention(RetentionPolicy.RUNTIME) +@interface MyObjectType {} + +class A { + MyObjectType +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-source.java new file mode 100644 index 000000000000..a6ac202ac289 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test13-source.java @@ -0,0 +1,9 @@ +package aaa; +import java.lang.annotation.*; + +@Retention(RetentionPolicy.RUNTIME) +@interface MyObjectType {} + +class A { + My +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-result.java new file mode 100644 index 000000000000..9917feba3570 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-result.java @@ -0,0 +1,5 @@ +class Test1 { + public void foo(){ + Test1 + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-source.java new file mode 100644 index 000000000000..1f49be06635e --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test2-source.java @@ -0,0 +1,5 @@ +class Test1 { + public void foo(){ + Tes + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-result.java new file mode 100644 index 000000000000..43a6e523f6ad --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-result.java @@ -0,0 +1,3 @@ +class ZZZZZZ{} + +class A implements ZZZZZZ{} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-source.java new file mode 100644 index 000000000000..586d2b4fc251 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test3-source.java @@ -0,0 +1,3 @@ +class ZZZZZZ{} + +class A implements ZZZ{} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-result.java new file mode 100644 index 000000000000..03349ac8acfd --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-result.java @@ -0,0 +1,3 @@ +interface ZZZZZZ{} + +class A implements ZZZZZZ{} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-source.java new file mode 100644 index 000000000000..b0f9d694fe5d --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test4-source.java @@ -0,0 +1,3 @@ +interface ZZZZZZ{} + +class A implements ZZZ{} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-result.java new file mode 100644 index 000000000000..c327cb63a4ec --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-result.java @@ -0,0 +1,5 @@ +class MyObject {} +@interface MyObjectType {} + +@MyObjectType +class A {} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-source.java new file mode 100644 index 000000000000..8da28b8dc625 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test7-source.java @@ -0,0 +1,5 @@ +class MyObject {} +@interface MyObjectType {} + +@MyObj +class A {} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-result.java new file mode 100644 index 000000000000..32b1babcfcd4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-result.java @@ -0,0 +1,5 @@ +@interface MyObjectType {} + +class A { + void aaa(@MyObjectType); +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-source.java new file mode 100644 index 000000000000..52800af34745 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test8-source.java @@ -0,0 +1,5 @@ +@interface MyObjectType {} + +class A { + void aaa(@MyObj); +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-result.java new file mode 100644 index 000000000000..14466d15e104 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-result.java @@ -0,0 +1,3 @@ +import MyObjectType +@interface MyObjectType {} +class A {} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-source.java new file mode 100644 index 000000000000..9e26d52c0411 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9-source.java @@ -0,0 +1,3 @@ +import MyObj +@interface MyObjectType {} +class A {} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-result.java new file mode 100644 index 000000000000..7420dcbf38b4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-result.java @@ -0,0 +1,5 @@ +import MyObjectType +@interface MyObjectType { + int param(); +} +class A {} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-source.java new file mode 100644 index 000000000000..b399e8b72f97 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_2-source.java @@ -0,0 +1,5 @@ +import MyObj +@interface MyObjectType { + int param(); +} +class A {} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-result.java new file mode 100644 index 000000000000..62842b760f4c --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-result.java @@ -0,0 +1,8 @@ +@interface MyObjectType { + int param(); +} +class A { + void foo() { + MyObjectType + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-source.java new file mode 100644 index 000000000000..59d95b3fa999 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/test9_3-source.java @@ -0,0 +1,8 @@ +@interface MyObjectType { + int param(); +} +class A { + void foo() { + MyOb + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-result.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-result.java new file mode 100644 index 000000000000..6c17d3461847 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-result.java @@ -0,0 +1,5 @@ +class MyClass1 { + { + MyClass1f.oo() + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-source.java b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-source.java new file mode 100644 index 000000000000..4e12ce2f3136 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/className/nameCompletion/java/varType-source.java @@ -0,0 +1,5 @@ +class MyClass1 { + { + MClaf.oo() + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/ClassNameCompletionTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/completion/ClassNameCompletionTest.java new file mode 100644 index 000000000000..c88a10e44616 --- /dev/null +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/ClassNameCompletionTest.java @@ -0,0 +1,239 @@ +package com.intellij.codeInsight.completion; + +import com.intellij.JavaTestUtil; +import com.intellij.codeInsight.CodeInsightSettings; +import com.intellij.codeInsight.lookup.Lookup; +import com.intellij.codeInsight.lookup.LookupManager; +import com.intellij.codeInsight.lookup.impl.TestLookupManager; +import com.intellij.openapi.module.JavaModuleType; +import com.intellij.openapi.module.Module; +import com.intellij.openapi.module.ModuleManager; +import com.intellij.openapi.projectRoots.Sdk; +import com.intellij.openapi.projectRoots.impl.JavaSdkImpl; +import com.intellij.testFramework.PsiTestUtil; + +import java.io.File; + +public class ClassNameCompletionTest extends CompletionTestCase { + private static final String BASE_PATH = "/codeInsight/completion/className/"; + protected boolean myOldSetting; + + protected void setUp() throws Exception { + super.setUp(); + setType(CompletionType.CLASS_NAME); + myOldSetting = CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CLASS_NAME_COMPLETION; + CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CLASS_NAME_COMPLETION = true; + } + + @Override + protected String getTestDataPath() { + return JavaTestUtil.getJavaTestDataPath(); + } + + protected Sdk getTestProjectJdk() { + return JavaSdkImpl.getMockJdk15("java 1.5"); + } + + protected void tearDown() throws Exception { + CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CLASS_NAME_COMPLETION = myOldSetting; + super.tearDown(); + } + + public void testImportAfterNew() throws Exception { + String path = BASE_PATH + "/importAfterNew"; + + configureByFile(path + "/before1.java"); + checkResultByFile(path + "/after1.java"); + + configureByFile(path + "/before2.java"); + checkResultByFile(path + "/after2.java"); + } + + public void testAfterNewThrowable1() throws Exception { + String path = BASE_PATH + "/afterNewThrowable"; + + configureByFile(path + "/before1.java"); + checkResultByFile(path + "/after1.java"); + } + + public void testAfterNewThrowable2() throws Exception { + String path = BASE_PATH + "/afterNewThrowable"; + + configureByFile(path + "/before2.java"); + checkResultByFile(path + "/after2.java"); + } + + public void testExcessParensAfterNew() throws Throwable { doTest(); } + + public void testReuseParensAfterNew() throws Throwable { doTest(); } + + public void testBracesAfterNew() throws Throwable { doTest(); } + + public void testInPlainTextFile() throws Throwable { + configureByFile(BASE_PATH + getTestName(false) + ".txt"); + checkResultByFile(BASE_PATH + getTestName(false) + "_after.txt"); + } + + public void testDoubleStringBuffer() throws Throwable { + createClass("package java.lang; public class StringBuffer {}"); + doTest(); + assertNull(myItems); + } + + public void testReplaceReferenceExpressionWithTypeElement() throws Throwable { + createClass("package foo.bar; public class ABCDEF {}"); + doTest(); + } + + public void testCamelHumpPrefix() throws Throwable { + String path = BASE_PATH + "/java/"; + configureByFile(path + getTestName(false) + ".java"); + complete(); + checkResultByFile(path + getTestName(false) + "_after.java"); + assertEquals(2, myItems.length); + } + + private void doTest() throws Exception { + String path = BASE_PATH + "/java/"; + configureByFile(path + getTestName(false) + ".java"); + checkResultByFile(path + getTestName(false) + "_after.java"); + } + + public void testNameCompletionJava() throws Exception { + String path = BASE_PATH + "/nameCompletion/java"; + configureByFile(path + "/test1-source.java"); + performAction(); + checkResultByFile(path + "/test1-result.java"); + configureByFile(path + "/test2-source.java"); + performAction(); + checkResultByFile(path + "/test2-result.java"); + } + + public void testImplementsFiltering1() throws Exception{ + final String path = BASE_PATH + "/nameCompletion/java"; + configureByFile(path + "/test4-source.java"); + performAction(); + checkResultByFile(path + "/test4-result.java"); + } + + public void testImplementsFiltering2() throws Exception{ + final String path = BASE_PATH + "/nameCompletion/java"; + configureByFile(path + "/test3-source.java"); + performAction(); + checkResultByFile(path + "/test3-result.java"); + + configureByFile(path + "/implements2-source.java"); + performAction(); + checkResultByFile(path + "/implements2-result.java"); + + configureByFile(path + "/implements3-source.java"); + performAction(); + checkResultByFile(path + "/implements3-result.java"); + } + + protected boolean clearModelBeforeConfiguring() { + return "testAnnotationFiltering".equals(getName()); + } + + public void testAnnotationFiltering() throws Exception{ + final String path = BASE_PATH + "/nameCompletion/java"; + configureByFile(path + "/test7-source.java"); + performAction(); + checkResultByFile(path + "/test7-result.java"); + + configureByFile(path + "/test8-source.java"); + performAction(); + checkResultByFile(path + "/test8-result.java"); + + configureByFile(path + "/test9-source.java"); + performAction(); + checkResultByFile(path + "/test9-result.java"); + + configureByFile(path + "/test9_2-source.java"); + performAction(); + checkResultByFile(path + "/test9_2-result.java"); + + configureByFile(path + "/test9_3-source.java"); + performAction(); + checkResultByFile(path + "/test9_3-result.java"); + + configureByFile(path + "/test11-source.java"); + performAction(); + checkResultByFile(path + "/test11-result.java"); + + configureByFile(path + "/test10-source.java"); + performAction(); + checkResultByFile(path + "/test10-result.java"); + + configureByFile(path + "/test12-source.java"); + performAction(); + checkResultByFile(path + "/test12-result.java"); + + configureByFile(path + "/test13-source.java"); + performAction(); + checkResultByFile(path + "/test13-result.java"); + } + + public void testInMethodCall() throws Throwable { + final String path = BASE_PATH + "/nameCompletion/java"; + configureByFile(path + "/methodCall-source.java"); + performAction(); + checkResultByFile(path + "/methodCall-result.java"); + } + + public void testInMethodCallQualifier() throws Throwable { + final String path = BASE_PATH + "/nameCompletion/java"; + configureByFile(path + "/methodCall1-source.java"); + performAction(); + checkResultByFile(path + "/methodCall1-result.java"); + } + + public void testInVariableDeclarationType() throws Throwable { + final String path = BASE_PATH + "/nameCompletion/java"; + configureByFile(path + "/varType-source.java"); + performAction(); + checkResultByFile(path + "/varType-result.java"); + } + + public void testExtraSpace() throws Throwable { doJavaTest(); } + + public void testAnnotation() throws Throwable { doJavaTest(); } + + public void testInStaticImport() throws Throwable { doJavaTest(); } + + public void testInCommentWithPackagePrefix() throws Throwable { doJavaTest(); } + + private void doJavaTest() throws Exception { + final String path = BASE_PATH + "/nameCompletion/java"; + configureByFile(path + "/" + getTestName(false) + "-source.java"); + performAction(); + checkResultByFile(path + "/" + getTestName(false) + "-result.java"); + } + + protected void configureByFile(String filePath) throws Exception { + final String path = getTestDataPath() + new File(filePath).getParent() + "/source"; + if (new File(path).exists()) { + PsiTestUtil.createTestProjectStructure(myProject, myModule, path, myFilesToDelete); + } + super.configureByFile(filePath); + } + + private void performAction() { + CodeCompletionHandlerBase handler = new CodeCompletionHandlerBase(CompletionType.CLASS_NAME); + handler.invoke(myProject, myEditor, myFile); + final LookupManager instance = LookupManager.getInstance(myProject); + if(instance instanceof TestLookupManager){ + final TestLookupManager testLookupManager = ((TestLookupManager)instance); + if(testLookupManager.getActiveLookup() != null) + testLookupManager.forceSelection(Lookup.NORMAL_SELECT_CHAR, 0); + } + } + + public void testQualifyNameOnSecondCompletion() throws Throwable { + final Module module = ModuleManager.getInstance(getProject()).newModule("second.iml", new JavaModuleType()); + createClass(module, "package foo.bar; class AxBxCxDxEx {}"); + configureByFileNoCompletion(BASE_PATH + "/nameCompletion/java/" + getTestName(false) + "-source.java"); + new CodeCompletionHandlerBase(CompletionType.CLASS_NAME).invokeCompletion(myProject, myEditor, myFile, 2); + checkResultByFile(BASE_PATH + "/nameCompletion/java/" + getTestName(false) + "-result.java"); + } +}