RockerUtil { static public String templateNameToName(String templateName) { int pos = templateName.indexOf('.'); if (pos < 1) { throw new IllegalArgumentException("Invalid template name format (unable find first dot character)"); } return templateName.substring(0, pos); }  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 templateNameToName() throws Exception { Assert.assertEquals("index", RockerUtil.templateNameToName("index.rocker.html")); Assert.assertEquals("index", RockerUtil.templateNameToName("index.html")); try { RockerUtil.templateNameToName("index"); Assert.fail("Exception expected"); } catch (IllegalArgumentException e) { } }