a utility method to add default jdkAnnotations in tests

This commit is contained in:
peter
2014-09-15 13:18:20 +02:00
parent 60adb9cf86
commit bfa55d48e0
3 changed files with 16 additions and 33 deletions

View File

@@ -28,13 +28,8 @@ import com.intellij.JavaTestUtil;
import com.intellij.codeInspection.ex.LocalInspectionToolWrapper;
import com.intellij.codeInspection.magicConstant.MagicConstantInspection;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkModificator;
import com.intellij.openapi.roots.AnnotationOrderRootType;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.InspectionTestCase;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.PsiTestUtil;
public class MagicConstantInspectionTest extends InspectionTestCase {
@Override
@@ -44,17 +39,7 @@ public class MagicConstantInspectionTest extends InspectionTestCase {
@Override
protected Sdk getTestProjectSdk() {
// add JDK annotations
Sdk sdk = super.getTestProjectSdk();
SdkModificator sdkModificator = sdk.getSdkModificator();
VirtualFile root = LocalFileSystem.getInstance().findFileByPath(
FileUtil.toSystemIndependentName(PlatformTestUtil.getCommunityPath()) + "/java/jdkAnnotations");
if (root != null) {
sdkModificator.addRoot(root, AnnotationOrderRootType.getInstance());
sdkModificator.commitChanges();
}
return sdk;
return PsiTestUtil.addJdkAnnotations(super.getTestProjectSdk());
}
private void doTest() throws Exception {

View File

@@ -17,26 +17,12 @@ package com.intellij.slicer;
import com.intellij.codeInsight.daemon.DaemonAnalyzerTestCase;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkModificator;
import com.intellij.openapi.roots.AnnotationOrderRootType;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.PsiTestUtil;
public abstract class SliceTestCase extends DaemonAnalyzerTestCase {
@Override
protected Sdk getTestProjectJdk() {
Sdk sdk = IdeaTestUtil.getMockJdk17();
// add JDK annotations
SdkModificator sdkModificator = sdk.getSdkModificator();
VirtualFile root = LocalFileSystem.getInstance().findFileByPath(
FileUtil.toSystemIndependentName(PlatformTestUtil.getCommunityPath()) + "/java/jdkAnnotations");
assertNotNull(root);
sdkModificator.addRoot(root, AnnotationOrderRootType.getInstance());
sdkModificator.commitChanges();
return sdk;
return PsiTestUtil.addJdkAnnotations(IdeaTestUtil.getMockJdk17());
}
}

View File

@@ -26,6 +26,7 @@ import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkModificator;
import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.impl.ContentEntryImpl;
import com.intellij.openapi.roots.impl.libraries.ProjectLibraryTable;
@@ -432,4 +433,15 @@ public class PsiTestUtil {
}
});
}
public static Sdk addJdkAnnotations(Sdk sdk) {
VirtualFile root = LocalFileSystem.getInstance().findFileByPath(
FileUtil.toSystemIndependentName(PlatformTestUtil.getCommunityPath()) + "/java/jdkAnnotations");
if (root != null) {
SdkModificator sdkModificator = sdk.getSdkModificator();
sdkModificator.addRoot(root, AnnotationOrderRootType.getInstance());
sdkModificator.commitChanges();
}
return sdk;
}
}