diff options
Diffstat (limited to 'vespajlib/src/test/java/com/yahoo/text/ExpressionFormatterTest.java')
-rw-r--r-- | vespajlib/src/test/java/com/yahoo/text/ExpressionFormatterTest.java | 94 |
1 files changed, 72 insertions, 22 deletions
diff --git a/vespajlib/src/test/java/com/yahoo/text/ExpressionFormatterTest.java b/vespajlib/src/test/java/com/yahoo/text/ExpressionFormatterTest.java index 6dfb2e6fc8a..7251ccef521 100644 --- a/vespajlib/src/test/java/com/yahoo/text/ExpressionFormatterTest.java +++ b/vespajlib/src/test/java/com/yahoo/text/ExpressionFormatterTest.java @@ -18,8 +18,13 @@ public class ExpressionFormatterTest { " baz(\n" + " )\n" + " )\n" + - ")\n"; - assertPrettyPrint(expected, "foo(bar(baz()))"); + ")"; + assertPrettyPrint(expected, "foo(bar(baz()))", 0); + } + + @Test + public void testBasicDense() { + assertPrettyPrint("foo(bar(baz()))", "foo(bar(baz()))", 50); } @Test @@ -31,8 +36,8 @@ public class ExpressionFormatterTest { " hello world\n" + " )\n" + " )\n" + - ")\n"; - assertPrettyPrint(expected, "foo(bar(baz(hello world)))"); + ")"; + assertPrettyPrint(expected, "foo(bar(baz(hello world)))", 0); } @Test @@ -45,8 +50,23 @@ public class ExpressionFormatterTest { " 37\n" + " )\n" + " )\n" + - ")\n"; - assertPrettyPrint(expected, "foo(bar(baz(hello world,37)))"); + ")"; + assertPrettyPrint(expected, "foo(bar(baz(hello world,37)))", 0); + } + + @Test + public void testMultipleArgumentsSemiDense() { + String expected = + "foo(\n" + + " bar(\n" + + " baz(hi,37),\n" + + " baz(\n" + + " hello world,\n" + + " 37\n" + + " )\n" + + " )\n" + + ")"; + assertPrettyPrint(expected, "foo(bar(baz(hi,37),baz(hello world,37)))", 15); } @Test @@ -58,8 +78,8 @@ public class ExpressionFormatterTest { " baz(\n" + " )\n" + " )\n" + - " )\n"; - assertPrettyPrint(expected, "foo((bar(baz()))"); + " )"; + assertPrettyPrint(expected, "foo((bar(baz()))", 0); } @Test @@ -71,22 +91,22 @@ public class ExpressionFormatterTest { " )\n" + " )\n" + ")\n" + - ")\n"; - assertPrettyPrint(expected, "foo(bar(baz())))"); + ")"; + assertPrettyPrint(expected, "foo(bar(baz())))", 0); } @Test public void testNoParenthesis() { String expected = "foo bar baz"; - assertPrettyPrint(expected, "foo bar baz"); + assertPrettyPrint(expected, "foo bar baz", 0); } @Test public void testEmpty() { String expected = ""; - assertPrettyPrint(expected, ""); + assertPrettyPrint(expected, "", 0); } @Test @@ -98,8 +118,8 @@ public class ExpressionFormatterTest { "2: hello world\n" + " )\n" + "t(o )\n" + - " )\n"; - ExpressionFormatter pp = ExpressionFormatter.inTwoColumnMode(3); + " )"; + ExpressionFormatter pp = ExpressionFormatter.inTwoColumnMode(3, 0); assertEquals(expected, pp.format("\t1:\tfoo(bar(baz(\t2:\thello world)\tt(o)@olong:\t))")); } @@ -113,28 +133,58 @@ public class ExpressionFormatterTest { "3: 37\n" + " )\n" + "t(o )\n" + - " )\n"; - ExpressionFormatter pp = ExpressionFormatter.inTwoColumnMode(3); + " )"; + ExpressionFormatter pp = ExpressionFormatter.inTwoColumnMode(3, 0); assertEquals(expected, pp.format("\t1:\tfoo(bar(baz(\t2:\thello world,\t3:\t37)\tt(o)@olong:\t))")); } @Test - public void test2ColumnModeMultipleArgumentsWithSpaces() { + public void test2ColumnModeMultipleArgumentsSemiDense() { String expected = "1: foo(\n" + " bar(\n" + + " baz(hi,37),\n" + + " boz(\n" + + "2: hello world,\n" + + "3: 5\n" + + " )\n" + + "t(o )\n" + + " )"; + ExpressionFormatter pp = ExpressionFormatter.inTwoColumnMode(3, 15); + assertEquals(expected, pp.format("\t1:\tfoo(bar(baz(hi,37),boz(\t2:\thello world,\t3:\t5)\tt(o)@olong:\t))")); + } + + @Test + public void test2ColumnModeMultipleArgumentsWithSpaces() { + String expected = + " foo(\n" + + "1: bar(\n" + " baz(\n" + "2: hello world,\n" + "3: 37\n" + " )\n" + "t(o )\n" + - " )\n"; - ExpressionFormatter pp = ExpressionFormatter.inTwoColumnMode(3); - assertEquals(expected, pp.format("\t1:\tfoo(bar(baz(\t2:\thello world, \t3:\t37)\tt(o)@olong:\t))")); + " )"; + ExpressionFormatter pp = ExpressionFormatter.inTwoColumnMode(3, 0); + assertEquals(expected, pp.format("foo(\t1:\tbar(baz(\t2:\thello world, \t3:\t37)\tt(o)@olong:\t))")); + } + + @Test + public void testTwoColumnLambdaFunction() { + String expected = + " join(\n" + + " a,\n" + + " join(\n" + + " b, c, f(a, b)(a * b)\n" + + " )\n" + + " , f(a, b)(a * b)\n" + + " )"; + ExpressionFormatter pp = ExpressionFormatter.inTwoColumnMode(5, 25); + assertEquals(expected, pp.format("join(a, join(b, c, f(a, b)(a * b)), f(a, b)(a * b))")); } - private void assertPrettyPrint(String expected, String expression) { - assertEquals(expected, ExpressionFormatter.on(expression)); + private void assertPrettyPrint(String expected, String expression, int lineLength) { + assertEquals(expected, ExpressionFormatter.withLineLength(lineLength).format(expression)); } } |