Added refreshing test data dir in AbstractLibrariesTest.

This commit is contained in:
Evgeny Gerashchenko
2012-04-06 14:52:35 +04:00
parent 4d19fd05b1
commit 5b7323697a
2 changed files with 23 additions and 9 deletions
@@ -21,13 +21,17 @@ import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileVisitor;
import com.intellij.testFramework.PlatformTestCase;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.cli.KotlinCompiler;
import org.jetbrains.jet.plugin.PluginTestCaseBase;
import java.io.File;
/**
* @author Evgeny Gerashchenko
* @since 3/23/12
@@ -43,12 +47,22 @@ public abstract class AbstractLibrariesTest extends PlatformTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
String libraryPath = FileUtil.getTempDirectory();
File libraryIoDir = createTempDir("libraries_");
VirtualFile testDataDir = LocalFileSystem.getInstance().findFileByPath(TEST_DATA_PATH);
assertNotNull(testDataDir);
VfsUtilCore.visitChildrenRecursively(testDataDir, new VirtualFileVisitor() {
@Override
public boolean visitFile(@NotNull VirtualFile file) {
file.getChildren();
file.refresh(false, true);
return true;
}
});
librarySourceDir = LocalFileSystem.getInstance().findFileByPath(TEST_DATA_PATH + "/library");
assertNotNull(librarySourceDir);
KotlinCompiler.ExitCode compilerExec = new KotlinCompiler().exec("-src", librarySourceDir.getPath(), "-output", libraryPath);
KotlinCompiler.ExitCode compilerExec = new KotlinCompiler().exec("-src", librarySourceDir.getPath(), "-output", libraryIoDir.getAbsolutePath());
assertEquals(KotlinCompiler.ExitCode.OK, compilerExec);
libraryDir = LocalFileSystem.getInstance().findFileByPath(libraryPath);
libraryDir = LocalFileSystem.getInstance().findFileByIoFile(libraryIoDir);
assertNotNull(libraryDir);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@@ -33,7 +33,7 @@ import java.util.Map;
* @since 3/11/12
*/
public class LibrariesWithoutSourcesTest extends AbstractLibrariesTest {
private VirtualFile myClassFile;
private VirtualFile classFile;
public void testAbstractClass() {
doTest();
@@ -72,9 +72,9 @@ public class LibrariesWithoutSourcesTest extends AbstractLibrariesTest {
}
private void doTest() {
myClassFile = getClassFile();
classFile = getClassFile();
Map<ClsElementImpl, JetDeclaration> map = getDecompiledData(myClassFile).getClsElementsToJetElements();
Map<ClsElementImpl, JetDeclaration> map = getDecompiledData(classFile).getClsElementsToJetElements();
checkNavigationElements(map);
String decompiledTextWithMarks = getDecompiledTextWithMarks(map);
@@ -104,7 +104,7 @@ public class LibrariesWithoutSourcesTest extends AbstractLibrariesTest {
}
private String getDecompiledText() {
Document document = FileDocumentManager.getInstance().getDocument(myClassFile);
Document document = FileDocumentManager.getInstance().getDocument(classFile);
assertNotNull(document);
return document.getText();
}
@@ -117,7 +117,7 @@ public class LibrariesWithoutSourcesTest extends AbstractLibrariesTest {
}
private void checkNavigationElements(Map<ClsElementImpl, JetDeclaration> map) {
PsiFile classPsiFile = getPsiManager().findFile(myClassFile);
PsiFile classPsiFile = getPsiManager().findFile(classFile);
for (Map.Entry<ClsElementImpl, JetDeclaration> clsToJet : map.entrySet()) {
assertSame(classPsiFile, clsToJet.getKey().getContainingFile());
assertSame(clsToJet.getValue(), clsToJet.getKey().getNavigationElement());