mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 00:45:44 +01:00
added method to read templates from a reader
This commit is contained in:
@@ -30,10 +30,13 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
package sonia.scm.template;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
/**
|
||||
@@ -82,4 +85,19 @@ public class FreemarkerTemplateEngineTest extends TemplateEngineTestBase
|
||||
{
|
||||
return "sonia/scm/template/002.ftl";
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @param resource
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
protected InputStream getResource(String resource)
|
||||
{
|
||||
return FreemarkerTemplateEngineTest.class.getResourceAsStream(
|
||||
"/sonia/scm/template/".concat(resource).concat(".ftl"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,10 +30,13 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
package sonia.scm.template;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
/**
|
||||
@@ -82,4 +85,19 @@ public class MustacheTemplateEngineTest extends TemplateEngineTestBase
|
||||
{
|
||||
return "sonia/scm/template/001.mustache";
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @param resource
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
protected InputStream getResource(String resource)
|
||||
{
|
||||
return MustacheTemplateEngineTest.class.getResourceAsStream(
|
||||
"/sonia/scm/template/".concat(resource).concat(".mustache"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,10 +30,12 @@
|
||||
*/
|
||||
|
||||
|
||||
|
||||
package sonia.scm.template;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.io.Closeables;
|
||||
|
||||
import org.junit.Test;
|
||||
@@ -46,9 +48,13 @@ import static org.mockito.Mockito.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.StringWriter;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
/**
|
||||
@@ -86,6 +92,16 @@ public abstract class TemplateEngineTestBase
|
||||
*/
|
||||
public abstract String getTemplateResource();
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @param resource
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
protected abstract InputStream getResource(String resource);
|
||||
|
||||
//~--- methods --------------------------------------------------------------
|
||||
|
||||
/**
|
||||
@@ -135,6 +151,45 @@ public abstract class TemplateEngineTestBase
|
||||
assertNotNull(engine.getTemplate(getTemplateResource()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @throws IOException
|
||||
*/
|
||||
@Test
|
||||
public void testGetTemplateFromReader() throws IOException
|
||||
{
|
||||
ServletContext context = mock(ServletContext.class);
|
||||
TemplateEngine engine = createEngine(context);
|
||||
|
||||
InputStream input = null;
|
||||
|
||||
try
|
||||
{
|
||||
input = getResource("007");
|
||||
|
||||
Template template = engine.getTemplate("007",
|
||||
new InputStreamReader(input));
|
||||
|
||||
assertNotNull(template);
|
||||
|
||||
Map<String, Object> env = Maps.newHashMap();
|
||||
|
||||
env.put("time", "Lunchtime");
|
||||
|
||||
StringWriter writer = new StringWriter();
|
||||
|
||||
template.execute(writer, env);
|
||||
assertEquals("Time is an illusion. Lunchtime doubly so.",
|
||||
writer.toString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
Closeables.closeQuietly(input);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user