diff --git a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.java b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.java index dac7745c620..868b71abc55 100644 --- a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.java +++ b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.java @@ -35,6 +35,7 @@ import org.jetbrains.jet.completion.weighers.AbstractCompletionWeigherTest; import org.jetbrains.jet.descriptors.serialization.AbstractDescriptorSerializationTest; import org.jetbrains.jet.editor.quickDoc.AbstractJetQuickDocProviderTest; import org.jetbrains.jet.findUsages.AbstractJetFindUsagesTest; +import org.jetbrains.jet.formatter.AbstractJetFormatterTest; import org.jetbrains.jet.jvm.compiler.*; import org.jetbrains.jet.lang.resolve.lazy.AbstractLazyResolveDescriptorRendererTest; import org.jetbrains.jet.lang.resolve.lazy.AbstractLazyResolveNamespaceComparingTest; @@ -484,6 +485,13 @@ public class GenerateTests { new SimpleTestClassModel(new File("idea/testData/configuration/gradle"), true, Pattern.compile("(\\w+)_before\\.gradle$"), "doTestGradle"), testModelWithDirectories("idea/testData/configuration/maven", "doTestWithMaven") ); + + generateTest( + "idea/tests/", + "JetFormatterTestGenerated", + AbstractJetFormatterTest.class, + testModelWithPattern("idea/testData/formatter", "^([^\\.]+)\\.kt$", "doTest") + ); } private static SimpleTestClassModel testModel(@NotNull String rootPath) { diff --git a/idea/testData/formatter/BlockFor_after.kt b/idea/testData/formatter/BlockFor.after.kt similarity index 100% rename from idea/testData/formatter/BlockFor_after.kt rename to idea/testData/formatter/BlockFor.after.kt diff --git a/idea/testData/formatter/Class_after.kt b/idea/testData/formatter/Class.after.kt similarity index 100% rename from idea/testData/formatter/Class_after.kt rename to idea/testData/formatter/Class.after.kt diff --git a/idea/testData/formatter/CommentInFunctionLiteral_after.kt b/idea/testData/formatter/CommentInFunctionLiteral.after.kt similarity index 100% rename from idea/testData/formatter/CommentInFunctionLiteral_after.kt rename to idea/testData/formatter/CommentInFunctionLiteral.after.kt diff --git a/idea/testData/formatter/ConsecutiveCalls_after.kt b/idea/testData/formatter/ConsecutiveCalls.after.kt similarity index 100% rename from idea/testData/formatter/ConsecutiveCalls_after.kt rename to idea/testData/formatter/ConsecutiveCalls.after.kt diff --git a/idea/testData/formatter/EmptyLineAfterPackage_after.kt b/idea/testData/formatter/EmptyLineAfterPackage.after.kt similarity index 100% rename from idea/testData/formatter/EmptyLineAfterPackage_after.kt rename to idea/testData/formatter/EmptyLineAfterPackage.after.kt diff --git a/idea/testData/formatter/ForNoBraces_after.kt b/idea/testData/formatter/ForNoBraces.after.kt similarity index 100% rename from idea/testData/formatter/ForNoBraces_after.kt rename to idea/testData/formatter/ForNoBraces.after.kt diff --git a/idea/testData/formatter/FunctionCallParametersAlign_after.kt b/idea/testData/formatter/FunctionCallParametersAlign.after.kt similarity index 100% rename from idea/testData/formatter/FunctionCallParametersAlign_after.kt rename to idea/testData/formatter/FunctionCallParametersAlign.after.kt diff --git a/idea/testData/formatter/FunctionDefParametersAlign_after.kt b/idea/testData/formatter/FunctionDefParametersAlign.after.kt similarity index 100% rename from idea/testData/formatter/FunctionDefParametersAlign_after.kt rename to idea/testData/formatter/FunctionDefParametersAlign.after.kt diff --git a/idea/testData/formatter/FunctionWithInference_after.kt b/idea/testData/formatter/FunctionWithInference.after.kt similarity index 100% rename from idea/testData/formatter/FunctionWithInference_after.kt rename to idea/testData/formatter/FunctionWithInference.after.kt diff --git a/idea/testData/formatter/FunctionWithNewLineBrace_after.kt b/idea/testData/formatter/FunctionWithNewLineBrace.after.kt similarity index 100% rename from idea/testData/formatter/FunctionWithNewLineBrace_after.kt rename to idea/testData/formatter/FunctionWithNewLineBrace.after.kt diff --git a/idea/testData/formatter/FunctionalType_after_inv.kt b/idea/testData/formatter/FunctionalType.after.inv.kt similarity index 100% rename from idea/testData/formatter/FunctionalType_after_inv.kt rename to idea/testData/formatter/FunctionalType.after.inv.kt diff --git a/idea/testData/formatter/FunctionalType_after.kt b/idea/testData/formatter/FunctionalType.after.kt similarity index 100% rename from idea/testData/formatter/FunctionalType_after.kt rename to idea/testData/formatter/FunctionalType.after.kt diff --git a/idea/testData/formatter/GetterAndSetter_after.kt b/idea/testData/formatter/GetterAndSetter.after.kt similarity index 100% rename from idea/testData/formatter/GetterAndSetter_after.kt rename to idea/testData/formatter/GetterAndSetter.after.kt diff --git a/idea/testData/formatter/If_after.kt b/idea/testData/formatter/If.after.kt similarity index 100% rename from idea/testData/formatter/If_after.kt rename to idea/testData/formatter/If.after.kt diff --git a/idea/testData/formatter/KDoc_after.kt b/idea/testData/formatter/KDoc.after.kt similarity index 100% rename from idea/testData/formatter/KDoc_after.kt rename to idea/testData/formatter/KDoc.after.kt diff --git a/idea/testData/formatter/LambdaArrow_after_inv.kt b/idea/testData/formatter/LambdaArrow.after.inv.kt similarity index 100% rename from idea/testData/formatter/LambdaArrow_after_inv.kt rename to idea/testData/formatter/LambdaArrow.after.inv.kt diff --git a/idea/testData/formatter/LambdaArrow_after.kt b/idea/testData/formatter/LambdaArrow.after.kt similarity index 100% rename from idea/testData/formatter/LambdaArrow_after.kt rename to idea/testData/formatter/LambdaArrow.after.kt diff --git a/idea/testData/formatter/MultilineFunctionLiteral_after.kt b/idea/testData/formatter/MultilineFunctionLiteral.after.kt similarity index 100% rename from idea/testData/formatter/MultilineFunctionLiteral_after.kt rename to idea/testData/formatter/MultilineFunctionLiteral.after.kt diff --git a/idea/testData/formatter/MultilineFunctionLiteralWithParams_after_inv.kt b/idea/testData/formatter/MultilineFunctionLiteralWithParams.after.inv.kt similarity index 100% rename from idea/testData/formatter/MultilineFunctionLiteralWithParams_after_inv.kt rename to idea/testData/formatter/MultilineFunctionLiteralWithParams.after.inv.kt diff --git a/idea/testData/formatter/MultilineFunctionLiteralWithParams_after.kt b/idea/testData/formatter/MultilineFunctionLiteralWithParams.after.kt similarity index 100% rename from idea/testData/formatter/MultilineFunctionLiteralWithParams_after.kt rename to idea/testData/formatter/MultilineFunctionLiteralWithParams.after.kt diff --git a/idea/testData/formatter/Parameters_after_inv.kt b/idea/testData/formatter/Parameters.after.inv.kt similarity index 100% rename from idea/testData/formatter/Parameters_after_inv.kt rename to idea/testData/formatter/Parameters.after.inv.kt diff --git a/idea/testData/formatter/Parameters_after.kt b/idea/testData/formatter/Parameters.after.kt similarity index 100% rename from idea/testData/formatter/Parameters_after.kt rename to idea/testData/formatter/Parameters.after.kt diff --git a/idea/testData/formatter/PropertyWithInference_after.kt b/idea/testData/formatter/PropertyWithInference.after.kt similarity index 100% rename from idea/testData/formatter/PropertyWithInference_after.kt rename to idea/testData/formatter/PropertyWithInference.after.kt diff --git a/idea/testData/formatter/ReferenceExpressionFunctionLiteral_after.kt b/idea/testData/formatter/ReferenceExpressionFunctionLiteral.after.kt similarity index 100% rename from idea/testData/formatter/ReferenceExpressionFunctionLiteral_after.kt rename to idea/testData/formatter/ReferenceExpressionFunctionLiteral.after.kt diff --git a/idea/testData/formatter/RemoveSpacesAroundOperations.after.kt b/idea/testData/formatter/RemoveSpacesAroundOperations.after.kt new file mode 100644 index 00000000000..ff949565138 --- /dev/null +++ b/idea/testData/formatter/RemoveSpacesAroundOperations.after.kt @@ -0,0 +1,39 @@ +class Some { + fun some() { + var int: Int = 0 + + int = 12 + int += 12 + int -= 12 + int *= 12 + int /= 12 + int %= 12 + + true && true + true || false + + 12 === 3 + 12 !== 3 + 12 == 3 + 12 != 3 + + 12 <= 3 + 12 >= 3 + 12 < 3 + 12 > 3 + + 12 + 3 - 12 + + 12 % 3 * 12 / 3 + + !true + int++ + ++int + int-- + --int + +12 + -12 + + 1..2 + } +} \ No newline at end of file diff --git a/idea/testData/formatter/RightBracketOnNewLine_after_inv.kt b/idea/testData/formatter/RightBracketOnNewLine.after.inv.kt similarity index 100% rename from idea/testData/formatter/RightBracketOnNewLine_after_inv.kt rename to idea/testData/formatter/RightBracketOnNewLine.after.inv.kt diff --git a/idea/testData/formatter/RightBracketOnNewLine_after.kt b/idea/testData/formatter/RightBracketOnNewLine.after.kt similarity index 100% rename from idea/testData/formatter/RightBracketOnNewLine_after.kt rename to idea/testData/formatter/RightBracketOnNewLine.after.kt diff --git a/idea/testData/formatter/SaveSpacesInDocComments_after.kt b/idea/testData/formatter/SaveSpacesInDocComments.after.kt similarity index 100% rename from idea/testData/formatter/SaveSpacesInDocComments_after.kt rename to idea/testData/formatter/SaveSpacesInDocComments.after.kt diff --git a/idea/testData/formatter/SingleLineFunctionLiteral_after_inv.kt b/idea/testData/formatter/SingleLineFunctionLiteral.after.inv.kt similarity index 100% rename from idea/testData/formatter/SingleLineFunctionLiteral_after_inv.kt rename to idea/testData/formatter/SingleLineFunctionLiteral.after.inv.kt diff --git a/idea/testData/formatter/SingleLineFunctionLiteral_after.kt b/idea/testData/formatter/SingleLineFunctionLiteral.after.kt similarity index 100% rename from idea/testData/formatter/SingleLineFunctionLiteral_after.kt rename to idea/testData/formatter/SingleLineFunctionLiteral.after.kt diff --git a/idea/testData/formatter/SpaceAroundExtendColon_after_inv.kt b/idea/testData/formatter/SpaceAroundExtendColon.after.inv.kt similarity index 100% rename from idea/testData/formatter/SpaceAroundExtendColon_after_inv.kt rename to idea/testData/formatter/SpaceAroundExtendColon.after.inv.kt diff --git a/idea/testData/formatter/SpaceAroundExtendColon_after.kt b/idea/testData/formatter/SpaceAroundExtendColon.after.kt similarity index 100% rename from idea/testData/formatter/SpaceAroundExtendColon_after.kt rename to idea/testData/formatter/SpaceAroundExtendColon.after.kt diff --git a/idea/testData/formatter/SpaceBeforeFunctionLiteral_after.kt b/idea/testData/formatter/SpaceBeforeFunctionLiteral.after.kt similarity index 100% rename from idea/testData/formatter/SpaceBeforeFunctionLiteral_after.kt rename to idea/testData/formatter/SpaceBeforeFunctionLiteral.after.kt diff --git a/idea/testData/formatter/SpacesAroundOperations_after_inv.kt b/idea/testData/formatter/SpacesAroundOperations.after.inv.kt similarity index 100% rename from idea/testData/formatter/SpacesAroundOperations_after_inv.kt rename to idea/testData/formatter/SpacesAroundOperations.after.inv.kt diff --git a/idea/testData/formatter/SpacesAroundOperations_after.kt b/idea/testData/formatter/SpacesAroundOperations.after.kt similarity index 100% rename from idea/testData/formatter/SpacesAroundOperations_after.kt rename to idea/testData/formatter/SpacesAroundOperations.after.kt diff --git a/idea/testData/formatter/SpacesAroundUnaryOperations_after_inv.kt b/idea/testData/formatter/SpacesAroundUnaryOperations.after.inv.kt similarity index 100% rename from idea/testData/formatter/SpacesAroundUnaryOperations_after_inv.kt rename to idea/testData/formatter/SpacesAroundUnaryOperations.after.inv.kt diff --git a/idea/testData/formatter/SpacesAroundUnaryOperations_after.kt b/idea/testData/formatter/SpacesAroundUnaryOperations.after.kt similarity index 100% rename from idea/testData/formatter/SpacesAroundUnaryOperations_after.kt rename to idea/testData/formatter/SpacesAroundUnaryOperations.after.kt diff --git a/idea/testData/formatter/UnnecessarySpacesInParametersLists_after.kt b/idea/testData/formatter/UnnecessarySpacesInParametersLists.after.kt similarity index 100% rename from idea/testData/formatter/UnnecessarySpacesInParametersLists_after.kt rename to idea/testData/formatter/UnnecessarySpacesInParametersLists.after.kt diff --git a/idea/testData/formatter/When_after_inv.kt b/idea/testData/formatter/When.after.inv.kt similarity index 100% rename from idea/testData/formatter/When_after_inv.kt rename to idea/testData/formatter/When.after.inv.kt diff --git a/idea/testData/formatter/When_after.kt b/idea/testData/formatter/When.after.kt similarity index 100% rename from idea/testData/formatter/When_after.kt rename to idea/testData/formatter/When.after.kt diff --git a/idea/testData/formatter/WhenArrow_after_inv.kt b/idea/testData/formatter/WhenArrow.after.inv.kt similarity index 100% rename from idea/testData/formatter/WhenArrow_after_inv.kt rename to idea/testData/formatter/WhenArrow.after.inv.kt diff --git a/idea/testData/formatter/WhenArrow_after.kt b/idea/testData/formatter/WhenArrow.after.kt similarity index 100% rename from idea/testData/formatter/WhenArrow_after.kt rename to idea/testData/formatter/WhenArrow.after.kt diff --git a/idea/testData/formatter/WhenEntryExpr_after.kt b/idea/testData/formatter/WhenEntryExpr.after.kt similarity index 100% rename from idea/testData/formatter/WhenEntryExpr_after.kt rename to idea/testData/formatter/WhenEntryExpr.after.kt diff --git a/idea/testData/formatter/WhenLinesBeforeLbrace_after.kt b/idea/testData/formatter/WhenLinesBeforeLbrace.after.kt similarity index 100% rename from idea/testData/formatter/WhenLinesBeforeLbrace_after.kt rename to idea/testData/formatter/WhenLinesBeforeLbrace.after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/AfterCatch.kt b/idea/testData/indentationOnNewline/AfterCatch.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/AfterCatch.kt rename to idea/testData/indentationOnNewline/AfterCatch.kt diff --git a/idea/testData/formatter/IndentationOnNewline/AfterCatch_after.kt b/idea/testData/indentationOnNewline/AfterCatch_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/AfterCatch_after.kt rename to idea/testData/indentationOnNewline/AfterCatch_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/AfterFinally.kt b/idea/testData/indentationOnNewline/AfterFinally.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/AfterFinally.kt rename to idea/testData/indentationOnNewline/AfterFinally.kt diff --git a/idea/testData/formatter/IndentationOnNewline/AfterFinally_after.kt b/idea/testData/indentationOnNewline/AfterFinally_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/AfterFinally_after.kt rename to idea/testData/indentationOnNewline/AfterFinally_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/AfterImport.kt b/idea/testData/indentationOnNewline/AfterImport.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/AfterImport.kt rename to idea/testData/indentationOnNewline/AfterImport.kt diff --git a/idea/testData/formatter/IndentationOnNewline/AfterImport_after.kt b/idea/testData/indentationOnNewline/AfterImport_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/AfterImport_after.kt rename to idea/testData/indentationOnNewline/AfterImport_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/AfterTry.kt b/idea/testData/indentationOnNewline/AfterTry.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/AfterTry.kt rename to idea/testData/indentationOnNewline/AfterTry.kt diff --git a/idea/testData/formatter/IndentationOnNewline/AfterTry_after.kt b/idea/testData/indentationOnNewline/AfterTry_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/AfterTry_after.kt rename to idea/testData/indentationOnNewline/AfterTry_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/ConsecutiveCallsAfterDot.kt b/idea/testData/indentationOnNewline/ConsecutiveCallsAfterDot.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/ConsecutiveCallsAfterDot.kt rename to idea/testData/indentationOnNewline/ConsecutiveCallsAfterDot.kt diff --git a/idea/testData/formatter/IndentationOnNewline/ConsecutiveCallsAfterDot_after.kt b/idea/testData/indentationOnNewline/ConsecutiveCallsAfterDot_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/ConsecutiveCallsAfterDot_after.kt rename to idea/testData/indentationOnNewline/ConsecutiveCallsAfterDot_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/DoInFun.kt b/idea/testData/indentationOnNewline/DoInFun.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/DoInFun.kt rename to idea/testData/indentationOnNewline/DoInFun.kt diff --git a/idea/testData/formatter/IndentationOnNewline/DoInFun_after.kt b/idea/testData/indentationOnNewline/DoInFun_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/DoInFun_after.kt rename to idea/testData/indentationOnNewline/DoInFun_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/EmptyParameters.kt b/idea/testData/indentationOnNewline/EmptyParameters.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/EmptyParameters.kt rename to idea/testData/indentationOnNewline/EmptyParameters.kt diff --git a/idea/testData/formatter/IndentationOnNewline/EmptyParameters_after.kt b/idea/testData/indentationOnNewline/EmptyParameters_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/EmptyParameters_after.kt rename to idea/testData/indentationOnNewline/EmptyParameters_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/For.kt b/idea/testData/indentationOnNewline/For.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/For.kt rename to idea/testData/indentationOnNewline/For.kt diff --git a/idea/testData/formatter/IndentationOnNewline/For_after.kt b/idea/testData/indentationOnNewline/For_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/For_after.kt rename to idea/testData/indentationOnNewline/For_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/FunctionBlock.kt b/idea/testData/indentationOnNewline/FunctionBlock.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/FunctionBlock.kt rename to idea/testData/indentationOnNewline/FunctionBlock.kt diff --git a/idea/testData/formatter/IndentationOnNewline/FunctionBlock_after.kt b/idea/testData/indentationOnNewline/FunctionBlock_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/FunctionBlock_after.kt rename to idea/testData/indentationOnNewline/FunctionBlock_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/FunctionWithInference.kt b/idea/testData/indentationOnNewline/FunctionWithInference.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/FunctionWithInference.kt rename to idea/testData/indentationOnNewline/FunctionWithInference.kt diff --git a/idea/testData/formatter/IndentationOnNewline/FunctionWithInference_after.kt b/idea/testData/indentationOnNewline/FunctionWithInference_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/FunctionWithInference_after.kt rename to idea/testData/indentationOnNewline/FunctionWithInference_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/If.kt b/idea/testData/indentationOnNewline/If.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/If.kt rename to idea/testData/indentationOnNewline/If.kt diff --git a/idea/testData/formatter/IndentationOnNewline/If_after.kt b/idea/testData/indentationOnNewline/If_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/If_after.kt rename to idea/testData/indentationOnNewline/If_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/NotFirstParameter.kt b/idea/testData/indentationOnNewline/NotFirstParameter.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/NotFirstParameter.kt rename to idea/testData/indentationOnNewline/NotFirstParameter.kt diff --git a/idea/testData/formatter/IndentationOnNewline/NotFirstParameter_after.kt b/idea/testData/indentationOnNewline/NotFirstParameter_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/NotFirstParameter_after.kt rename to idea/testData/indentationOnNewline/NotFirstParameter_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/PropertyWithInference.kt b/idea/testData/indentationOnNewline/PropertyWithInference.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/PropertyWithInference.kt rename to idea/testData/indentationOnNewline/PropertyWithInference.kt diff --git a/idea/testData/formatter/IndentationOnNewline/PropertyWithInference_after.kt b/idea/testData/indentationOnNewline/PropertyWithInference_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/PropertyWithInference_after.kt rename to idea/testData/indentationOnNewline/PropertyWithInference_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/SettingAlignMultilineParametersInCalls.kt b/idea/testData/indentationOnNewline/SettingAlignMultilineParametersInCalls.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/SettingAlignMultilineParametersInCalls.kt rename to idea/testData/indentationOnNewline/SettingAlignMultilineParametersInCalls.kt diff --git a/idea/testData/formatter/IndentationOnNewline/SettingAlignMultilineParametersInCalls_after.kt b/idea/testData/indentationOnNewline/SettingAlignMultilineParametersInCalls_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/SettingAlignMultilineParametersInCalls_after.kt rename to idea/testData/indentationOnNewline/SettingAlignMultilineParametersInCalls_after.kt diff --git a/idea/testData/formatter/IndentationOnNewline/SettingAlignMultilineParametersInCalls_after_inv.kt b/idea/testData/indentationOnNewline/SettingAlignMultilineParametersInCalls_after_inv.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/SettingAlignMultilineParametersInCalls_after_inv.kt rename to idea/testData/indentationOnNewline/SettingAlignMultilineParametersInCalls_after_inv.kt diff --git a/idea/testData/formatter/IndentationOnNewline/While.kt b/idea/testData/indentationOnNewline/While.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/While.kt rename to idea/testData/indentationOnNewline/While.kt diff --git a/idea/testData/formatter/IndentationOnNewline/While_after.kt b/idea/testData/indentationOnNewline/While_after.kt similarity index 100% rename from idea/testData/formatter/IndentationOnNewline/While_after.kt rename to idea/testData/indentationOnNewline/While_after.kt diff --git a/idea/tests/org/jetbrains/jet/formatter/AbstractJetFormatterTest.java b/idea/tests/org/jetbrains/jet/formatter/AbstractJetFormatterTest.java index adb1bf4f26b..383e70ffe97 100644 --- a/idea/tests/org/jetbrains/jet/formatter/AbstractJetFormatterTest.java +++ b/idea/tests/org/jetbrains/jet/formatter/AbstractJetFormatterTest.java @@ -19,7 +19,6 @@ package org.jetbrains.jet.formatter; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.editor.Document; -import com.intellij.openapi.editor.EditorFactory; import com.intellij.openapi.editor.impl.DocumentImpl; import com.intellij.openapi.roots.LanguageLevelProjectExtension; import com.intellij.openapi.util.TextRange; @@ -32,7 +31,9 @@ import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.testFramework.LightIdeaTestCase; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NonNls; +import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.plugin.PluginTestCaseBase; +import org.jetbrains.jet.testing.SettingsConfigurator; import java.io.File; import java.util.EnumMap; @@ -76,23 +77,11 @@ public abstract class AbstractJetFormatterTest extends LightIdeaTestCase { LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.HIGHEST); } - public void doTest() throws Exception { - doTest(getTestName(false) + ".kt", getTestName(false) + "_after.kt"); + public void doTextTest(@NonNls String text, File fileAfter) throws IncorrectOperationException { + doTextTest(Action.REFORMAT, text, fileAfter); } - public void doTest(@NonNls String fileNameBefore, @NonNls String fileNameAfter) throws Exception { - doTextTest(Action.REFORMAT, loadFile(fileNameBefore), loadFile(fileNameAfter), ""); - } - - public void doTextTest(@NonNls String text, @NonNls String textAfter, String commentToTextCompare) throws IncorrectOperationException { - doTextTest(Action.REFORMAT, text, textAfter, commentToTextCompare); - } - - public void doIndentTextTest(@NonNls String text, @NonNls String textAfter) throws IncorrectOperationException { - doTextTest(Action.INDENT, text, textAfter, ""); - } - - public void doTextTest(final Action action, final String text, String textAfter, String commentToTextCompare) throws IncorrectOperationException { + public void doTextTest(final Action action, final String text, File fileAfter) throws IncorrectOperationException { final PsiFile file = createFile("A.kt", text); if (myLineRange != null) { @@ -132,34 +121,9 @@ public abstract class AbstractJetFormatterTest extends LightIdeaTestCase { fail("Don't expect the document to be null"); return; } - assertEquals(commentToTextCompare, prepareText(textAfter), prepareText(document.getText())); + JetTestUtils.assertEqualsToFile(fileAfter, document.getText()); manager.commitDocument(document); - assertEquals(commentToTextCompare, prepareText(textAfter), prepareText(file.getText())); - } - - private static String prepareText(String actual) { - if (actual.startsWith("\n")) { - actual = actual.substring(1); - } - if (actual.startsWith("\n")) { - actual = actual.substring(1); - } - - // Strip trailing spaces - final Document doc = EditorFactory.getInstance().createDocument(actual); - CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() { - @Override - public void run() { - ApplicationManager.getApplication().runWriteAction(new Runnable() { - @Override - public void run() { - ((DocumentImpl)doc).stripTrailingSpaces(); - } - }); - } - }, "formatting", null); - - return doc.getText(); + JetTestUtils.assertEqualsToFile(fileAfter, file.getText()); } protected static String loadFile(String name) throws Exception { @@ -167,4 +131,21 @@ public abstract class AbstractJetFormatterTest extends LightIdeaTestCase { text = StringUtil.convertLineSeparators(text); return text; } + + public void doTest(String testFileNameWithExtension) throws Exception { + String testFileName = FileUtil.getNameWithoutExtension(testFileNameWithExtension); + String originalFileText = FileUtil.loadFile(new File(testFileName + ".kt"), true); + SettingsConfigurator configurator = JetFormatSettingsUtil.createConfigurator(originalFileText, JetFormatSettingsUtil.getSettings()); + + configurator.configureSettings(); + doTextTest(originalFileText, new File(testFileName + ".after.kt")); + + String afterInvertedFileName = testFileName + ".after_inv.kt"; + if (new File(afterInvertedFileName).exists()) { + configurator.configureInvertedSettings(); + doTextTest(originalFileText, new File(afterInvertedFileName)); + } + + JetFormatSettingsUtil.getSettings().clearCodeStyleSettings(); + } } diff --git a/idea/tests/org/jetbrains/jet/formatter/JetFormatterTest.java b/idea/tests/org/jetbrains/jet/formatter/JetFormatterTest.java deleted file mode 100644 index 2cee0d234eb..00000000000 --- a/idea/tests/org/jetbrains/jet/formatter/JetFormatterTest.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright 2010-2013 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.jet.formatter; - -import org.jetbrains.jet.testing.SettingsConfigurator; - -/** - * Based on com.intellij.psi.formatter.java.JavaFormatterTest - */ -public class JetFormatterTest extends AbstractJetFormatterTest { - - public void testBlockFor() throws Exception { - doTest(); - } - - public void testClass() throws Exception { - doTest(); - } - - public void testCommentInFunctionLiteral() throws Exception { - doTest(); - } - - public void testConsecutiveCalls() throws Exception { - doTest(); - } - - public void testEmptyLineAfterPackage() throws Exception { - doTest(); - } - - public void testForNoBraces() throws Exception { - doTest(); - } - - public void testFunctionCallParametersAlign() throws Exception { - doTest(); - } - - public void testFunctionDefParametersAlign() throws Exception { - doTest(); - } - - public void testFunctionWithInference() throws Exception { - doTest(); - } - - public void testFunctionWithNewLineBrace() throws Exception { - doTest(); - } - - public void testGetterAndSetter() throws Exception { - doTest(); - } - - public void testIf() throws Exception { - doTest(); - } - - public void testKDoc() throws Exception { - doTest(); - } - - public void testMultilineFunctionLiteral() throws Exception { - doTest(); - } - - public void testMultilineFunctionLiteralWithParams() throws Exception { - doTestWithInvert(); - } - - public void testParameters() throws Exception { - doTestWithInvert(); - } - - public void testPropertyWithInference() throws Exception { - doTest(); - } - - public void testRightBracketOnNewLine() throws Exception { - doTestWithInvert(); - } - - public void testSaveSpacesInDocComments() throws Exception { - doTest(); - } - - public void testSingleLineFunctionLiteral() throws Exception { - doTestWithInvert(); - } - - public void testSpaceAroundExtendColon() throws Exception { - doTestWithInvert(); - } - - public void testSpaceBeforeFunctionLiteral() throws Exception { - doTest(); - } - - public void testSpacesAroundOperations() throws Exception { - doTestWithInvert(); - } - - public void testSpacesAroundUnaryOperations() throws Exception { - doTestWithInvert(); - } - - public void testUnnecessarySpacesInParametersLists() throws Exception { - doTest(); - } - - public void testWhen() throws Exception { - doTestWithInvert(); - } - - public void testWhenEntryExpr() throws Exception { - doTest(); - } - - public void testWhenArrow() throws Exception { - doTestWithInvert(); - } - - public void testWhenLinesBeforeLbrace() throws Exception { - doTest(); - } - - public void testFunctionalType() throws Exception { - doTestWithInvert(); - } - - public void testLambdaArrow() throws Exception { - doTestWithInvert(); - } - - public void testReferenceExpressionFunctionLiteral() throws Exception { - doTest(); - } - - @Override - public void doTest() throws Exception { - String originalFileText = AbstractJetFormatterTest.loadFile(getTestName(false) + ".kt"); - - String afterFileName = getTestName(false) + "_after.kt"; - String afterText = AbstractJetFormatterTest.loadFile(afterFileName); - - SettingsConfigurator configurator = JetFormatSettingsUtil.createConfigurator(originalFileText); - configurator.configureSettings(); - - doTextTest(originalFileText, afterText, String.format("Failure in NORMAL file: %s", afterFileName)); - - JetFormatSettingsUtil.getSettings().clearCodeStyleSettings(); - } - - public void doTestWithInvert() throws Exception { - String originalFileText = AbstractJetFormatterTest.loadFile(getTestName(false) + ".kt"); - SettingsConfigurator configurator = JetFormatSettingsUtil.createConfigurator(originalFileText, JetFormatSettingsUtil.getSettings()); - - String afterFileName = getTestName(false) + "_after.kt"; - String afterText = AbstractJetFormatterTest.loadFile(afterFileName); - configurator.configureSettings(); - doTextTest(originalFileText, afterText, String.format("Failure in NORMAL file: %s", afterFileName)); - - String afterInvertedFileName = getTestName(false) + "_after_inv.kt"; - String afterInvertedText = AbstractJetFormatterTest.loadFile(afterInvertedFileName); - configurator.configureInvertedSettings(); - doTextTest(originalFileText, afterInvertedText, String.format("Failure in INVERTED file: %s", afterInvertedFileName)); - - JetFormatSettingsUtil.getSettings().clearCodeStyleSettings(); - } -} diff --git a/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java b/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java new file mode 100644 index 00000000000..891b89c2f53 --- /dev/null +++ b/idea/tests/org/jetbrains/jet/formatter/JetFormatterTestGenerated.java @@ -0,0 +1,204 @@ +/* + * Copyright 2010-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet.formatter; + +import junit.framework.Assert; +import junit.framework.Test; +import junit.framework.TestSuite; + +import java.io.File; +import java.util.regex.Pattern; +import org.jetbrains.jet.JetTestUtils; +import org.jetbrains.jet.test.InnerTestClasses; +import org.jetbrains.jet.test.TestMetadata; + +import org.jetbrains.jet.formatter.AbstractJetFormatterTest; + +/** This class is generated by {@link org.jetbrains.jet.generators.tests.GenerateTests}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("idea/testData/formatter") +public class JetFormatterTestGenerated extends AbstractJetFormatterTest { + public void testAllFilesPresentInFormatter() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/formatter"), Pattern.compile("^([^\\.]+)\\.kt$"), true); + } + + @TestMetadata("BlockFor.kt") + public void testBlockFor() throws Exception { + doTest("idea/testData/formatter/BlockFor.kt"); + } + + @TestMetadata("Class.kt") + public void testClass() throws Exception { + doTest("idea/testData/formatter/Class.kt"); + } + + @TestMetadata("CommentInFunctionLiteral.kt") + public void testCommentInFunctionLiteral() throws Exception { + doTest("idea/testData/formatter/CommentInFunctionLiteral.kt"); + } + + @TestMetadata("ConsecutiveCalls.kt") + public void testConsecutiveCalls() throws Exception { + doTest("idea/testData/formatter/ConsecutiveCalls.kt"); + } + + @TestMetadata("EmptyLineAfterPackage.kt") + public void testEmptyLineAfterPackage() throws Exception { + doTest("idea/testData/formatter/EmptyLineAfterPackage.kt"); + } + + @TestMetadata("ForNoBraces.kt") + public void testForNoBraces() throws Exception { + doTest("idea/testData/formatter/ForNoBraces.kt"); + } + + @TestMetadata("FunctionCallParametersAlign.kt") + public void testFunctionCallParametersAlign() throws Exception { + doTest("idea/testData/formatter/FunctionCallParametersAlign.kt"); + } + + @TestMetadata("FunctionDefParametersAlign.kt") + public void testFunctionDefParametersAlign() throws Exception { + doTest("idea/testData/formatter/FunctionDefParametersAlign.kt"); + } + + @TestMetadata("FunctionWithInference.kt") + public void testFunctionWithInference() throws Exception { + doTest("idea/testData/formatter/FunctionWithInference.kt"); + } + + @TestMetadata("FunctionWithNewLineBrace.kt") + public void testFunctionWithNewLineBrace() throws Exception { + doTest("idea/testData/formatter/FunctionWithNewLineBrace.kt"); + } + + @TestMetadata("FunctionalType.kt") + public void testFunctionalType() throws Exception { + doTest("idea/testData/formatter/FunctionalType.kt"); + } + + @TestMetadata("GetterAndSetter.kt") + public void testGetterAndSetter() throws Exception { + doTest("idea/testData/formatter/GetterAndSetter.kt"); + } + + @TestMetadata("If.kt") + public void testIf() throws Exception { + doTest("idea/testData/formatter/If.kt"); + } + + @TestMetadata("KDoc.kt") + public void testKDoc() throws Exception { + doTest("idea/testData/formatter/KDoc.kt"); + } + + @TestMetadata("LambdaArrow.kt") + public void testLambdaArrow() throws Exception { + doTest("idea/testData/formatter/LambdaArrow.kt"); + } + + @TestMetadata("MultilineFunctionLiteral.kt") + public void testMultilineFunctionLiteral() throws Exception { + doTest("idea/testData/formatter/MultilineFunctionLiteral.kt"); + } + + @TestMetadata("MultilineFunctionLiteralWithParams.kt") + public void testMultilineFunctionLiteralWithParams() throws Exception { + doTest("idea/testData/formatter/MultilineFunctionLiteralWithParams.kt"); + } + + @TestMetadata("Parameters.kt") + public void testParameters() throws Exception { + doTest("idea/testData/formatter/Parameters.kt"); + } + + @TestMetadata("PropertyWithInference.kt") + public void testPropertyWithInference() throws Exception { + doTest("idea/testData/formatter/PropertyWithInference.kt"); + } + + @TestMetadata("ReferenceExpressionFunctionLiteral.kt") + public void testReferenceExpressionFunctionLiteral() throws Exception { + doTest("idea/testData/formatter/ReferenceExpressionFunctionLiteral.kt"); + } + + @TestMetadata("RemoveSpacesAroundOperations.kt") + public void testRemoveSpacesAroundOperations() throws Exception { + doTest("idea/testData/formatter/RemoveSpacesAroundOperations.kt"); + } + + @TestMetadata("RightBracketOnNewLine.kt") + public void testRightBracketOnNewLine() throws Exception { + doTest("idea/testData/formatter/RightBracketOnNewLine.kt"); + } + + @TestMetadata("SaveSpacesInDocComments.kt") + public void testSaveSpacesInDocComments() throws Exception { + doTest("idea/testData/formatter/SaveSpacesInDocComments.kt"); + } + + @TestMetadata("SingleLineFunctionLiteral.kt") + public void testSingleLineFunctionLiteral() throws Exception { + doTest("idea/testData/formatter/SingleLineFunctionLiteral.kt"); + } + + @TestMetadata("SpaceAroundExtendColon.kt") + public void testSpaceAroundExtendColon() throws Exception { + doTest("idea/testData/formatter/SpaceAroundExtendColon.kt"); + } + + @TestMetadata("SpaceBeforeFunctionLiteral.kt") + public void testSpaceBeforeFunctionLiteral() throws Exception { + doTest("idea/testData/formatter/SpaceBeforeFunctionLiteral.kt"); + } + + @TestMetadata("SpacesAroundOperations.kt") + public void testSpacesAroundOperations() throws Exception { + doTest("idea/testData/formatter/SpacesAroundOperations.kt"); + } + + @TestMetadata("SpacesAroundUnaryOperations.kt") + public void testSpacesAroundUnaryOperations() throws Exception { + doTest("idea/testData/formatter/SpacesAroundUnaryOperations.kt"); + } + + @TestMetadata("UnnecessarySpacesInParametersLists.kt") + public void testUnnecessarySpacesInParametersLists() throws Exception { + doTest("idea/testData/formatter/UnnecessarySpacesInParametersLists.kt"); + } + + @TestMetadata("When.kt") + public void testWhen() throws Exception { + doTest("idea/testData/formatter/When.kt"); + } + + @TestMetadata("WhenArrow.kt") + public void testWhenArrow() throws Exception { + doTest("idea/testData/formatter/WhenArrow.kt"); + } + + @TestMetadata("WhenEntryExpr.kt") + public void testWhenEntryExpr() throws Exception { + doTest("idea/testData/formatter/WhenEntryExpr.kt"); + } + + @TestMetadata("WhenLinesBeforeLbrace.kt") + public void testWhenLinesBeforeLbrace() throws Exception { + doTest("idea/testData/formatter/WhenLinesBeforeLbrace.kt"); + } + +} diff --git a/idea/tests/org/jetbrains/jet/formatter/JetTypingIndentationTest.java b/idea/tests/org/jetbrains/jet/formatter/JetTypingIndentationTest.java index 476f6b17d7c..2fd22294084 100644 --- a/idea/tests/org/jetbrains/jet/formatter/JetTypingIndentationTest.java +++ b/idea/tests/org/jetbrains/jet/formatter/JetTypingIndentationTest.java @@ -131,7 +131,7 @@ public class JetTypingIndentationTest extends LightCodeInsightTestCase { @NotNull @Override protected String getTestDataPath() { - String testRelativeDir = "formatter/IndentationOnNewline"; + String testRelativeDir = "indentationOnNewline"; return new File(PluginTestCaseBase.getTestDataPathBase(), testRelativeDir).getPath() + File.separator; }