fixture-based smart completion test

This commit is contained in:
peter
2012-03-30 20:27:27 +02:00
parent 7aaff37660
commit 96bbf8cbaf
@@ -1,84 +1,83 @@
package com.intellij.codeInsight.completion;
import com.intellij.JavaTestUtil;
import com.intellij.codeInsight.lookup.LookupManager;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase;
@SuppressWarnings({"ALL"})
public class HeavySmartTypeCompletion15Test extends CompletionTestCase {
public class HeavySmartTypeCompletion15Test extends JavaCodeInsightFixtureTestCase {
private static final String BASE_PATH = "/codeInsight/completion/smartType";
public HeavySmartTypeCompletion15Test() {
setType(CompletionType.SMART);
}
@Override
protected String getTestDataPath() {
return JavaTestUtil.getJavaTestDataPath();
}
public void testGetInstance() throws Throwable {
configureByFile(BASE_PATH + "/foo/" + getTestName(false) + ".java", BASE_PATH);
myFixture.configureFromExistingVirtualFile(
myFixture.copyFileToProject(BASE_PATH + "/foo/" + getTestName(false) + ".java", "foo/" + getTestName(false) + ".java"));
performAction();
selectItem(myItems[0]);
checkResultByFile(BASE_PATH + "/foo/" + getTestName(false) + "-out.java");
myFixture.type('\n');
myFixture.checkResultByFile(BASE_PATH + "/foo/" + getTestName(false) + "-out.java");
}
public void testProtectedAnonymousConstructor() throws Throwable {
createClass("package pkg;" +
"public class Foo {" +
" protected Foo(int a) {}" +
"}");
createClass("package pkg;" +
"public class Bar<T> {" +
" protected Bar(java.util.List<T> list) {}" +
"}");
myFixture.addClass("package pkg;" +
"public class Foo {" +
" protected Foo(int a) {}" +
"}");
myFixture.addClass("package pkg;" +
"public class Bar<T> {" +
" protected Bar(java.util.List<T> list) {}" +
"}");
doTest();
}
public void testProtectedAnonymousConstructor2() throws Throwable {
createClass("package pkg;" +
"public class Foo {" +
" protected Foo(int a) {}" +
"}");
createClass("package pkg;" +
"public class Bar<T> {" +
" protected Bar(java.util.List<T> list) {}" +
"}");
myFixture.addClass("package pkg;" +
"public class Foo {" +
" protected Foo(int a) {}" +
"}");
myFixture.addClass("package pkg;" +
"public class Bar<T> {" +
" protected Bar(java.util.List<T> list) {}" +
"}");
doTest();
}
public void testUnlockDocument() throws Throwable {
createClass("package pkg; public class Bar {}");
createClass("package pkg; public class Foo {" +
" public static void foo(java.util.List<pkg.Bar> list) {}" +
"}");
myFixture.addClass("package pkg; public class Bar {}");
myFixture.addClass("package pkg; public class Foo {" +
" public static void foo(java.util.List<pkg.Bar> list) {}" +
"}");
doTest();
}
private void doTest() throws Exception {
configureByFile(BASE_PATH + "/" + getTestName(false) + ".java");
checkResultByFile(BASE_PATH + "/" + getTestName(false) + "-out.java");
configure();
checkResult();
}
private void checkResult() {
myFixture.checkResultByFile(BASE_PATH + "/" + getTestName(false) + "-out.java");
}
private void configure() {
myFixture.configureByFile(BASE_PATH + "/" + getTestName(false) + ".java");
performAction();
}
public void testClassLiteralShouldInsertImport() throws Throwable {
createClass("package bar; public class Intf {}");
createClass("package foo; public class Bar extends bar.Intf {}");
myFixture.addClass("package bar; public class Intf {}");
myFixture.addClass("package foo; public class Bar extends bar.Intf {}");
configureByFile(BASE_PATH + "/" + getTestName(false) + ".java");
selectItem(myItems[0]);
checkResultByFile(BASE_PATH + "/" + getTestName(false) + "-out.java");
configure();
myFixture.type('\n');
checkResult();
}
private void performAction() {
complete();
myFixture.complete(CompletionType.SMART);
}
protected void tearDown() throws Exception {
LookupManager.getInstance(myProject).hideActiveLookup();
super.tearDown();
}
}