From abc03f7a19905badda7eeb522e697603ebf7fb36 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 14 Mar 2013 20:46:35 +0400 Subject: [PATCH] Source files copied under project: to make "get all project files" work --- .../AbstractNavigateToLibraryTest.java | 32 +++++++++++++++++-- .../NavigateToLibrarySourceTest.java | 4 +-- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/idea/tests/org/jetbrains/jet/plugin/libraries/AbstractNavigateToLibraryTest.java b/idea/tests/org/jetbrains/jet/plugin/libraries/AbstractNavigateToLibraryTest.java index 40951123321..00c46f0c0b1 100644 --- a/idea/tests/org/jetbrains/jet/plugin/libraries/AbstractNavigateToLibraryTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/libraries/AbstractNavigateToLibraryTest.java @@ -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; + } } diff --git a/idea/tests/org/jetbrains/jet/plugin/libraries/NavigateToLibrarySourceTest.java b/idea/tests/org/jetbrains/jet/plugin/libraries/NavigateToLibrarySourceTest.java index 9ff51ade2b9..f942b1c3b78 100644 --- a/idea/tests/org/jetbrains/jet/plugin/libraries/NavigateToLibrarySourceTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/libraries/NavigateToLibrarySourceTest.java @@ -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);