com.github.searls.jasmine.runner.SpecRunnerHtmlGeneratorFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jasmine-maven-plugin Show documentation
Show all versions of jasmine-maven-plugin Show documentation
A JavaScript unit test plugin that processes JavaScript sources and Jasmine specs, prepares test runner HTML files, executes Jasmine specs headlessly with HtmlUnit, and produces JUnit XML reports
package com.github.searls.jasmine.runner;
import com.github.searls.jasmine.AbstractJasmineMojo;
import com.github.searls.jasmine.io.scripts.ScriptResolver;
import java.io.IOException;
public class SpecRunnerHtmlGeneratorFactory {
public static final String DEFAULT = "DEFAULT";
public static final String REQUIRE_JS = "REQUIRE_JS";
public SpecRunnerHtmlGenerator create(ReporterType reporterType, AbstractJasmineMojo config, ScriptResolver projectDirScripResolver) {
try {
return createHtmlGenerator(new HtmlGeneratorConfiguration(reporterType, config, projectDirScripResolver));
} catch (IOException e) {
throw new InstantiationError(e.getMessage());
}
}
public SpecRunnerHtmlGenerator createHtmlGenerator(HtmlGeneratorConfiguration configuration) throws IllegalArgumentException {
SpecRunnerHtmlGenerator instance = null;
String strategy = configuration.getSpecRunnerTemplate();
if (DEFAULT.equals(strategy)) {
instance = new DefaultSpecRunnerHtmlGenerator(configuration);
} else if (REQUIRE_JS.equals(strategy)) {
instance = new RequireJsSpecRunnerHtmlGenerator(configuration);
}
if (null == strategy) {
throw new IllegalArgumentException("Invalid argument null passed!");
} else if (instance == null) {
throw new IllegalArgumentException("Invalid strategy, valid strategies are: " + REQUIRE_JS);
}
return instance;
}
}