1 package net.pterodactylus.sone.main;
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.hamcrest.Matchers.is;
7 import java.io.IOException;
8 import java.io.StringWriter;
10 import net.pterodactylus.util.template.Template;
11 import net.pterodactylus.util.template.TemplateContext;
13 import com.google.common.base.Charsets;
14 import com.google.common.io.Files;
15 import org.junit.Before;
16 import org.junit.Rule;
17 import org.junit.Test;
18 import org.junit.rules.TemporaryFolder;
21 * Unit test for {@link DebugLoaders}.
23 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
25 public class DebugLoadersTest {
28 public final TemporaryFolder temporaryFolder = new TemporaryFolder();
30 private final StringWriter stringWriter = new StringWriter();
31 private final TemplateContext templateContext = new TemplateContext();
32 private String templatePath;
33 private Loaders loaders;
36 public void setupLoader() throws IOException {
37 templatePath = temporaryFolder.newFolder("temps").getPath();
38 loaders = new DebugLoaders(templatePath);
42 public void debugLoaderCanLoadTemplatesFromFilesystem() throws IOException {
43 File templateFile = new File(templatePath, "template.txt");
44 Files.write("<%if foo>foo<%else>bar<%/if>", templateFile, Charsets.UTF_8);
45 Template template = loaders.loadTemplate("/template.txt");
46 template.render(templateContext, stringWriter);
47 assertThat(stringWriter.toString(), is("bar"));