summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/test/java/com/yahoo/text/ExpressionFormatterTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'vespajlib/src/test/java/com/yahoo/text/ExpressionFormatterTest.java')
-rw-r--r--vespajlib/src/test/java/com/yahoo/text/ExpressionFormatterTest.java94
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));
}
}