diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/ArrayMethodName-result.java b/java/java-tests/testData/codeInsight/completion/variables/locals/ArrayMethodName-result.java new file mode 100644 index 000000000000..4cfa2514d831 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/ArrayMethodName-result.java @@ -0,0 +1,3 @@ +interface Abc { + String[] getStrings +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/ArrayMethodName.java b/java/java-tests/testData/codeInsight/completion/variables/locals/ArrayMethodName.java new file mode 100644 index 000000000000..3632f2bd3ce9 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/ArrayMethodName.java @@ -0,0 +1,3 @@ +interface Abc { + String[] get +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion1-result.java b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion1-result.java new file mode 100644 index 000000000000..a0bfcf928527 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion1-result.java @@ -0,0 +1,4 @@ +class Zloboglas{} +class A{ + Zloboglas zloboglas +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion1.java b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion1.java new file mode 100644 index 000000000000..21fd10d09bbc --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion1.java @@ -0,0 +1,4 @@ +class Zloboglas{} +class A{ + Zloboglas z +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion2-result.java b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion2-result.java new file mode 100644 index 000000000000..84f34ea965b5 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion2-result.java @@ -0,0 +1,4 @@ +class Zloboglas{} +class A{ + Zloboglas myZloboglas +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion2.java b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion2.java new file mode 100644 index 000000000000..ee3a6400145b --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion2.java @@ -0,0 +1,4 @@ +class Zloboglas{} +class A{ + Zloboglas my +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion3-result.java b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion3-result.java new file mode 100644 index 000000000000..3b49cf409d11 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion3-result.java @@ -0,0 +1,7 @@ +class Zloboglas{} +class B { + private Zloboglas myZloboglas; +} +class A extends B { + private Zloboglas myZloboglas +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion3.java b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion3.java new file mode 100644 index 000000000000..dcac40d7348e --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/FieldNameCompletion3.java @@ -0,0 +1,7 @@ +class Zloboglas{} +class B { + private Zloboglas myZloboglas; +} +class A extends B { + private Zloboglas my +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/InputMethodEventVariable.java b/java/java-tests/testData/codeInsight/completion/variables/locals/InputMethodEventVariable.java new file mode 100644 index 000000000000..bf41d2c827c7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/InputMethodEventVariable.java @@ -0,0 +1,5 @@ +class TestSource1{ + public void foo(){ + java.awt.event.InputMethodEvent i + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/InputMethodEventVariable_after.java b/java/java-tests/testData/codeInsight/completion/variables/locals/InputMethodEventVariable_after.java new file mode 100644 index 000000000000..f62eab3785f0 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/InputMethodEventVariable_after.java @@ -0,0 +1,5 @@ +class TestSource1{ + public void foo(){ + java.awt.event.InputMethodEvent inputMethodEvent + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/ObjectVariable.java b/java/java-tests/testData/codeInsight/completion/variables/locals/ObjectVariable.java new file mode 100644 index 000000000000..69db062e3506 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/ObjectVariable.java @@ -0,0 +1,5 @@ +class TestSource1{ + public void foo(){ + Object ob + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/ObjectVariable_after.java b/java/java-tests/testData/codeInsight/completion/variables/locals/ObjectVariable_after.java new file mode 100644 index 000000000000..b05b7b8005e3 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/ObjectVariable_after.java @@ -0,0 +1,5 @@ +class TestSource1{ + public void foo(){ + Object object + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/StringVariable.java b/java/java-tests/testData/codeInsight/completion/variables/locals/StringVariable.java new file mode 100644 index 000000000000..4f0c1f57f42e --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/StringVariable.java @@ -0,0 +1,5 @@ +class TestSource1{ + public void foo(){ + String st + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/StringVariable_after.java b/java/java-tests/testData/codeInsight/completion/variables/locals/StringVariable_after.java new file mode 100644 index 000000000000..c9aa5b8184b9 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/StringVariable_after.java @@ -0,0 +1,5 @@ +class TestSource1{ + public void foo(){ + String string + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestFieldOutOfAnonymous.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestFieldOutOfAnonymous.java new file mode 100644 index 000000000000..906843ad80b9 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestFieldOutOfAnonymous.java @@ -0,0 +1,19 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource9 { + private int aField; + public void foo() { + Runnable r = new Runnable() { + public void run() { + int x = aF; + } + }; + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestFieldOutOfAnonymousResult.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestFieldOutOfAnonymousResult.java new file mode 100644 index 000000000000..db0df9e871f2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestFieldOutOfAnonymousResult.java @@ -0,0 +1,19 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource9 { + private int aField; + public void foo() { + Runnable r = new Runnable() { + public void run() { + int x = aField; + } + }; + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult1.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult1.java new file mode 100644 index 000000000000..decbf7727fc8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult1.java @@ -0,0 +1,5 @@ +class TestSource1{ + public void foo(){ + int abc = 0, bac = abc + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult2.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult2.java new file mode 100644 index 000000000000..a00a590dda1d --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult2.java @@ -0,0 +1,15 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:07:18 PM + * To change this template use Options | File Templates. + */ +public class TestSource2 { + int aaa = 0; + public void foo(){ + int abc = 0, bac = a + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult3.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult3.java new file mode 100644 index 000000000000..cb35d20c32b3 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult3.java @@ -0,0 +1,15 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource3 { + int aaa = 0; + public static void foo(){ + int abc = 0, bac = abc + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult4.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult4.java new file mode 100644 index 000000000000..cc417f518b5d --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult4.java @@ -0,0 +1,18 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource4 { + int aaa = 0; + public static void foo(){ + int abc = 0; + class Inner1{ + int sbe=abc + } + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult5.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult5.java new file mode 100644 index 000000000000..51c77012b015 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult5.java @@ -0,0 +1,22 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource5 { + + public static class inner{ + static int aaa = 0; + public void foo(){ + int abc = 0; + } + + static class Inner1{ + static int sbe = aaa + } + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult6.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult6.java new file mode 100644 index 000000000000..a4355d9ad54e --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult6.java @@ -0,0 +1,13 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource6 { + int aaa = bbb + int bbb = 0; +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult7.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult7.java new file mode 100644 index 000000000000..b045f4ca2e3c --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult7.java @@ -0,0 +1,15 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource7 { + public void foo(){ + int aaa = b + int bbb = 0; + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult8.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult8.java new file mode 100644 index 000000000000..4cf26386bab1 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult8.java @@ -0,0 +1,15 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource8 { + static { + int aaa = b + int bbb = 0; + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult9.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult9.java new file mode 100644 index 000000000000..31fc0d514b12 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestResult9.java @@ -0,0 +1,15 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource9 { + static { + int bbb = 0; + int aaa = bbb + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource1.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource1.java new file mode 100644 index 000000000000..b9ded1e380bf --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource1.java @@ -0,0 +1,5 @@ +class TestSource1{ + public void foo(){ + int abc = 0, bac = a + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource2.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource2.java new file mode 100644 index 000000000000..a00a590dda1d --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource2.java @@ -0,0 +1,15 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:07:18 PM + * To change this template use Options | File Templates. + */ +public class TestSource2 { + int aaa = 0; + public void foo(){ + int abc = 0, bac = a + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource3.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource3.java new file mode 100644 index 000000000000..3958c5b3a11e --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource3.java @@ -0,0 +1,15 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource3 { + int aaa = 0; + public static void foo(){ + int abc = 0, bac = a + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource4.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource4.java new file mode 100644 index 000000000000..784a85fa10cf --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource4.java @@ -0,0 +1,18 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource4 { + int aaa = 0; + public static void foo(){ + int abc = 0; + class Inner1{ + int sbe=a + } + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource5.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource5.java new file mode 100644 index 000000000000..ffd4fdfcdeb0 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource5.java @@ -0,0 +1,22 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource5 { + + public static class inner{ + static int aaa = 0; + public void foo(){ + int abc = 0; + } + + static class Inner1{ + static int sbe = a + } + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource6.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource6.java new file mode 100644 index 000000000000..809e34a5553a --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource6.java @@ -0,0 +1,13 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource6 { + int aaa = b + int bbb = 0; +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource7.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource7.java new file mode 100644 index 000000000000..b045f4ca2e3c --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource7.java @@ -0,0 +1,15 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource7 { + public void foo(){ + int aaa = b + int bbb = 0; + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource8.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource8.java new file mode 100644 index 000000000000..4cf26386bab1 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource8.java @@ -0,0 +1,15 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource8 { + static { + int aaa = b + int bbb = 0; + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource9.java b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource9.java new file mode 100644 index 000000000000..991c3cf72c65 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/TestSource9.java @@ -0,0 +1,15 @@ +package codeInsight.completion.variables.locals; + +/** + * Created by IntelliJ IDEA. + * User: igork + * Date: Nov 25, 2002 + * Time: 3:10:08 PM + * To change this template use Options | File Templates. + */ +public class TestSource9 { + static { + int bbb = 0; + int aaa = b + } +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/UnresolvedMethodName.java b/java/java-tests/testData/codeInsight/completion/variables/locals/UnresolvedMethodName.java new file mode 100644 index 000000000000..c5df78efa3d2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/UnresolvedMethodName.java @@ -0,0 +1,7 @@ +public class Foo { + public void a() { + int i = createStylesheetCombobox(); + } + + private int cre +} diff --git a/java/java-tests/testData/codeInsight/completion/variables/locals/test2-lst.txt b/java/java-tests/testData/codeInsight/completion/variables/locals/test2-lst.txt new file mode 100644 index 000000000000..2fcd69459a2c --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/variables/locals/test2-lst.txt @@ -0,0 +1,2 @@ +abc +aaa \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/VariablesCompletionTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/completion/VariablesCompletionTest.java new file mode 100644 index 000000000000..292cc060b0b7 --- /dev/null +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/VariablesCompletionTest.java @@ -0,0 +1,146 @@ +package com.intellij.codeInsight.completion; + +import com.intellij.JavaTestUtil; +import com.intellij.openapi.fileEditor.FileDocumentManager; +import com.intellij.openapi.util.text.LineTokenizer; +import com.intellij.openapi.vfs.LocalFileSystem; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.codeStyle.CodeStyleSettings; +import com.intellij.psi.codeStyle.CodeStyleSettingsManager; + +import java.io.IOException; + +public class VariablesCompletionTest extends CompletionTestCase { + public static final String FILE_PREFIX = "/codeInsight/completion/variables/"; + + @Override + protected String getTestDataPath() { + return JavaTestUtil.getJavaTestDataPath(); + } + + public void testObjectVariable() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + getTestName(false) + ".java"); + checkResultByFile(FILE_PREFIX + "locals/" + getTestName(false) + "_after.java"); + } + + public void testStringVariable() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + getTestName(false) + ".java"); + checkResultByFile(FILE_PREFIX + "locals/" + getTestName(false) + "_after.java"); + } + + public void testInputMethodEventVariable() throws Exception { + createClass("package java.awt.event; public interface InputMethodEvent {}"); + + configureByFile(FILE_PREFIX + "locals/" + getTestName(false) + ".java"); + checkResultByFile(FILE_PREFIX + "locals/" + getTestName(false) + "_after.java"); + } + + public void testLocals1() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "TestSource1.java"); + checkResultByFile(FILE_PREFIX + "locals/" + "TestResult1.java"); + } + + public void testLocals2() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "TestSource2.java"); + compareLookup(FILE_PREFIX + "locals/test2-lst.txt"); + checkResultByFile(FILE_PREFIX + "locals/" + "TestResult2.java"); + } + + public void testLocals3() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "TestSource3.java"); + checkResultByFile(FILE_PREFIX + "locals/" + "TestResult3.java"); + } + + public void testLocals4() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "TestSource4.java"); + checkResultByFile(FILE_PREFIX + "locals/" + "TestResult4.java"); + } + + public void testLocals5() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "TestSource5.java"); + checkResultByFile(FILE_PREFIX + "locals/" + "TestResult5.java"); + } + + public void testLocals6() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "TestSource6.java"); + checkResultByFile(FILE_PREFIX + "locals/" + "TestResult6.java"); + } + + public void testLocals7() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "TestSource7.java"); + checkResultByFile(FILE_PREFIX + "locals/" + "TestResult7.java"); + } + + public void testLocals8() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "TestSource8.java"); + checkResultByFile(FILE_PREFIX + "locals/" + "TestResult8.java"); + } + + public void testFieldNameCompletion1() throws Exception { + configureByFileNoCompletion(FILE_PREFIX + "locals/" + "FieldNameCompletion1.java"); + CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(myProject); + String oldPrefix = settings.FIELD_NAME_PREFIX; + settings.FIELD_NAME_PREFIX = "my"; + complete(); + settings.FIELD_NAME_PREFIX = oldPrefix; + checkResultByFile(FILE_PREFIX + "locals/" + "FieldNameCompletion1-result.java"); + } + + public void testFieldNameCompletion2() throws Exception { + configureByFileNoCompletion(FILE_PREFIX + "locals/" + "FieldNameCompletion2.java"); + CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(myProject); + String oldPrefix = settings.FIELD_NAME_PREFIX; + settings.FIELD_NAME_PREFIX = "my"; + complete(); + settings.FIELD_NAME_PREFIX = oldPrefix; + checkResultByFile(FILE_PREFIX + "locals/" + "FieldNameCompletion2-result.java"); + } + + public void testFieldNameCompletion3() throws Exception { + configureByFileNoCompletion(FILE_PREFIX + "locals/" + "FieldNameCompletion3.java"); + CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(myProject); + String oldPrefix = settings.FIELD_NAME_PREFIX; + settings.FIELD_NAME_PREFIX = "my"; + complete(); + settings.FIELD_NAME_PREFIX = oldPrefix; + checkResultByFile(FILE_PREFIX + "locals/" + "FieldNameCompletion3-result.java"); + } + + public void testLocals9() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "TestSource9.java"); + checkResultByFile(FILE_PREFIX + "locals/" + "TestResult9.java"); + } + + public void testFieldOutOfAnonymous() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "TestFieldOutOfAnonymous.java"); + complete(); + checkResultByFile(FILE_PREFIX + "locals/" + "TestFieldOutOfAnonymousResult.java"); + } + + public void testUnresolvedMethodName() throws Exception { + configureByFile(FILE_PREFIX + "locals/" + "UnresolvedMethodName.java"); + complete(); + checkResultByFile(FILE_PREFIX + "locals/" + "UnresolvedMethodName.java"); + testByCount(2, "creAnInt", "createStylesheetCombobox"); + } + + public void testArrayMethodName() throws Throwable { + configureByFile(FILE_PREFIX + "locals/" + "ArrayMethodName.java"); + checkResultByFile(FILE_PREFIX + "locals/" + "ArrayMethodName-result.java"); + } + + protected void compareLookup(String fileName) throws IOException{ + String fullPath = getTestDataPath() + fileName; + VirtualFile result = LocalFileSystem.getInstance().findFileByPath(fullPath); + assertNotNull("file " + fullPath + " not found", result); + + + String[] strings = LineTokenizer.tokenize(FileDocumentManager.getInstance().getDocument(result).getCharsSequence(), false); + + assertNotNull(myItems); + for (int i = 0; i < myItems.length; i++) { + assertEquals(strings[i], myItems[i].toString()); + } + } + +}