package com.elibom.jogger.template;
import com.elibom.jogger.template.TemplateException;
import com.elibom.jogger.template.JadeTemplateEngine;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
import org.testng.Assert;
import org.testng.annotations.Test;
public class JadeTemplateEngineTest {
@Test
public void shouldRenderExistingTemplate() throws Exception {
JadeTemplateEngine templateEngine = new JadeTemplateEngine();
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/jade/template.jade", root, writer);
Assert.assertEquals(writer.toString(), "<body>This is a test</body>");
}
@Test(expectedExceptions=TemplateException.class)
public void shouldFailIfTemplateNotFound() throws Exception {
JadeTemplateEngine templateEngine = new JadeTemplateEngine();
templateEngine.render("not/existing/template", null, null);
}
@Test(expectedExceptions=TemplateException.class)
public void shouldFailWithTemplateError() throws Exception {
JadeTemplateEngine templateEngine = new JadeTemplateEngine();
StringWriter writer = new StringWriter();
templateEngine.render("src/test/resources/templates/jade/invalid.jade", null, writer);
}
}