Adjust move code tests for KEEP_FIRST_COLUMN_COMMENT option

#KT-4175 In Progress
This commit is contained in:
Nikolay Krasko
2016-03-11 18:39:11 +03:00
parent 085deec717
commit 85bc32a884
4 changed files with 37 additions and 12 deletions
@@ -8,4 +8,6 @@ class D {
// class C // class C
class C { class C {
} }
// SET_FALSE: KEEP_FIRST_COLUMN_COMMENT
@@ -8,4 +8,6 @@ class D {
// class C // class C
class C { class C {
} }
// SET_FALSE: KEEP_FIRST_COLUMN_COMMENT
@@ -2,6 +2,6 @@
class D { class D {
// MOVE: down // MOVE: down
// class A // class A
<caret>class A <caret>class A
} }
@@ -23,11 +23,16 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.actionSystem.EditorAction; import com.intellij.openapi.editor.actionSystem.EditorAction;
import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.io.FileUtil;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.testFramework.LightCodeInsightTestCase; import com.intellij.testFramework.LightCodeInsightTestCase;
import junit.framework.ComparisonFailure;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.formatter.FormatSettingsUtil;
import org.jetbrains.kotlin.idea.codeInsight.upDownMover.KotlinDeclarationMover; import org.jetbrains.kotlin.idea.codeInsight.upDownMover.KotlinDeclarationMover;
import org.jetbrains.kotlin.idea.codeInsight.upDownMover.KotlinExpressionMover; import org.jetbrains.kotlin.idea.codeInsight.upDownMover.KotlinExpressionMover;
import org.jetbrains.kotlin.test.InTextDirectivesUtils; import org.jetbrains.kotlin.test.InTextDirectivesUtils;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.SettingsConfigurator;
import java.io.File; import java.io.File;
@@ -80,19 +85,35 @@ public abstract class AbstractCodeMoverTest extends LightCodeInsightTestCase {
assertEquals("Invalid applicability", isApplicableExpected, info.toMove2 != null); assertEquals("Invalid applicability", isApplicableExpected, info.toMove2 != null);
if (isApplicableExpected) { if (isApplicableExpected) {
invokeAndCheck(path, down); invokeAndCheck(fileText, path, down);
} }
} }
private void invokeAndCheck(@NotNull String path, final boolean down) { private void invokeAndCheck(@NotNull String fileText, @NotNull String path, final boolean down) {
ApplicationManager.getApplication().runWriteAction(new Runnable() { CodeStyleSettings codeStyleSettings = FormatSettingsUtil.getSettings();
@Override SettingsConfigurator configurator = FormatSettingsUtil.createConfigurator(fileText, codeStyleSettings);
public void run() { configurator.configureSettings();
EditorAction action = down ? new MoveStatementDownAction() : new MoveStatementUpAction();
action.actionPerformed(getEditor(), getCurrentEditorDataContext()); try {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
EditorAction action = down ? new MoveStatementDownAction() : new MoveStatementUpAction();
action.actionPerformed(getEditor(), getCurrentEditorDataContext());
}
});
String afterFilePath = path + ".after";
try {
checkResultByFile(afterFilePath);
} }
}); catch (ComparisonFailure e) {
checkResultByFile(path + ".after"); KotlinTestUtils.assertEqualsToFile(new File(afterFilePath), getEditor());
}
}
finally {
codeStyleSettings.clearCodeStyleSettings();
}
} }
@NotNull @NotNull