Quick Fixes: Support "WITH_RUNTIME" directive in multi-file quick fix tests
This commit is contained in:
@@ -26,11 +26,13 @@ import com.intellij.openapi.util.Pair;
|
|||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
import com.intellij.util.ui.UIUtil;
|
import com.intellij.util.ui.UIUtil;
|
||||||
import junit.framework.ComparisonFailure;
|
import junit.framework.ComparisonFailure;
|
||||||
|
import org.jetbrains.jet.InTextDirectivesUtils;
|
||||||
import org.jetbrains.jet.JetTestCaseBuilder;
|
import org.jetbrains.jet.JetTestCaseBuilder;
|
||||||
import org.jetbrains.jet.lang.psi.JetFile;
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.plugin.DirectiveBasedActionUtils;
|
import org.jetbrains.jet.plugin.DirectiveBasedActionUtils;
|
||||||
import org.jetbrains.jet.plugin.KotlinDaemonAnalyzerTestCase;
|
import org.jetbrains.jet.plugin.KotlinDaemonAnalyzerTestCase;
|
||||||
import org.jetbrains.jet.plugin.PluginTestCaseBase;
|
import org.jetbrains.jet.plugin.PluginTestCaseBase;
|
||||||
|
import org.jetbrains.jet.testing.ConfigLibraryUtil;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -60,6 +62,12 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void doTest(final String beforeFileName, boolean withExtraFile) throws Exception {
|
private void doTest(final String beforeFileName, boolean withExtraFile) throws Exception {
|
||||||
|
final String originalFileText = FileUtil.loadFile(new File(getTestDataPath() + beforeFileName), true);
|
||||||
|
|
||||||
|
if (InTextDirectivesUtils.findStringWithPrefixes(originalFileText, "// WITH_RUNTIME") != null) {
|
||||||
|
ConfigLibraryUtil.configureKotlinRuntime(myModule, PluginTestCaseBase.fullJdk());
|
||||||
|
}
|
||||||
|
|
||||||
if (withExtraFile) {
|
if (withExtraFile) {
|
||||||
configureByFiles(null, beforeFileName, beforeFileName.replace(".Main.", ".data.Sample."));
|
configureByFiles(null, beforeFileName, beforeFileName.replace(".Main.", ".data.Sample."));
|
||||||
}
|
}
|
||||||
@@ -71,8 +79,7 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
Pair<String, Boolean> pair = LightQuickFixTestCase.parseActionHint(
|
Pair<String, Boolean> pair = LightQuickFixTestCase.parseActionHint(getFile(), originalFileText);
|
||||||
getFile(),FileUtil.loadFile(new File(getTestDataPath() + beforeFileName), true));
|
|
||||||
String text = pair.getFirst();
|
String text = pair.getFirst();
|
||||||
|
|
||||||
boolean actionShouldBeAvailable = pair.getSecond();
|
boolean actionShouldBeAvailable = pair.getSecond();
|
||||||
|
|||||||
Reference in New Issue
Block a user