RockerUtil { public static String chompClosureOpen(String expr) { if (!expr.endsWith("{")) { return expr; } int closurePos = expr.lastIndexOf("->"); if (closurePos < 0) { return expr; } return expr.substring(0, closurePos).trim(); }  static boolean isJava8Plus(TemplateModel model); static boolean isJavaIdentifier(String identifier); static String pathToPackageName(Path path); static Path packageNameToPath(String packageName); static boolean isRelativePath(Path baseDir, Path file); static int countChars(String value, char ch); static boolean isWhitespaceNoLineBreak(char c); static boolean isWhitespace(char c); static boolean isWhitespace(String s); static String consoleFriendlyText(String s); static String templateNameToName(String templateName); static ContentType templateNameToContentType(String templateName); static Collection<File> listFileTree(File dir); static String qualifiedClassName(Object obj); static String qualifiedClassName(Class<?> type); static String unqualifiedClassName(Object obj); static String unqualifiedClassName(Class<?> type); static String chompClosureOpen(String expr); static String chompClosureAssignmentOpen(String expr); static List<String> stringIntoChunks(String s, int chunkSize); static List<String> getTextAsJavaByteArrayInitializer(String text, String charsetName, int maxArraySize); static void appendByteAsJavaByteInitializer(StringBuilder sb, byte b); static String md5(File f); static String byteArrayToHex(byte[] a); static final CharSequenceTranslator ESCAPE_JAVA; }
@Test public void chompClosureOpen() { Assert.assertEquals("value()", RockerUtil.chompClosureOpen("value()->{")); Assert.assertEquals("value()", RockerUtil.chompClosureOpen("value() -> {")); Assert.assertEquals("value()", RockerUtil.chompClosureOpen("value()\t\r\n ->\t\n{")); }