From 85bc32a88453286679ac1aacf4e773f0ec1036bc Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 11 Mar 2016 18:39:11 +0300 Subject: [PATCH] Adjust move code tests for KEEP_FIRST_COLUMN_COMMENT option #KT-4175 In Progress --- .../class/classWithoutBody1.kt | 4 +- .../class/classWithoutBody1.kt.after | 4 +- .../class/classWithoutBody3.kt.after | 2 +- .../moveUpDown/AbstractCodeMoverTest.java | 39 ++++++++++++++----- 4 files changed, 37 insertions(+), 12 deletions(-) diff --git a/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody1.kt b/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody1.kt index 7ff908d0427..33bdbae6cf3 100644 --- a/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody1.kt +++ b/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody1.kt @@ -8,4 +8,6 @@ class D { // class C class C { -} \ No newline at end of file +} + +// SET_FALSE: KEEP_FIRST_COLUMN_COMMENT \ No newline at end of file diff --git a/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody1.kt.after b/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody1.kt.after index de6888cc76e..10ffd3ec439 100644 --- a/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody1.kt.after +++ b/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody1.kt.after @@ -8,4 +8,6 @@ class D { // class C class C { -} \ No newline at end of file +} + +// SET_FALSE: KEEP_FIRST_COLUMN_COMMENT \ No newline at end of file diff --git a/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody3.kt.after b/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody3.kt.after index 777c348e764..77b59e552e5 100644 --- a/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody3.kt.after +++ b/idea/testData/codeInsight/moveUpDown/classBodyDeclarations/class/classWithoutBody3.kt.after @@ -2,6 +2,6 @@ class D { // MOVE: down - // class A +// class A class A } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/moveUpDown/AbstractCodeMoverTest.java b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/moveUpDown/AbstractCodeMoverTest.java index 65a5f826dbc..3ed11124f09 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/moveUpDown/AbstractCodeMoverTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/moveUpDown/AbstractCodeMoverTest.java @@ -23,11 +23,16 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.actionSystem.EditorAction; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.testFramework.LightCodeInsightTestCase; +import junit.framework.ComparisonFailure; 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.KotlinExpressionMover; import org.jetbrains.kotlin.test.InTextDirectivesUtils; +import org.jetbrains.kotlin.test.KotlinTestUtils; +import org.jetbrains.kotlin.test.SettingsConfigurator; import java.io.File; @@ -80,19 +85,35 @@ public abstract class AbstractCodeMoverTest extends LightCodeInsightTestCase { assertEquals("Invalid applicability", isApplicableExpected, info.toMove2 != null); if (isApplicableExpected) { - invokeAndCheck(path, down); + invokeAndCheck(fileText, path, down); } } - private void invokeAndCheck(@NotNull String path, final boolean down) { - ApplicationManager.getApplication().runWriteAction(new Runnable() { - @Override - public void run() { - EditorAction action = down ? new MoveStatementDownAction() : new MoveStatementUpAction(); - action.actionPerformed(getEditor(), getCurrentEditorDataContext()); + private void invokeAndCheck(@NotNull String fileText, @NotNull String path, final boolean down) { + CodeStyleSettings codeStyleSettings = FormatSettingsUtil.getSettings(); + SettingsConfigurator configurator = FormatSettingsUtil.createConfigurator(fileText, codeStyleSettings); + configurator.configureSettings(); + + 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); } - }); - checkResultByFile(path + ".after"); + catch (ComparisonFailure e) { + KotlinTestUtils.assertEqualsToFile(new File(afterFilePath), getEditor()); + } + } + finally { + codeStyleSettings.clearCodeStyleSettings(); + } } @NotNull