/* vim: set ts=2 et sw=2 cindent fo=qroca: */
package com.globant.katari.core.web;
import java.lang.reflect.Field;
import org.junit.Test;
import static org.junit.Assert.*;
import java.util.List;
import freemarker.cache.MultiTemplateLoader;
import org.springframework.ui.freemarker.SpringTemplateLoader;
public class FreeMarkerConfigurerTest {
@Test
public void testGetTemplateLoaderForPath_noDebug() throws Exception {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPath(".");
configurer.afterPropertiesSet();
configurer.getConfiguration();
assertEquals(SpringTemplateLoader.class,
configurer.getTemplateLoaderForPath(".").getClass());
}
@Test
public void testGetTemplateLoaderForPath_debug() throws Exception {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPath(".");
configurer.setDebug(true);
configurer.setDebugPrefix(".");
configurer.afterPropertiesSet();
configurer.getConfiguration();
assertEquals(MultiTemplateLoader.class,
configurer.getTemplateLoaderForPath(".").getClass());
}
@SuppressWarnings("unchecked")
@Test
public void testSetDebugPrefix_removeTrailingSlash() throws Exception {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setDebugPrefix("something/");
Field prefix = FreeMarkerConfigurer.class. getDeclaredField("debugPrefixes");
prefix.setAccessible(true);
assertEquals("something", ((List) prefix.get(configurer)).get(0));
}
}