package com.elibom.jogger.template;
import com.elibom.jogger.template.TemplateException;
import com.elibom.jogger.template.FreemarkerTemplateEngine;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
import org.testng.Assert;
import org.testng.annotations.Test;
public class FreemarkerTemplateEngineTest {
@Test
public void shouldRenderExistingTemplate() throws Exception {
FreemarkerTemplateEngine templateEngine = new FreemarkerTemplateEngine();
Map<String,Object> root = new HashMap<String,Object>();
root.put("title", "This is a test");
StringWriter writer = new StringWriter();
templateEngine.render("src/test/resources/templates/freemarker/template.ftl", root, writer);
Assert.assertEquals(writer.toString(), "Title: This is a test");
}
@Test(expectedExceptions=TemplateException.class)
public void shouldFailIfTemplateNotFound() throws Exception {
FreemarkerTemplateEngine templateEngine = new FreemarkerTemplateEngine();
templateEngine.render("not/existing/template", null, null);
}
@Test(expectedExceptions=TemplateException.class)
public void shouldFailWithTemplateError() throws Exception {
FreemarkerTemplateEngine templateEngine = new FreemarkerTemplateEngine();
Map<String,Object> root = new HashMap<String,Object>();
StringWriter writer = new StringWriter();
templateEngine.render("src/test/resources/templates/freemarker/template.ftl", root, writer);
}
}