add dependency on idea-js for idea and fix AbstractQuickFixTest
This commit is contained in:
@@ -26,6 +26,7 @@ import com.intellij.openapi.roots.ui.configuration.libraryEditor.NewLibraryEdito
|
|||||||
import com.intellij.openapi.util.Computable;
|
import com.intellij.openapi.util.Computable;
|
||||||
import com.intellij.openapi.vfs.VfsUtil;
|
import com.intellij.openapi.vfs.VfsUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.kotlin.idea.js.KotlinJavaScriptLibraryManager;
|
||||||
import org.jetbrains.kotlin.utils.PathUtil;
|
import org.jetbrains.kotlin.utils.PathUtil;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -76,6 +77,7 @@ public class ConfigLibraryUtil {
|
|||||||
public static void unConfigureKotlinJsRuntimeAndSdk(Module module, Sdk sdk) {
|
public static void unConfigureKotlinJsRuntimeAndSdk(Module module, Sdk sdk) {
|
||||||
configureSdk(module, sdk);
|
configureSdk(module, sdk);
|
||||||
removeLibrary(module, DEFAULT_KOTLIN_JS_STDLIB_NAME);
|
removeLibrary(module, DEFAULT_KOTLIN_JS_STDLIB_NAME);
|
||||||
|
removeLibrary(module, KotlinJavaScriptLibraryManager.LIBRARY_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void configureSdk(@NotNull final Module module, @NotNull final Sdk sdk) {
|
public static void configureSdk(@NotNull final Module module, @NotNull final Sdk sdk) {
|
||||||
|
|||||||
@@ -49,5 +49,6 @@
|
|||||||
<orderEntry type="module" module-name="idea-completion" scope="TEST" />
|
<orderEntry type="module" module-name="idea-completion" scope="TEST" />
|
||||||
<orderEntry type="module" module-name="idea-test-framework" scope="TEST" />
|
<orderEntry type="module" module-name="idea-test-framework" scope="TEST" />
|
||||||
<orderEntry type="module" module-name="js.serializer" />
|
<orderEntry type="module" module-name="js.serializer" />
|
||||||
|
<orderEntry type="module" module-name="idea-js" scope="TEST" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
@@ -38,6 +38,7 @@ import org.apache.commons.lang.SystemUtils;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.idea.KotlinLightQuickFixTestCase;
|
import org.jetbrains.kotlin.idea.KotlinLightQuickFixTestCase;
|
||||||
|
import org.jetbrains.kotlin.idea.js.KotlinJavaScriptLibraryManager;
|
||||||
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil;
|
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil;
|
||||||
import org.jetbrains.kotlin.idea.test.DirectiveBasedActionUtils;
|
import org.jetbrains.kotlin.idea.test.DirectiveBasedActionUtils;
|
||||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase;
|
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase;
|
||||||
@@ -98,7 +99,7 @@ public abstract class AbstractQuickFixTest extends KotlinLightQuickFixTestCase {
|
|||||||
private static QuickFixTestCase myWrapper;
|
private static QuickFixTestCase myWrapper;
|
||||||
|
|
||||||
private static void doTestFor(final String testName, final QuickFixTestCase quickFixTestCase) {
|
private static void doTestFor(final String testName, final QuickFixTestCase quickFixTestCase) {
|
||||||
final String relativePath = notNull(quickFixTestCase.getBasePath(), "") + "/" + KotlinPackage.decapitalize(testName);
|
String relativePath = notNull(quickFixTestCase.getBasePath(), "") + "/" + KotlinPackage.decapitalize(testName);
|
||||||
final String testFullPath = quickFixTestCase.getTestDataPath().replace(File.separatorChar, '/') + relativePath;
|
final String testFullPath = quickFixTestCase.getTestDataPath().replace(File.separatorChar, '/') + relativePath;
|
||||||
final File testFile = new File(testFullPath);
|
final File testFile = new File(testFullPath);
|
||||||
CommandProcessor.getInstance().executeCommand(quickFixTestCase.getProject(), new Runnable() {
|
CommandProcessor.getInstance().executeCommand(quickFixTestCase.getProject(), new Runnable() {
|
||||||
@@ -109,9 +110,9 @@ public abstract class AbstractQuickFixTest extends KotlinLightQuickFixTestCase {
|
|||||||
String contents = StringUtil.convertLineSeparators(FileUtil.loadFile(testFile, CharsetToolkit.UTF8_CHARSET));
|
String contents = StringUtil.convertLineSeparators(FileUtil.loadFile(testFile, CharsetToolkit.UTF8_CHARSET));
|
||||||
quickFixTestCase.configureFromFileText(testFile.getName(), contents);
|
quickFixTestCase.configureFromFileText(testFile.getName(), contents);
|
||||||
quickFixTestCase.bringRealEditorBack();
|
quickFixTestCase.bringRealEditorBack();
|
||||||
final Pair<String, Boolean> pair = quickFixTestCase.parseActionHintImpl(quickFixTestCase.getFile(), contents);
|
Pair<String, Boolean> pair = quickFixTestCase.parseActionHintImpl(quickFixTestCase.getFile(), contents);
|
||||||
final String text = pair.getFirst();
|
String text = pair.getFirst();
|
||||||
final boolean actionShouldBeAvailable = pair.getSecond().booleanValue();
|
boolean actionShouldBeAvailable = pair.getSecond().booleanValue();
|
||||||
|
|
||||||
quickFixTestCase.beforeActionStarted(testName, contents);
|
quickFixTestCase.beforeActionStarted(testName, contents);
|
||||||
|
|
||||||
@@ -136,7 +137,7 @@ public abstract class AbstractQuickFixTest extends KotlinLightQuickFixTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doAction(final String text, final boolean actionShouldBeAvailable, final String testFullPath, final String testName)
|
protected void doAction(String text, boolean actionShouldBeAvailable, String testFullPath, String testName)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
doAction(text, actionShouldBeAvailable, testFullPath, testName, myWrapper);
|
doAction(text, actionShouldBeAvailable, testFullPath, testName, myWrapper);
|
||||||
}
|
}
|
||||||
@@ -152,9 +153,10 @@ public abstract class AbstractQuickFixTest extends KotlinLightQuickFixTestCase {
|
|||||||
}
|
}
|
||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
private static void configureRuntimeIfNeeded(@NotNull String beforeFileName) {
|
private void configureRuntimeIfNeeded(@NotNull String beforeFileName) {
|
||||||
if (beforeFileName.endsWith("JsRuntime.kt")) {
|
if (beforeFileName.endsWith("JsRuntime.kt")) {
|
||||||
ConfigLibraryUtil.configureKotlinJsRuntimeAndSdk(getModule(), getFullJavaJDK());
|
ConfigLibraryUtil.configureKotlinJsRuntimeAndSdk(getModule(), getFullJavaJDK());
|
||||||
|
KotlinJavaScriptLibraryManager.getInstance(getProject()).syncUpdateProjectLibrary();
|
||||||
}
|
}
|
||||||
else if (beforeFileName.endsWith("Runtime.kt")) {
|
else if (beforeFileName.endsWith("Runtime.kt")) {
|
||||||
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(getModule(), getFullJavaJDK());
|
ConfigLibraryUtil.configureKotlinRuntimeAndSdk(getModule(), getFullJavaJDK());
|
||||||
|
|||||||
Reference in New Issue
Block a user