blob: 87e05ca569403c899e29a1805e1fcd34e01535e2 [file] [log] [blame]
package com.intellij.roots;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.PsiTestCase;
import com.intellij.testFramework.PsiTestUtil;
import java.io.File;
/**
* @author dsl
*/
public class RootsTest extends PsiTestCase {
public void testTest1() {
final String rootPath = PathManagerEx.getTestDataPath() + "/moduleRootManager/roots/" + "test1";
final VirtualFile[] rootFileBox = new VirtualFile[1];
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
rootFileBox[0] =
LocalFileSystem.getInstance().refreshAndFindFileByPath(rootPath.replace(File.separatorChar, '/'));
}
});
final VirtualFile rootFile = rootFileBox[0];
final VirtualFile classesFile = rootFile.findChild("classes");
assertNotNull(classesFile);
final VirtualFile childOfContent = rootFile.findChild("x.txt");
assertNotNull(childOfContent);
final VirtualFile childOfClasses = classesFile.findChild("y.txt");
assertNotNull(childOfClasses);
final ModuleRootManager rootManager = ModuleRootManager.getInstance(myModule);
PsiTestUtil.addContentRoot(myModule, rootFile);
PsiTestUtil.setCompilerOutputPath(myModule, classesFile.getUrl(), false);
PsiTestUtil.setExcludeCompileOutput(myModule, false);
assertTrue(rootManager.getFileIndex().isInContent(childOfContent));
assertTrue(rootManager.getFileIndex().isInContent(childOfClasses));
PsiTestUtil.setExcludeCompileOutput(myModule, true);
assertTrue(rootManager.getFileIndex().isInContent(childOfContent));
assertFalse(rootManager.getFileIndex().isInContent(childOfClasses));
}
}