mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[workspace model] Remove module removes source roots from entity storage
GitOrigin-RevId: a8752c9e1bebdda9d22eb53682abee846788464e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
7915d08945
commit
861ba81e96
+29
@@ -643,6 +643,35 @@ class LegacyBridgeModulesTest {
|
||||
assertEmpty(entityStorage.entities(ModuleEntity::class.java).toList())
|
||||
assertEmpty(entityStorage.entities(LibraryEntity::class.java).toList())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `test remove module removes source roots`() = WriteCommandAction.runWriteCommandAction(project) {
|
||||
val moduleName = "build"
|
||||
val antLibraryFolder = "ant-lib"
|
||||
|
||||
val moduleFile = File(project.basePath, "$moduleName.iml")
|
||||
val module = ModuleManager.getInstance(project).modifiableModel.let { moduleModel ->
|
||||
val module = moduleModel.newModule(moduleFile.path, EmptyModuleType.getInstance().id, null) as LegacyBridgeModule
|
||||
moduleModel.commit()
|
||||
module
|
||||
}
|
||||
|
||||
ModuleRootModificationUtil.updateModel(module) { model ->
|
||||
val tempDir = temporaryDirectoryRule.newPath().toFile()
|
||||
val url = VfsUtilCore.pathToUrl(FileUtil.toSystemIndependentName(tempDir.path))
|
||||
val contentEntry = model.addContentEntry(url)
|
||||
contentEntry.addSourceFolder("$url/$antLibraryFolder", TestCustomSourceRootType.INSTANCE)
|
||||
}
|
||||
StoreUtil.saveDocumentsAndProjectSettings(project)
|
||||
assertTrue(moduleFile.readText().contains(antLibraryFolder))
|
||||
val entityStore = WorkspaceModel.getInstance(project).entityStore
|
||||
assertEquals(1, entityStore.current.entities(ContentRootEntity::class.java).count())
|
||||
assertEquals(1, entityStore.current.entities(CustomSourceRootPropertiesEntity::class.java).count())
|
||||
|
||||
ModuleManager.getInstance(project).disposeModule(module)
|
||||
assertEmpty(entityStore.current.entities(ContentRootEntity::class.java).toList())
|
||||
assertEmpty(entityStore.current.entities(CustomSourceRootPropertiesEntity::class.java).toList())
|
||||
}
|
||||
}
|
||||
|
||||
internal fun createEmptyTestProject(temporaryDirectory: TemporaryDirectory,
|
||||
|
||||
Reference in New Issue
Block a user