/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

  1. /*
  2. * All Sigmah code is released under the GNU General Public License v3
  3. * See COPYRIGHT.txt and LICENSE.txt.
  4. */
  5. package org.sigmah.server.bootstrap;
  6. import freemarker.template.Configuration;
  7. import freemarker.template.Template;
  8. import freemarker.template.TemplateException;
  9. import org.junit.BeforeClass;
  10. import org.sigmah.server.bootstrap.model.PageModel;
  11. import org.sigmah.server.util.TemplateModule;
  12. import java.io.IOException;
  13. import java.io.StringWriter;
  14. /**
  15. * @author Alex Bertram
  16. */
  17. public abstract class ViewTestCase {
  18. protected static Configuration templateCfg;
  19. @BeforeClass
  20. public static void setUpTemplateConfig() {
  21. TemplateModule module = new TemplateModule();
  22. templateCfg = module.provideConfiguration();
  23. }
  24. protected String process(PageModel model) throws IOException, TemplateException {
  25. Template template = templateCfg.getTemplate(model.getTemplateName());
  26. StringWriter writer = new StringWriter();
  27. template.process(model, writer);
  28. return writer.toString();
  29. }
  30. protected void assertProcessable(PageModel model) {
  31. try {
  32. process(model);
  33. } catch (Exception e) {
  34. throw new AssertionError(e);
  35. }
  36. }
  37. }