mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-01 12:19:14 +01:00
make PluginLoader dependency of MustacheTemplateEngine optional
This commit is contained in:
@@ -35,16 +35,21 @@ package sonia.scm.template;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.Test;
|
||||
import sonia.scm.plugin.PluginLoader;
|
||||
|
||||
import static org.mockito.Mockito.*;
|
||||
import javax.servlet.ServletContext;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.StringWriter;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra
|
||||
@@ -68,7 +73,10 @@ public class MustacheTemplateEngineTest extends TemplateEngineTestBase
|
||||
when(loader.getUberClassLoader()).thenReturn(
|
||||
Thread.currentThread().getContextClassLoader());
|
||||
|
||||
return new MustacheTemplateEngine(context, loader);
|
||||
MustacheTemplateEngine.PluginLoaderHolder holder = new MustacheTemplateEngine.PluginLoaderHolder();
|
||||
holder.pluginLoader = loader;
|
||||
|
||||
return new MustacheTemplateEngine(context, holder);
|
||||
}
|
||||
|
||||
//~--- get methods ----------------------------------------------------------
|
||||
@@ -116,4 +124,18 @@ public class MustacheTemplateEngineTest extends TemplateEngineTestBase
|
||||
return MustacheTemplateEngineTest.class.getResourceAsStream(
|
||||
"/sonia/scm/template/".concat(resource).concat(".mustache"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateEngineWithoutPluginLoader() throws IOException {
|
||||
ServletContext context = mock(ServletContext.class);
|
||||
MustacheTemplateEngine.PluginLoaderHolder holder = new MustacheTemplateEngine.PluginLoaderHolder();
|
||||
MustacheTemplateEngine engine = new MustacheTemplateEngine(context, holder);
|
||||
|
||||
Template template = engine.getTemplate(getTemplateResource());
|
||||
|
||||
StringWriter writer = new StringWriter();
|
||||
template.execute(writer, ImmutableMap.of("name", "World"));
|
||||
|
||||
Assertions.assertThat(writer.toString()).isEqualTo("Hello World!");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user