Fix for the test framework broken by extensions.

This commit is contained in:
Maxim Shafirov
2005-02-09 00:12:20 +03:00
parent bd2ecba095
commit 00cd8d51c0
4 changed files with 18 additions and 3 deletions
@@ -11,6 +11,7 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.module.Module;
@@ -86,6 +87,10 @@ public abstract class IdeaTestCase extends TestCase implements DataProvider {
protected void initApplication() throws Exception {
ourApplication = IdeaTestApplication.getInstance();
ourApplication.setDataProvider(this);
if (Extensions.getAllAreas().length < 2) {
Extensions.registerAreaClass("PROJECT", null);
Extensions.registerAreaClass("MODULE", "PROJECT");
}
}
protected void setUp() throws Exception {
@@ -10,6 +10,7 @@ import com.intellij.openapi.actionSystem.DataProvider;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.undo.UndoManager;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.project.ModuleListener;
@@ -85,6 +86,10 @@ public class LightIdeaTestCase extends TestCase implements DataProvider {
private void initApplication() throws Exception {
ourApplication = IdeaTestApplication.getInstance();
ourApplication.setDataProvider(this);
if (Extensions.getAllAreas().length < 2) {
Extensions.registerAreaClass("PROJECT", null);
Extensions.registerAreaClass("MODULE", "PROJECT");
}
cleanupApplicationCaches();
}
@@ -6,8 +6,8 @@ import com.intellij.ide.startup.StartupActionScriptManager;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.JDOMUtil;
import com.intellij.openapi.extensions.*;
import com.intellij.openapi.util.JDOMUtil;
import com.intellij.util.ArrayUtil;
import com.intellij.util.graph.CachingSemiGraph;
import com.intellij.util.graph.DFSTBuilder;
@@ -19,8 +19,8 @@ import sun.reflect.Reflection;
import javax.swing.*;
import java.io.File;
import java.io.InputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -84,7 +84,10 @@ public class PluginManager {
}
private static void initializePlugins() {
if (!shouldLoadPlugins()) return;
if (!shouldLoadPlugins()) {
ourPlugins = new PluginDescriptor[0];
return;
}
configureExtensions();
@@ -367,6 +367,8 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements
}
protected void initComponentsFromExtensions(final ExtensionsArea extensionsArea) {
if (ApplicationManagerEx.getApplicationEx().isUnitTestMode()) return; // TODO: quick and dirty. To make tests running.
final ComponentDescriptor[] componentDescriptors =
(ComponentDescriptor[])extensionsArea.getExtensionPoint(PluginManager.COMPONENT_EXTENSION_POINT).getExtensions();
for (int i = 0; i < componentDescriptors.length; i++) {