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
commit aa775145095fccc63dc77b3d70eaffa4565a9cd3 Author: Josh Tynjala <[email protected]> AuthorDate: Tue Dec 6 08:46:57 2022 -0800 formatter: nullish coalescing operator --- .../apache/royale/formatter/ASTokenFormatter.java | 2 ++ .../royale/formatter/TestLogicalOperators.java | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java b/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java index 903c0d4f6..0ae559168 100644 --- a/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java +++ b/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java @@ -385,6 +385,7 @@ public class ASTokenFormatter extends BaseTokenFormatter { case ASTokenTypes.TOKEN_OPERATOR_BITWISE_XOR: case ASTokenTypes.TOKEN_OPERATOR_LOGICAL_AND: case ASTokenTypes.TOKEN_OPERATOR_LOGICAL_OR: + case ASTokenTypes.TOKEN_OPERATOR_NULLISH_COALESCING: case ASTokenTypes.TOKEN_OPERATOR_PLUS_ASSIGNMENT: case ASTokenTypes.TOKEN_OPERATOR_MINUS_ASSIGNMENT: case ASTokenTypes.TOKEN_OPERATOR_MULTIPLICATION_ASSIGNMENT: @@ -869,6 +870,7 @@ public class ASTokenFormatter extends BaseTokenFormatter { case ASTokenTypes.TOKEN_OPERATOR_BITWISE_XOR: case ASTokenTypes.TOKEN_OPERATOR_LOGICAL_AND: case ASTokenTypes.TOKEN_OPERATOR_LOGICAL_OR: + case ASTokenTypes.TOKEN_OPERATOR_NULLISH_COALESCING: case ASTokenTypes.TOKEN_OPERATOR_PLUS_ASSIGNMENT: case ASTokenTypes.TOKEN_OPERATOR_MINUS_ASSIGNMENT: case ASTokenTypes.TOKEN_OPERATOR_MULTIPLICATION_ASSIGNMENT: diff --git a/formatter/src/test/java/org/apache/royale/formatter/TestLogicalOperators.java b/formatter/src/test/java/org/apache/royale/formatter/TestLogicalOperators.java index dcf6e03e1..2839ddc2e 100644 --- a/formatter/src/test/java/org/apache/royale/formatter/TestLogicalOperators.java +++ b/formatter/src/test/java/org/apache/royale/formatter/TestLogicalOperators.java @@ -123,4 +123,24 @@ public class TestLogicalOperators extends BaseFormatterTests { // @formatter:on result); } + + @Test + public void testNullishCoalescingOperator() { + FormatterSettings settings = new FormatterSettings(); + settings.insertSpaceBeforeAndAfterBinaryOperators = true; + settings.placeOpenBraceOnNewLine = true; + settings.insertSpaces = false; + ASTokenFormatter formatter = new ASTokenFormatter(settings); + String result = formatter.format("file.as", + // @formatter:off + "a??b;", + // @formatter:on + problems + ); + assertEquals( + // @formatter:off + "a ?? b;", + // @formatter:on + result); + } }
