(by patch from IDEA-151808) Walk up to the root to determine if file is in content roots

This commit is contained in:
peter
2016-03-04 15:14:44 +01:00
parent 95859d46eb
commit 102374b1d3
5 changed files with 50 additions and 2 deletions
@@ -1,6 +1,13 @@
package com.intellij.projectView;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.impl.ModuleManagerImpl;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.ui.Queryable;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.PsiTestUtil;
import org.junit.Assert;
public class ProjectTreeStructureTest extends BaseProjectViewTestCase {
@@ -110,4 +117,30 @@ public class ProjectTreeStructureTest extends BaseProjectViewTestCase {
checkContainsMethod(myStructure.getRootElement(), myStructure);
}
public void testNoDuplicateModules() {
VirtualFile mainModuleRoot = ModuleRootManager.getInstance(myModule).getContentRoots()[0];
PsiTestUtil.addExcludedRoot(myModule, mainModuleRoot.findFileByRelativePath("src/com/package1/p2"));
Module module = createModule("nested_module");
ModuleManagerImpl.getInstanceImpl(myProject).setModuleGroupPath(module, new String[]{"modules"});
PsiTestUtil.addContentRoot(module, mainModuleRoot.findFileByRelativePath("src/com/package1/p2/p3"));
TestProjectTreeStructure structure = new TestProjectTreeStructure(myProject, myTestRootDisposable);
structure.setShowLibraryContents(false);
String structureContent = PlatformTestUtil.print(structure, structure.getRootElement(), 0, null, 10, ' ', myPrintInfo).toString();
Assert.assertFalse(structureContent.contains("modules"));
assertEquals("Project\n" +
" noDuplicateModules\n" +
" src\n" +
" com\n" +
" package1\n" +
" Test.java\n" +
" nested_module.iml\n" +
" testNoDuplicateModules.iml\n",
structureContent);
}
}