This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git


The following commit(s) were added to refs/heads/develop by this push:
     new b4dda35  formatter: fix collapseEmptyBlocks
b4dda35 is described below

commit b4dda358d4c922cad922683f203109088abf9acb
Author: Josh Tynjala <[email protected]>
AuthorDate: Thu Feb 24 14:29:12 2022 -0800

    formatter: fix collapseEmptyBlocks
---
 .../org/apache/royale/formatter/FORMATTER.java     | 32 +++++++++++++++-------
 .../royale/formatter/TestClassDeclaration.java     | 20 ++++++++++++++
 .../royale/formatter/TestDoWhileStatement.java     | 22 +++++++++++++++
 .../royale/formatter/TestElseIfStatement.java      | 26 ++++++++++++++++++
 .../apache/royale/formatter/TestElseStatement.java | 23 ++++++++++++++++
 .../royale/formatter/TestForEachStatement.java     | 20 ++++++++++++++
 .../royale/formatter/TestForInStatement.java       | 20 ++++++++++++++
 .../apache/royale/formatter/TestForStatement.java  | 20 ++++++++++++++
 .../royale/formatter/TestFunctionDeclaration.java  | 20 ++++++++++++++
 .../apache/royale/formatter/TestIfStatement.java   | 22 +++++++++++++--
 .../royale/formatter/TestInterfaceDeclaration.java | 20 ++++++++++++++
 .../royale/formatter/TestMethodDeclaration.java    | 26 ++++++++++++++++++
 .../royale/formatter/TestPackageDeclaration.java   | 20 ++++++++++++++
 .../royale/formatter/TestWhileStatement.java       | 20 ++++++++++++++
 14 files changed, 299 insertions(+), 12 deletions(-)

diff --git a/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java 
b/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java
index cddc59f..af40ec4 100644
--- a/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java
+++ b/formatter/src/main/java/org/apache/royale/formatter/FORMATTER.java
@@ -692,6 +692,11 @@ public class FORMATTER {
                                                if (prevToken != null && 
prevToken.getType() == ASTokenTypes.HIDDEN_TOKEN_SINGLE_LINE_COMMENT) {
                                                        newLinesInExtra++;
                                                }
+                                               boolean oneLineBlock = 
prevToken != null && prevToken.getType() == ASTokenTypes.TOKEN_BLOCK_OPEN
+                                                               && nextToken != 
null && nextToken.getType() == ASTokenTypes.TOKEN_BLOCK_CLOSE;
+                                               if (oneLineBlock && 
collapseEmptyBlocks) {
+                                                       newLinesInExtra = 0;
+                                               }
                                                numRequiredNewLines = 
Math.max(numRequiredNewLines, newLinesInExtra);
                                                if (!indentedStatement && 
numRequiredNewLines > 0 && prevTokenNotComment != null
                                                                && 
prevTokenNotComment.getType() != ASTokenTypes.TOKEN_SEMICOLON
@@ -749,12 +754,14 @@ public class FORMATTER {
                                                                
indentedStatement = false;
                                                                indent = 
decreaseIndent(indent);
                                                        }
-                                                       boolean oneLineBlock = 
nextToken != null
-                                                                       && 
nextToken.getType() == ASTokenTypes.TOKEN_BLOCK_CLOSE;
+                                                       boolean oneLineBlock = 
nextToken != null && nextToken.getType() == ASTokenTypes.TOKEN_BLOCK_CLOSE;
                                                        boolean needsNewLine = 
placeOpenBraceOnNewLine && (!collapseEmptyBlocks || !oneLineBlock);
                                                        if (needsNewLine) {
                                                                
numRequiredNewLines = Math.max(numRequiredNewLines, 1);
                                                        } else {
+                                                               if 
(oneLineBlock && collapseEmptyBlocks) {
+                                                                       
numRequiredNewLines = 0;
+                                                               }
                                                                requiredSpace = 
true;
                                                        }
                                                } else {
@@ -788,7 +795,8 @@ public class FORMATTER {
                                                        if 
(stackItem.token.getType() == ASTokenTypes.TOKEN_KEYWORD_SWITCH) {
                                                                
SwitchBlockStackItem switchStackItem = (SwitchBlockStackItem) stackItem;
                                                                if 
(switchStackItem.clauseCount > 0
-                                                                               
&& (prevToken == null || prevToken.getType() != 
ASTokenTypes.TOKEN_BLOCK_CLOSE)) {
+                                                                               
&& (prevToken == null
+                                                                               
                || prevToken.getType() != ASTokenTypes.TOKEN_BLOCK_CLOSE)) {
                                                                        indent 
= decreaseIndent(indent);
                                                                }
                                                        }
@@ -953,7 +961,8 @@ public class FORMATTER {
                        switch (token.getType()) {
                                case ASTokenTypes.TOKEN_BLOCK_OPEN: {
                                        if (blockOpenPending) {
-                                               boolean oneLineBlock = 
nextToken != null && nextToken.getType() == ASTokenTypes.TOKEN_BLOCK_CLOSE;
+                                               boolean oneLineBlock = 
nextToken != null
+                                                               && 
nextToken.getType() == ASTokenTypes.TOKEN_BLOCK_CLOSE;
                                                if (placeOpenBraceOnNewLine && 
(!collapseEmptyBlocks || !oneLineBlock)) {
                                                        indent = 
increaseIndent(indent);
                                                }
@@ -1008,8 +1017,9 @@ public class FORMATTER {
                                                        }
                                                }
                                                if (!inControlFlowStatement) {
-                                                       if (nextToken != null 
&& (nextToken.getType() == ASTokenTypes.HIDDEN_TOKEN_SINGLE_LINE_COMMENT
-                                                                       || 
nextToken.getType() == ASTokenTypes.HIDDEN_TOKEN_MULTI_LINE_COMMENT)) {
+                                                       if (nextToken != null
+                                                                       && 
(nextToken.getType() == ASTokenTypes.HIDDEN_TOKEN_SINGLE_LINE_COMMENT
+                                                                               
        || nextToken.getType() == 
ASTokenTypes.HIDDEN_TOKEN_MULTI_LINE_COMMENT)) {
                                                                requiredSpace = 
true;
                                                        } else {
                                                                
numRequiredNewLines = Math.max(numRequiredNewLines, 1);
@@ -1138,7 +1148,8 @@ public class FORMATTER {
                                                break;
                                        }
                                        case ASTokenTypes.TOKEN_KEYWORD_ELSE: {
-                                               if (nextTokenNotComment != null 
&& nextTokenNotComment.getType() == ASTokenTypes.TOKEN_KEYWORD_IF) {
+                                               if (nextTokenNotComment != null
+                                                               && 
nextTokenNotComment.getType() == ASTokenTypes.TOKEN_KEYWORD_IF) {
                                                        requiredSpace = true;
                                                } else {
                                                        blockStack.add(new 
BlockStackItem(token));
@@ -1179,8 +1190,9 @@ public class FORMATTER {
                                                                
inCaseOrDefaultClause = false;
                                                                
caseOrDefaultBlockOpenPending = true;
                                                                indent = 
increaseIndent(indent);
-                                                               if (nextToken 
!= null && (nextToken.getType() == ASTokenTypes.HIDDEN_TOKEN_SINGLE_LINE_COMMENT
-                                                                       || 
nextToken.getType() == ASTokenTypes.HIDDEN_TOKEN_MULTI_LINE_COMMENT)) {
+                                                               if (nextToken 
!= null && (nextToken
+                                                                               
.getType() == ASTokenTypes.HIDDEN_TOKEN_SINGLE_LINE_COMMENT
+                                                                               
|| nextToken.getType() == ASTokenTypes.HIDDEN_TOKEN_MULTI_LINE_COMMENT)) {
                                                                        
requiredSpace = true;
                                                                } else {
                                                                        
numRequiredNewLines = Math.max(numRequiredNewLines, 1);
@@ -1918,7 +1930,7 @@ public class FORMATTER {
                                        if (nextToken != null && 
nextToken.getType() != MXMLTokenTypes.TOKEN_TAG_END
                                                        && nextToken.getType() 
!= MXMLTokenTypes.TOKEN_EMPTY_TAG_END) {
                                                attributeIndent = 
getAttributeIndent(token);
-                                               if(nextToken.getType() != 
TOKEN_TYPE_EXTRA) {
+                                               if (nextToken.getType() != 
TOKEN_TYPE_EXTRA) {
                                                        requiredSpace = true;
                                                }
                                        }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestClassDeclaration.java 
b/formatter/src/test/java/org/apache/royale/formatter/TestClassDeclaration.java
index 3109b92..c30db9f 100644
--- 
a/formatter/src/test/java/org/apache/royale/formatter/TestClassDeclaration.java
+++ 
b/formatter/src/test/java/org/apache/royale/formatter/TestClassDeclaration.java
@@ -114,4 +114,24 @@ public class TestClassDeclaration extends 
BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "class MyClass {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "class MyClass {}",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestDoWhileStatement.java 
b/formatter/src/test/java/org/apache/royale/formatter/TestDoWhileStatement.java
index b96a2a3..1e3a5d4 100644
--- 
a/formatter/src/test/java/org/apache/royale/formatter/TestDoWhileStatement.java
+++ 
b/formatter/src/test/java/org/apache/royale/formatter/TestDoWhileStatement.java
@@ -366,4 +366,26 @@ public class TestDoWhileStatement extends 
BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "do {\n" +
+                       "}\n" +
+                       "while (condition1);",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "do {}\n" +
+                               "while (condition1);",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestElseIfStatement.java 
b/formatter/src/test/java/org/apache/royale/formatter/TestElseIfStatement.java
index 8b245db..af62b55 100644
--- 
a/formatter/src/test/java/org/apache/royale/formatter/TestElseIfStatement.java
+++ 
b/formatter/src/test/java/org/apache/royale/formatter/TestElseIfStatement.java
@@ -500,4 +500,30 @@ public class TestElseIfStatement extends 
BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "if (condition1) {\n" +
+                       "}\n" +
+                       "else if (condition2) {\n" +
+                       "}\n" +
+                       "else {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "if (condition1) {}\n" +
+                               "else if (condition2) {}\n" +
+                               "else {}",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestElseStatement.java 
b/formatter/src/test/java/org/apache/royale/formatter/TestElseStatement.java
index 5df628d..768f5b6 100644
--- a/formatter/src/test/java/org/apache/royale/formatter/TestElseStatement.java
+++ b/formatter/src/test/java/org/apache/royale/formatter/TestElseStatement.java
@@ -539,4 +539,27 @@ public class TestElseStatement extends BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "if (condition1) {\n" +
+                       "}\n" +
+                       "else {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "if (condition1) {}\n" +
+                               "else {}",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestForEachStatement.java 
b/formatter/src/test/java/org/apache/royale/formatter/TestForEachStatement.java
index 6325bc0..709700f 100644
--- 
a/formatter/src/test/java/org/apache/royale/formatter/TestForEachStatement.java
+++ 
b/formatter/src/test/java/org/apache/royale/formatter/TestForEachStatement.java
@@ -316,4 +316,24 @@ public class TestForEachStatement extends 
BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "for each (var item:Object in array) {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "for each (var item:Object in array) {}",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestForInStatement.java 
b/formatter/src/test/java/org/apache/royale/formatter/TestForInStatement.java
index bbb9a51..f3503e5 100644
--- 
a/formatter/src/test/java/org/apache/royale/formatter/TestForInStatement.java
+++ 
b/formatter/src/test/java/org/apache/royale/formatter/TestForInStatement.java
@@ -317,4 +317,24 @@ public class TestForInStatement extends BaseFormatterTests 
{
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "for (var key:String in object) {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "for (var key:String in object) {}",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestForStatement.java 
b/formatter/src/test/java/org/apache/royale/formatter/TestForStatement.java
index 48032ce..28f6dfb 100644
--- a/formatter/src/test/java/org/apache/royale/formatter/TestForStatement.java
+++ b/formatter/src/test/java/org/apache/royale/formatter/TestForStatement.java
@@ -346,4 +346,24 @@ public class TestForStatement extends BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "for (var i:int = 0; i < 3; i++) {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "for (var i:int = 0; i < 3; i++) {}",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestFunctionDeclaration.java
 
b/formatter/src/test/java/org/apache/royale/formatter/TestFunctionDeclaration.java
index 13de967..0331109 100644
--- 
a/formatter/src/test/java/org/apache/royale/formatter/TestFunctionDeclaration.java
+++ 
b/formatter/src/test/java/org/apache/royale/formatter/TestFunctionDeclaration.java
@@ -320,4 +320,24 @@ public class TestFunctionDeclaration extends 
BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "function myFunction() {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "function myFunction() {}",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestIfStatement.java 
b/formatter/src/test/java/org/apache/royale/formatter/TestIfStatement.java
index d679d47..d3ad0ba 100644
--- a/formatter/src/test/java/org/apache/royale/formatter/TestIfStatement.java
+++ b/formatter/src/test/java/org/apache/royale/formatter/TestIfStatement.java
@@ -404,14 +404,12 @@ public class TestIfStatement extends BaseFormatterTests {
                formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
                formatter.placeOpenBraceOnNewLine = true;
                formatter.insertSpaces = false;
-               System.err.println("**** BEFORE");
                String result = formatter.formatActionScriptText(
                // @formatter:off
                        "{if (condition1) if (condition2) statement;}",
                        // @formatter:on
                        problems
                );
-               System.err.println("**** AFTER");
                assertEquals(
                // @formatter:off
                                "{\n" +
@@ -422,4 +420,24 @@ public class TestIfStatement extends BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "if (condition1) {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "if (condition1) {}",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestInterfaceDeclaration.java
 
b/formatter/src/test/java/org/apache/royale/formatter/TestInterfaceDeclaration.java
index c367401..7526b41 100644
--- 
a/formatter/src/test/java/org/apache/royale/formatter/TestInterfaceDeclaration.java
+++ 
b/formatter/src/test/java/org/apache/royale/formatter/TestInterfaceDeclaration.java
@@ -167,4 +167,24 @@ public class TestInterfaceDeclaration extends 
BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "interface MyInterface {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "interface MyInterface {}",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestMethodDeclaration.java
 
b/formatter/src/test/java/org/apache/royale/formatter/TestMethodDeclaration.java
index 9d36fdb..0ec7054 100644
--- 
a/formatter/src/test/java/org/apache/royale/formatter/TestMethodDeclaration.java
+++ 
b/formatter/src/test/java/org/apache/royale/formatter/TestMethodDeclaration.java
@@ -138,4 +138,30 @@ public class TestMethodDeclaration extends 
BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               formatter.insertSpaces = false;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "class ClassWithMethod\n" +
+                       "{\n" +
+                       "\tfunction myFunction() {\n" +
+                       "\t}\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "class ClassWithMethod {\n" +
+                               "\tfunction myFunction() {}\n" +
+                               "}",
+                               // @formatter:on
+                               result);
+       }
 }
\ No newline at end of file
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestPackageDeclaration.java
 
b/formatter/src/test/java/org/apache/royale/formatter/TestPackageDeclaration.java
index 846d9e9..9f8b5d3 100644
--- 
a/formatter/src/test/java/org/apache/royale/formatter/TestPackageDeclaration.java
+++ 
b/formatter/src/test/java/org/apache/royale/formatter/TestPackageDeclaration.java
@@ -140,4 +140,24 @@ public class TestPackageDeclaration extends 
BaseFormatterTests {
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "package com.example {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "package com.example {}",
+                               // @formatter:on
+                               result);
+       }
 }
diff --git 
a/formatter/src/test/java/org/apache/royale/formatter/TestWhileStatement.java 
b/formatter/src/test/java/org/apache/royale/formatter/TestWhileStatement.java
index d712fb3..22c8f37 100644
--- 
a/formatter/src/test/java/org/apache/royale/formatter/TestWhileStatement.java
+++ 
b/formatter/src/test/java/org/apache/royale/formatter/TestWhileStatement.java
@@ -317,4 +317,24 @@ public class TestWhileStatement extends BaseFormatterTests 
{
                                // @formatter:on
                                result);
        }
+
+       @Test
+       public void testCollapseEmptyBlock() {
+               FORMATTER formatter = new FORMATTER();
+               formatter.insertSpaceAfterKeywordsInControlFlowStatements = 
true;
+               formatter.placeOpenBraceOnNewLine = false;
+               formatter.collapseEmptyBlocks = true;
+               String result = formatter.formatActionScriptText(
+               // @formatter:off
+                       "while (condition1) {\n" +
+                       "}",
+                       // @formatter:on
+                       problems
+               );
+               assertEquals(
+               // @formatter:off
+                               "while (condition1) {}",
+                               // @formatter:on
+                               result);
+       }
 }

Reply via email to