Source files copied under project: to make "get all project files" work

This commit is contained in:
Andrey Breslav
2013-03-14 20:46:35 +04:00
parent db947f5497
commit abc03f7a19
2 changed files with 31 additions and 5 deletions
@@ -43,6 +43,7 @@ public abstract class AbstractNavigateToLibraryTest extends PlatformTestCase {
protected static final String PACKAGE = "testData.libraries";
protected static final String TEST_DATA_PATH = PluginTestCaseBase.getTestDataPathBase() + "/libraries";
protected static final String SOURCES_PATH = TEST_DATA_PATH + "/library";
protected static final String SRC_DIR_NAME = "src";
private static File tempDirWithCompiled;
protected VirtualFile libraryDir;
protected VirtualFile librarySourceDir;
@@ -74,6 +75,7 @@ public abstract class AbstractNavigateToLibraryTest extends PlatformTestCase {
public void run() {
try {
libraryDir = baseDir.createChildDirectory(this, "lib");
baseDir.createChildDirectory(this, SRC_DIR_NAME);
}
catch (IOException e) {
throw new RuntimeException(e);
@@ -96,8 +98,8 @@ public abstract class AbstractNavigateToLibraryTest extends PlatformTestCase {
FileUtil.copyDir(getTempDirWithCompiled(), new File(libraryDir.getPath()));
((NewVirtualFile)libraryDir).markDirtyRecursively();
libraryDir.refresh(false, true);
((NewVirtualFile)baseDir).markDirtyRecursively();
baseDir.refresh(false, true);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
@@ -111,8 +113,34 @@ public abstract class AbstractNavigateToLibraryTest extends PlatformTestCase {
}
libraryModel.commit();
VirtualFile srcDir = baseDir.findChild(SRC_DIR_NAME);
assertNotNull(srcDir);
moduleModel.addContentEntry(srcDir).addSourceFolder(srcDir, false);
moduleModel.commit();
}
});
}
@NotNull
protected VirtualFile copyFileToSrcDir(@NotNull String path) {
VirtualFile originalFile = LocalFileSystem.getInstance().findFileByPath(path);
assertNotNull(originalFile);
VirtualFile srcDir = getProject().getBaseDir().findChild(SRC_DIR_NAME);
assertNotNull(srcDir);
try {
VfsUtilCore.copyFile(null, originalFile, srcDir);
}
catch (IOException e) {
throw new RuntimeException(e);
}
((NewVirtualFile)srcDir).markDirtyRecursively();
srcDir.refresh(false, true);
VirtualFile result = srcDir.findChild(originalFile.getName());
assertNotNull(result);
return result;
}
}
@@ -20,7 +20,6 @@ import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiDocumentManager;
@@ -89,8 +88,7 @@ public class NavigateToLibrarySourceTest extends AbstractNavigateToLibraryTest {
}
private void doTest() {
userFile = LocalFileSystem.getInstance().findFileByPath(TEST_DATA_PATH + "/usercode/" + getTestName(false) + ".kt");
assertNotNull(userFile);
userFile = copyFileToSrcDir(TEST_DATA_PATH + "/usercode/" + getTestName(false) + ".kt");
checkAnnotatedLibraryCode(false);
checkAnnotatedLibraryCode(true);