All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.searls.jasmine.runner.SpecRunnerHtmlGeneratorFactory Maven / Gradle / Ivy

Go to download

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

There is a newer version: 3.0-beta-02
Show newest version
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;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy