import { IResult, IReporter } from ".."; function createReporter(options: createReporter.Options = {}): IReporter { const { cssPrefix = "testnow", target = document.body } = options; return function(results: IResult) { const testsOk = !results.errors.length; let outputHTML = `
`; outputHTML += ` `; outputHTML += `
`; outputHTML += `
${results.name} ${ testsOk ? `PASSED` : `FAILED` } ${results.date}
\n`; outputHTML += ``; results.errors.forEach(error => { outputHTML += `
${error.stack}
`; }); outputHTML += `
`; target.innerHTML = outputHTML; return testsOk; }; } namespace createReporter { export interface Options { target?: Element; cssPrefix?: string; } } export default createReporter;