mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-10 07:25:44 +01:00
fix mustache render failure test
This commit is contained in:
@@ -30,17 +30,21 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
package sonia.scm.template;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import com.github.mustachejava.Mustache;
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Writer;
|
||||
|
||||
/**
|
||||
@@ -81,16 +85,30 @@ public class MustacheTemplate implements Template
|
||||
* @param writer
|
||||
* @param environment
|
||||
* @param model
|
||||
*
|
||||
* @throws IOException
|
||||
*/
|
||||
@Override
|
||||
public void execute(Writer writer, Object model)
|
||||
public void execute(Writer writer, Object model) throws IOException
|
||||
{
|
||||
if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("render mustache template at {}", templatePath);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
mustache.execute(writer, model);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Throwables.propagateIfInstanceOf(ex, IOException.class);
|
||||
|
||||
throw new TemplateRenderException(
|
||||
"could not render template ".concat(templatePath), ex);
|
||||
}
|
||||
}
|
||||
|
||||
//~--- fields ---------------------------------------------------------------
|
||||
|
||||
@@ -36,10 +36,14 @@ package sonia.scm.template;
|
||||
import com.github.mustachejava.DefaultMustacheFactory;
|
||||
import com.github.mustachejava.Mustache;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra
|
||||
@@ -73,6 +77,31 @@ public class MustacheTemplateTest extends TemplateTestBase
|
||||
return getTemplate("sonia/scm/template/001.mustache");
|
||||
}
|
||||
|
||||
//~--- methods --------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @param env
|
||||
*/
|
||||
@Override
|
||||
protected void prepareEnv(Map<String, Object> env)
|
||||
{
|
||||
env.put("test", new Function<String, String>()
|
||||
{
|
||||
|
||||
@Override
|
||||
public String apply(String input)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//~--- get methods ----------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
|
||||
@@ -58,6 +58,8 @@ public abstract class TemplateTestBase
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*
|
||||
* @throws IOException
|
||||
*/
|
||||
public abstract Template getFailureTemplate() throws IOException;
|
||||
|
||||
@@ -101,6 +103,14 @@ public abstract class TemplateTestBase
|
||||
execute(template);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @param env
|
||||
*/
|
||||
protected void prepareEnv(Map<String, Object> env) {}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
@@ -113,10 +123,12 @@ public abstract class TemplateTestBase
|
||||
*/
|
||||
private String execute(Template template) throws IOException
|
||||
{
|
||||
Map<String, String> env = Maps.newHashMap();
|
||||
Map<String, Object> env = Maps.newHashMap();
|
||||
|
||||
env.put("name", "marvin");
|
||||
|
||||
prepareEnv(env);
|
||||
|
||||
StringWriter writer = new StringWriter();
|
||||
|
||||
template.execute(writer, env);
|
||||
|
||||
@@ -1 +1 @@
|
||||
Hello {{/name}}!
|
||||
Hello {{test}}!
|
||||
Reference in New Issue
Block a user