package com.jetbrains.lang.dart.formatter; import com.intellij.psi.codeStyle.CommonCodeStyleSettings; import com.intellij.psi.formatter.FormatterTestCase; import com.jetbrains.lang.dart.DartFileType; import com.jetbrains.lang.dart.DartLanguage; import com.jetbrains.lang.dart.util.DartTestUtils; public class DartFormatterTest extends FormatterTestCase { protected String getFileExtension() { return DartFileType.DEFAULT_EXTENSION; } protected String getTestDataPath() { return DartTestUtils.BASE_TEST_DATA_PATH; } @Override protected String getBasePath() { return "formatter"; } @Override protected void doTest(String resultNumber) throws Exception { String testName = getTestName(false); doTest(testName + "." + getFileExtension(), testName + "_after." + getFileExtension(), resultNumber); } public void testAlignment() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.ALIGN_MULTILINE_PARAMETERS = true; settings.ALIGN_MULTILINE_BINARY_OPERATION = true; settings.ALIGN_MULTILINE_TERNARY_OPERATION = true; settings.KEEP_LINE_BREAKS = true; doTest(); } public void testBracePlacement1() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.KEEP_LINE_BREAKS = false; settings.BRACE_STYLE = CommonCodeStyleSettings.NEXT_LINE_SHIFTED2; settings.METHOD_BRACE_STYLE = CommonCodeStyleSettings.NEXT_LINE; doTest(); } public void testBracePlacement2() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.KEEP_LINE_BREAKS = false; settings.BRACE_STYLE = CommonCodeStyleSettings.END_OF_LINE; settings.METHOD_BRACE_STYLE = CommonCodeStyleSettings.NEXT_LINE_SHIFTED; doTest(); } public void testDefault() throws Exception { doTest(); } public void testDefault2() throws Exception { doTest(); } public void testDefault3() throws Exception { doTest(); } public void testDefaultAll() throws Exception { doTest(); } public void testWEB_7058() throws Exception { doTest(); } public void testCascades() throws Exception { doTest(); } public void testCascadeSame() throws Exception { doTest(); } public void testStrings() throws Exception { doTest(); } public void testAdjacentStrings() throws Exception { doTest(); } public void testAdjacentStringsLong() throws Exception { doTest(); } public void testExpressions() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.RIGHT_MARGIN = 40; settings.KEEP_LINE_BREAKS = false; // TODO Decide whether this should be the default -- risky! doTest(); } public void testSpaceAroundOperators() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.KEEP_LINE_BREAKS = false; settings.SPACE_AROUND_ASSIGNMENT_OPERATORS = false; settings.SPACE_AROUND_LOGICAL_OPERATORS = false; settings.SPACE_AROUND_EQUALITY_OPERATORS = false; settings.SPACE_AROUND_RELATIONAL_OPERATORS = false; settings.SPACE_AROUND_ADDITIVE_OPERATORS = false; settings.SPACE_AROUND_MULTIPLICATIVE_OPERATORS = false; doTest(); } public void testSpaceBeforeParentheses() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.KEEP_LINE_BREAKS = false; settings.SPACE_BEFORE_METHOD_CALL_PARENTHESES = true; settings.SPACE_BEFORE_METHOD_PARENTHESES = true; settings.SPACE_BEFORE_IF_PARENTHESES = false; settings.SPACE_BEFORE_FOR_PARENTHESES = false; settings.SPACE_BEFORE_WHILE_PARENTHESES = false; settings.SPACE_BEFORE_SWITCH_PARENTHESES = false; settings.SPACE_BEFORE_CATCH_PARENTHESES = false; doTest(); } public void testSpaceLeftBraces() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.KEEP_LINE_BREAKS = false; settings.SPACE_BEFORE_METHOD_LBRACE = false; settings.SPACE_BEFORE_IF_LBRACE = false; settings.SPACE_BEFORE_ELSE_LBRACE = false; settings.SPACE_BEFORE_FOR_LBRACE = false; settings.SPACE_BEFORE_WHILE_LBRACE = false; settings.SPACE_BEFORE_SWITCH_LBRACE = false; settings.SPACE_BEFORE_TRY_LBRACE = false; settings.SPACE_BEFORE_CATCH_LBRACE = false; doTest(); } public void testSpaceOthers() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.KEEP_LINE_BREAKS = false; settings.SPACE_BEFORE_WHILE_KEYWORD = false; settings.SPACE_BEFORE_CATCH_KEYWORD = false; settings.SPACE_BEFORE_ELSE_KEYWORD = false; settings.SPACE_BEFORE_QUEST = false; settings.SPACE_AFTER_QUEST = false; settings.SPACE_BEFORE_COLON = false; settings.SPACE_AFTER_COLON = false; settings.SPACE_BEFORE_COMMA = true; settings.SPACE_AFTER_COMMA = false; settings.SPACE_BEFORE_SEMICOLON = true; settings.SPACE_AFTER_SEMICOLON = false; doTest(); } public void testSpaceWithin() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.KEEP_LINE_BREAKS = false; settings.SPACE_WITHIN_METHOD_CALL_PARENTHESES = true; settings.SPACE_WITHIN_METHOD_PARENTHESES = true; settings.SPACE_WITHIN_IF_PARENTHESES = true; settings.SPACE_WITHIN_FOR_PARENTHESES = true; settings.SPACE_WITHIN_WHILE_PARENTHESES = true; settings.SPACE_WITHIN_SWITCH_PARENTHESES = true; settings.SPACE_WITHIN_CATCH_PARENTHESES = true; doTest(); } public void testWrappingMeth() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.METHOD_ANNOTATION_WRAP = CommonCodeStyleSettings.WRAP_AS_NEEDED; settings.METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE = true; settings.METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE = true; settings.CALL_PARAMETERS_WRAP = CommonCodeStyleSettings.WRAP_AS_NEEDED; settings.CALL_PARAMETERS_LPAREN_ON_NEXT_LINE = true; settings.CALL_PARAMETERS_RPAREN_ON_NEXT_LINE = true; settings.ELSE_ON_NEW_LINE = true; settings.SPECIAL_ELSE_IF_TREATMENT = true; settings.FOR_STATEMENT_WRAP = CommonCodeStyleSettings.WRAP_AS_NEEDED; settings.FOR_STATEMENT_LPAREN_ON_NEXT_LINE = true; settings.FOR_STATEMENT_RPAREN_ON_NEXT_LINE = true; settings.WHILE_ON_NEW_LINE = true; settings.CATCH_ON_NEW_LINE = true; settings.BINARY_OPERATION_WRAP = CommonCodeStyleSettings.WRAP_AS_NEEDED; settings.BINARY_OPERATION_SIGN_ON_NEXT_LINE = true; settings.PARENTHESES_EXPRESSION_LPAREN_WRAP = true; settings.PARENTHESES_EXPRESSION_RPAREN_WRAP = true; settings.ASSIGNMENT_WRAP = CommonCodeStyleSettings.WRAP_AS_NEEDED; settings.PLACE_ASSIGNMENT_SIGN_ON_NEXT_LINE = true; settings.TERNARY_OPERATION_WRAP = CommonCodeStyleSettings.WRAP_AS_NEEDED; settings.TERNARY_OPERATION_SIGNS_ON_NEXT_LINE = true; settings.BLOCK_COMMENT_AT_FIRST_COLUMN = true; settings.KEEP_LINE_BREAKS = true; doTest(); } public void testComments() throws Exception { getSettings(DartLanguage.INSTANCE).KEEP_FIRST_COLUMN_COMMENT = false; doTest(); } public void testLineCommentsAtFirstColumn() throws Exception { getSettings(DartLanguage.INSTANCE).KEEP_FIRST_COLUMN_COMMENT = true; doTest(); } public void testMetadata() throws Exception { doTest(); } public void testMapAndListLiterals() throws Exception { doTest(); } public void testEmptyBlocks() throws Exception { doTest(); } public void testTernary1() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.RIGHT_MARGIN = 40; doTest(); } public void testVarDecl() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.RIGHT_MARGIN = 40; doTest(); } public void testFileComments() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.RIGHT_MARGIN = 40; doTest(); } public void testOddCases() throws Exception { final CommonCodeStyleSettings settings = getSettings(DartLanguage.INSTANCE); settings.BRACE_STYLE = CommonCodeStyleSettings.NEXT_LINE_IF_WRAPPED; doTest(); } public void testArguments() throws Exception { doTest(); } public void testArgumentComment() throws Exception { doTest(); } }