mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
tests: properly dispose Project in ModulesConfigurationTest
And save settings only when necessary.
This commit is contained in:
+14
-8
@@ -8,6 +8,7 @@ import com.intellij.openapi.application.ex.ApplicationManagerEx;
|
||||
import com.intellij.openapi.module.impl.ProjectLoadingErrorsHeadlessNotifier;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.project.impl.ProjectManagerImpl;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
@@ -33,12 +34,12 @@ public class ModulesConfigurationTest extends PlatformTestCase {
|
||||
ModuleManager moduleManager = ModuleManager.getInstance(reloaded);
|
||||
Module module = assertOneElement(moduleManager.getModules());
|
||||
moduleManager.disposeModule(module);
|
||||
projectManager.closeProject(reloaded);
|
||||
closeProject(reloaded, true);
|
||||
|
||||
reloaded = projectManager.loadAndOpenProject(projectDir.getAbsolutePath());
|
||||
disposeOnTearDown(reloaded);
|
||||
assertEmpty(ModuleManager.getInstance(reloaded).getModules());
|
||||
projectManager.closeProject(reloaded);
|
||||
closeProject(reloaded, false);
|
||||
}
|
||||
|
||||
public void testRemoveFailedToLoadModule() throws IOException, JDOMException {
|
||||
@@ -57,28 +58,33 @@ public class ModulesConfigurationTest extends PlatformTestCase {
|
||||
assertEmpty(moduleManager.getModules());
|
||||
ConfigurationErrorDescription error = assertOneElement(errors);
|
||||
error.ignoreInvalidElement();
|
||||
projectManager.closeProject(reloaded);
|
||||
closeProject(reloaded, true);
|
||||
errors.clear();
|
||||
|
||||
reloaded = projectManager.loadAndOpenProject(projectDir.getAbsolutePath());
|
||||
disposeOnTearDown(reloaded);
|
||||
assertEmpty(errors);
|
||||
projectManager.closeProject(reloaded);
|
||||
closeProject(reloaded, false);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private Pair<File, File> createProjectWithModule() throws IOException {
|
||||
File projectDir = FileUtil.createTempDirectory("project", null);
|
||||
ProjectManager projectManager = ProjectManager.getInstance();
|
||||
Project project = projectManager.createProject("project", projectDir.getAbsolutePath());
|
||||
Project project = ProjectManager.getInstance().createProject("project", projectDir.getAbsolutePath());
|
||||
disposeOnTearDown(project);
|
||||
File moduleFile = new File(projectDir, "module.iml");
|
||||
WriteAction.run(() -> ModuleManager.getInstance(project).newModule(moduleFile.getPath(), EmptyModuleType.EMPTY_MODULE));
|
||||
project.save();
|
||||
projectManager.closeProject(project);
|
||||
closeProject(project, true);
|
||||
return Pair.create(projectDir, moduleFile);
|
||||
}
|
||||
|
||||
private static void closeProject(Project project, boolean save) {
|
||||
if (save) {
|
||||
project.save();
|
||||
}
|
||||
((ProjectManagerImpl)ProjectManager.getInstance()).forceCloseProject(project, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
||||
Reference in New Issue
Block a user