/sigmah/src/test/java/org/sigmah/server/bootstrap/ViewTestCase.java
http://sigma-h.googlecode.com/ · Java · 46 lines · 30 code · 9 blank · 7 comment · 0 complexity · be0de4f1de6562e8f0e8a585ca6e5739 MD5 · raw file
- /*
- * All Sigmah code is released under the GNU General Public License v3
- * See COPYRIGHT.txt and LICENSE.txt.
- */
-
- package org.sigmah.server.bootstrap;
-
- import freemarker.template.Configuration;
- import freemarker.template.Template;
- import freemarker.template.TemplateException;
- import org.junit.BeforeClass;
- import org.sigmah.server.bootstrap.model.PageModel;
- import org.sigmah.server.util.TemplateModule;
-
- import java.io.IOException;
- import java.io.StringWriter;
-
- /**
- * @author Alex Bertram
- */
- public abstract class ViewTestCase {
-
- protected static Configuration templateCfg;
-
- @BeforeClass
- public static void setUpTemplateConfig() {
- TemplateModule module = new TemplateModule();
- templateCfg = module.provideConfiguration();
- }
-
- protected String process(PageModel model) throws IOException, TemplateException {
- Template template = templateCfg.getTemplate(model.getTemplateName());
- StringWriter writer = new StringWriter();
- template.process(model, writer);
-
- return writer.toString();
- }
-
- protected void assertProcessable(PageModel model) {
- try {
- process(model);
- } catch (Exception e) {
- throw new AssertionError(e);
- }
- }
- }