Fix test. Add not only JS libraries but also libraries that could be JS headers.
This commit is contained in:
@@ -36,13 +36,11 @@ public abstract class IDECompilerMessagingTest extends PlatformTestCase {
|
||||
protected void performTest(@NotNull Function1<MessageChecker, Void> whatToExpect,
|
||||
@NotNull TranslatingCompiler compiler, @NotNull String testDataPath) {
|
||||
String pathToTestDir = testDataPath + "/" + getTestName(true);
|
||||
VirtualFile testDir = LocalFileSystem.getInstance().findFileByPath(pathToTestDir);
|
||||
Assert.assertNotNull(testDir);
|
||||
VirtualFile sampleFile = LocalFileSystem.getInstance().findFileByPath(pathToTestDir + "/src/test.kt");
|
||||
|
||||
VirtualFile testDir = getFile(testDataPath, "");
|
||||
VirtualFile sampleFile = getFile(testDataPath, "/src/test.kt");
|
||||
VirtualFile outDirectory = getOutDirectory(pathToTestDir, testDir);
|
||||
String pathToSrc = pathToTestDir + "/src/";
|
||||
VirtualFile root = LocalFileSystem.getInstance().findFileByPath(pathToSrc);
|
||||
Assert.assertNotNull(root);
|
||||
VirtualFile root = getFile(testDataPath, "/src");
|
||||
MockCompileContext mockCompileContext = new MockCompileContext(myModule, outDirectory, root);
|
||||
MockModuleChunk mockModuleChunk = new MockModuleChunk(myModule);
|
||||
setSourceEntryForModule(root);
|
||||
@@ -51,6 +49,14 @@ public abstract class IDECompilerMessagingTest extends PlatformTestCase {
|
||||
checkMessages(whatToExpect, mockCompileContext);
|
||||
}
|
||||
|
||||
protected VirtualFile getFile(@NotNull String testDataPath, @NotNull String relativePath) {
|
||||
String pathToFile = testDataPath + "/" + getTestName(true) + relativePath;
|
||||
VirtualFile file = LocalFileSystem.getInstance().findFileByPath(pathToFile);
|
||||
Assert.assertNotNull("Can't find path " + pathToFile, file);
|
||||
|
||||
return file;
|
||||
}
|
||||
|
||||
private void checkMessages(@NotNull Function1<MessageChecker, Void> whatToExpect, @NotNull MockCompileContext mockCompileContext) {
|
||||
MessageChecker checker = new MessageChecker(mockCompileContext);
|
||||
checkHeader(checker);
|
||||
|
||||
+32
-8
@@ -16,10 +16,17 @@
|
||||
|
||||
package org.jetbrains.jet.plugin.compilerMessages;
|
||||
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.ui.configuration.libraryEditor.NewLibraryEditor;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.util.PathUtil;
|
||||
import jet.Function1;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.plugin.PluginTestCaseBase;
|
||||
import org.jetbrains.jet.plugin.compiler.K2JSCompiler;
|
||||
import org.jetbrains.jet.testing.ConfigLibraryUtil;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import static org.jetbrains.jet.plugin.compilerMessages.Message.*;
|
||||
|
||||
@@ -60,14 +67,31 @@ public final class K2JSCompilerMessagingTest extends IDECompilerMessagingTest {
|
||||
}
|
||||
|
||||
public void testLib() {
|
||||
throw new UnsupportedOperationException("Under construction");
|
||||
//doTest(new Function1<MessageChecker, Void>() {
|
||||
// @Override
|
||||
// public Void invoke(MessageChecker checker) {
|
||||
// //nothing apart from header
|
||||
// return null;
|
||||
// }
|
||||
//});
|
||||
NewLibraryEditor editor = new NewLibraryEditor(null, null);
|
||||
editor.setName("testLib");
|
||||
|
||||
String path = PathUtil.getLocalPath(getFile(TEST_DATA_PATH, "/src/lib.zip"));
|
||||
assert path != null : "Can't get local path";
|
||||
|
||||
String libUrl = VfsUtil.getUrlForLibraryRoot(new File(path));
|
||||
|
||||
editor.addRoot(libUrl, OrderRootType.CLASSES);
|
||||
editor.addRoot(libUrl, OrderRootType.SOURCES);
|
||||
|
||||
try {
|
||||
ConfigLibraryUtil.addLibrary(editor, myModule);
|
||||
|
||||
doTest(new Function1<MessageChecker, Void>() {
|
||||
@Override
|
||||
public Void invoke(MessageChecker checker) {
|
||||
//nothing apart from header
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
finally {
|
||||
ConfigLibraryUtil.removeLibrary(myModule, "testLib");
|
||||
}
|
||||
}
|
||||
|
||||
private void doTest(@NotNull Function1<MessageChecker, Void> whatToExpect) {
|
||||
|
||||
Reference in New Issue
Block a user