Fix the tests that require a real jdk

This commit is contained in:
Ben Gruver 2016-02-13 23:50:32 -08:00
parent 327957ae66
commit 2e7fe1b8fe
4 changed files with 43 additions and 0 deletions

View File

@ -31,6 +31,8 @@
package org.jf.smalidea; package org.jf.smalidea;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl;
import com.intellij.psi.JavaResolveResult; import com.intellij.psi.JavaResolveResult;
import com.intellij.psi.PsiClass; import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiReference; import com.intellij.psi.PsiReference;
@ -102,4 +104,9 @@ public class ClassReferenceTest extends ResolveTestCase {
Assert.assertNotNull(smaliClass); Assert.assertNotNull(smaliClass);
Assert.assertEquals("blarg", smaliClass.getQualifiedName()); Assert.assertEquals("blarg", smaliClass.getQualifiedName());
} }
@Override
protected Sdk getTestProjectJdk() {
return JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk();
}
} }

View File

@ -31,6 +31,8 @@
package org.jf.smalidea; package org.jf.smalidea;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl;
import com.intellij.psi.PsiField; import com.intellij.psi.PsiField;
import com.intellij.psi.PsiReference; import com.intellij.psi.PsiReference;
import com.intellij.testFramework.ResolveTestCase; import com.intellij.testFramework.ResolveTestCase;
@ -117,4 +119,9 @@ public class FieldReferenceTest extends ResolveTestCase {
Assert.assertEquals("blarg", resolvedField.getContainingClass().getQualifiedName()); Assert.assertEquals("blarg", resolvedField.getContainingClass().getQualifiedName());
Assert.assertEquals("int", resolvedField.getType().getCanonicalText()); Assert.assertEquals("int", resolvedField.getType().getCanonicalText());
} }
@Override
protected Sdk getTestProjectJdk() {
return JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk();
}
} }

View File

@ -31,6 +31,8 @@
package org.jf.smalidea; package org.jf.smalidea;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl;
import com.intellij.psi.PsiMethod; import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiReference; import com.intellij.psi.PsiReference;
import com.intellij.testFramework.ResolveTestCase; import com.intellij.testFramework.ResolveTestCase;
@ -133,4 +135,9 @@ public class MethodReferenceTest extends ResolveTestCase {
Assert.assertNotNull(resolvedMethod.getReturnType()); Assert.assertNotNull(resolvedMethod.getReturnType());
Assert.assertEquals("void", resolvedMethod.getReturnType().getCanonicalText()); Assert.assertEquals("void", resolvedMethod.getReturnType().getCanonicalText());
} }
@Override
protected Sdk getTestProjectJdk() {
return JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk();
}
} }

View File

@ -31,11 +31,21 @@
package org.jf.smalidea; package org.jf.smalidea;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.LanguageLevelModuleExtension;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiClass; import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiClassType; import com.intellij.psi.PsiClassType;
import com.intellij.psi.PsiElementFactory; import com.intellij.psi.PsiElementFactory;
import com.intellij.testFramework.LightProjectDescriptor;
import com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor;
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase; import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
import org.jetbrains.annotations.NotNull;
import org.jf.smalidea.psi.impl.SmaliClass; import org.jf.smalidea.psi.impl.SmaliClass;
import org.jf.smalidea.psi.impl.SmaliFile; import org.jf.smalidea.psi.impl.SmaliFile;
import org.junit.Assert; import org.junit.Assert;
@ -143,4 +153,16 @@ public class SmaliClassTest extends LightCodeInsightFixtureTestCase {
Assert.assertFalse(smaliClass.isInheritor(throwableClass, false)); Assert.assertFalse(smaliClass.isInheritor(throwableClass, false));
Assert.assertFalse(smaliClass.isInheritor(objectClass, false)); Assert.assertFalse(smaliClass.isInheritor(objectClass, false));
} }
@NotNull @Override protected LightProjectDescriptor getProjectDescriptor() {
return new DefaultLightProjectDescriptor() {
public Sdk getSdk() {
return JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk();
}
public void configureModule(Module module, ModifiableRootModel model, ContentEntry contentEntry) {
model.getModuleExtension(LanguageLevelModuleExtension.class).setLanguageLevel(LanguageLevel.JDK_1_6);
}
};
}
} }