diff --git a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java index b3ef2cde5778..9de443ba76ea 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java @@ -76,6 +76,7 @@ public class ProjectImpl extends PlatformComponentManagerImpl implements Project public boolean myOptimiseTestLoadSpeed; private String myName; private String myOldName; + private final boolean myLight; protected ProjectImpl(@NotNull ProjectManager projectManager, @NotNull String filePath, @@ -98,6 +99,9 @@ public class ProjectImpl extends PlatformComponentManagerImpl implements Project if (!isDefault() && projectName != null && getStateStore().getStorageScheme().equals(StorageScheme.DIRECTORY_BASED)) { myOldName = ""; // new project } + + // light project may be changed later during test, so we need to remember its initial state + myLight = ApplicationManager.getApplication().isUnitTestMode() && filePath.contains("light_temp_"); } @Override @@ -105,6 +109,10 @@ public class ProjectImpl extends PlatformComponentManagerImpl implements Project return super.isDisposed() || temporarilyDisposed; } + public boolean isLight() { + return myLight; + } + private volatile boolean temporarilyDisposed; @TestOnly public void setTemporarilyDisposed(boolean disposed) { diff --git a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java index c68ec93bd415..498cd5bfa3d4 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java @@ -862,7 +862,7 @@ public class ProjectManagerImpl extends ProjectManagerEx implements PersistentSt @TestOnly public static boolean isLight(@NotNull Project project) { - return ApplicationManager.getApplication().isUnitTestMode() && project.toString().contains("light_temp_"); + return project instanceof ProjectImpl && ((ProjectImpl)project).isLight(); } @Override