mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-19 17:29:34 +07:00
78 lines
2.6 KiB
Java
78 lines
2.6 KiB
Java
/*
|
|
* Created by IntelliJ IDEA.
|
|
* User: Alexey
|
|
* Date: 08.07.2006
|
|
* Time: 0:07:45
|
|
*/
|
|
package com.intellij.codeInspection;
|
|
|
|
import com.intellij.JavaTestUtil;
|
|
import com.intellij.codeInspection.ex.LocalInspectionToolWrapper;
|
|
import com.intellij.codeInspection.nullable.NullableStuffInspection;
|
|
import com.intellij.openapi.application.ApplicationManager;
|
|
import com.intellij.openapi.projectRoots.Sdk;
|
|
import com.intellij.openapi.projectRoots.SdkModificator;
|
|
import com.intellij.openapi.roots.ModuleRootManager;
|
|
import com.intellij.openapi.roots.OrderRootType;
|
|
import com.intellij.openapi.vfs.VirtualFile;
|
|
import com.intellij.testFramework.InspectionTestCase;
|
|
|
|
public class NullableStuffInspectionTest extends InspectionTestCase {
|
|
private final NullableStuffInspection myInspection = new NullableStuffInspection();
|
|
{
|
|
myInspection.REPORT_ANNOTATION_NOT_PROPAGATED_TO_OVERRIDERS = false;
|
|
}
|
|
|
|
@Override
|
|
protected String getTestDataPath() {
|
|
return JavaTestUtil.getJavaTestDataPath() + "/inspection";
|
|
}
|
|
|
|
private void doTest() throws Exception {
|
|
doTest("nullableProblems/" + getTestName(true), new LocalInspectionToolWrapper(myInspection),"java 1.5");
|
|
}
|
|
private void doTest14() throws Exception {
|
|
myExcludeAnnotations = true;
|
|
try {
|
|
doTest("nullableProblems/" + getTestName(true), new LocalInspectionToolWrapper(myInspection),"java 1.4");
|
|
}
|
|
finally {
|
|
myExcludeAnnotations = false;
|
|
}
|
|
}
|
|
|
|
public void testProblems() throws Exception{ doTest(); }
|
|
public void testProblems2() throws Exception{ doTest(); }
|
|
public void testJdk14() throws Exception{ doTest14(); }
|
|
|
|
public void testGetterSetterProblems() throws Exception{ doTest(); }
|
|
public void testOverriddenMethods() throws Exception{
|
|
myInspection.REPORT_ANNOTATION_NOT_PROPAGATED_TO_OVERRIDERS = true;
|
|
doTest();
|
|
}
|
|
|
|
private boolean myExcludeAnnotations = false;
|
|
|
|
@Override
|
|
protected void setupRootModel(String testDir, VirtualFile[] sourceDir, String sdkName) {
|
|
super.setupRootModel(testDir, sourceDir, sdkName);
|
|
|
|
if (myExcludeAnnotations) {
|
|
final Sdk sdk = ModuleRootManager.getInstance(myModule).getSdk();
|
|
assert sdk != null;
|
|
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
|
@Override
|
|
public void run() {
|
|
final SdkModificator sdkMod = sdk.getSdkModificator();
|
|
for (VirtualFile file : sdkMod.getRoots(OrderRootType.CLASSES)) {
|
|
if ("annotations.jar".equals(file.getName())) {
|
|
sdkMod.removeRoot(file, OrderRootType.CLASSES);
|
|
break;
|
|
}
|
|
}
|
|
sdkMod.commitChanges();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
} |