Coverage Report - org.jbehave.core.reporters.FreemarkerViewGenerator
 
Classes in this File Line Coverage Branch Coverage Complexity
FreemarkerViewGenerator
100%
16/16
N/A
1
 
 1  
 package org.jbehave.core.reporters;
 2  
 
 3  
 import java.util.Properties;
 4  
 
 5  
 import org.jbehave.core.io.StoryNameResolver;
 6  
 import org.jbehave.core.io.UnderscoredToCapitalized;
 7  
 
 8  
 /**
 9  
  * <p>
 10  
  * Freemarker-based {@link ViewGenerator}, which uses the configured FTL
 11  
  * templates for the views. The default view properties are overridable via the
 12  
  * method {@link Properties} parameter. To override, specify the path to the new
 13  
  * template under the appropriate key:
 14  
  * <p>
 15  
  * The view generator provides the following default properties:
 16  
  * 
 17  
  * <pre>
 18  
  * &quot;views&quot;: &quot;ftl/jbehave-views.ftl&quot;
 19  
  * &quot;maps&quot;: &quot;ftl/jbehave-maps.ftl&quot;
 20  
  * &quot;navigator&quot;: &quot;ftl/jbehave-navigator.ftl&quot;
 21  
  * &quot;reports&quot;: &quot;ftl/jbehave-reports-with-totals.ftl&quot;
 22  
  * &quot;decorated&quot;: &quot;ftl/jbehave-report-decorated.ftl&quot;
 23  
  * &quot;nonDecorated&quot;: &quot;ftl/jbehave-report-non-decorated.ftl&quot;
 24  
  * &quot;decorateNonHtml&quot;: &quot;true&quot;
 25  
  * &quot;defaultFormats&quot;: &quot;stats&quot;
 26  
  * &quot;viewDirectory&quot;: &quot;view&quot;
 27  
  * </pre>
 28  
  * 
 29  
  * </p>
 30  
  * <p>
 31  
  * The view generator can also specify the {@link StoryNameResolver} (defaulting
 32  
  * to {@link UnderscoredToCapitalized}) and the class whose ClassLoader
 33  
  * Freemarker uses to load the templates from (defaulting to
 34  
  * {@link FreemarkerProcessor}).
 35  
  * </p>
 36  
  * 
 37  
  * @author Mauro Talevi
 38  
  */
 39  
 public class FreemarkerViewGenerator extends TemplateableViewGenerator {
 40  
 
 41  
     public FreemarkerViewGenerator() {
 42  835
         this(new UnderscoredToCapitalized());
 43  835
     }
 44  
 
 45  
     public FreemarkerViewGenerator(StoryNameResolver nameResolver) {
 46  835
         super(nameResolver, new FreemarkerProcessor());
 47  835
     }
 48  
 
 49  
     public FreemarkerViewGenerator(Class<?> templateLoadingFrom) {
 50  12
         this(new UnderscoredToCapitalized(), templateLoadingFrom);
 51  12
     }
 52  
 
 53  
     public FreemarkerViewGenerator(StoryNameResolver nameResolver, Class<?> templateLoadingFrom) {
 54  12
         super(nameResolver, new FreemarkerProcessor(templateLoadingFrom));
 55  12
     }
 56  
 
 57  
     public Properties defaultViewProperties() {
 58  316
         Properties properties = new Properties(super.defaultViewProperties());
 59  316
         properties.setProperty("views", "ftl/jbehave-views.ftl");
 60  316
         properties.setProperty("maps", "ftl/jbehave-maps.ftl");
 61  316
         properties.setProperty("navigator", "ftl/jbehave-navigator.ftl");
 62  316
         properties.setProperty("reports", "ftl/jbehave-reports-with-totals.ftl");
 63  316
         properties.setProperty("decorated", "ftl/jbehave-report-decorated.ftl");
 64  316
         properties.setProperty("nonDecorated", "ftl/jbehave-report-non-decorated.ftl");
 65  316
         return properties;
 66  
     }
 67  
 
 68  
 }