lib/reporting/html/FileHtmlBuilder.js
function writeReport(fileResult, formatter, formattedSourceLines, baseDir) {
    var fileName = fileResult.fileName,
        stats = StatUtils.decorateStatPercentages(fileResult.stats),
        parentDir = path.normalize(baseDir + '/..'),
        mutations = formatter.formatMutations(fileResult.mutationResults),
        breadcrumb = new IndexHtmlBuilder(baseDir).linkPathItems({
            currentDir: parentDir,
            fileName: baseDir + '/' + fileName + '.html',
            separator: ' >> ',
            relativePath: getRelativeDistance(baseDir + '/' + fileName, baseDir ),
            linkDirectoryOnly: true
        });

    var file = Templates.fileTemplate({
        sourceLines: formattedSourceLines,
        mutations: mutations
    });

    fs.writeFileSync(
        path.join(baseDir, fileName + ".html"),
        Templates.baseTemplate({
            style: Templates.baseStyleTemplate({ additionalStyle: Templates.fileStyleCode }),
            script: Templates.baseScriptTemplate({ additionalScript: Templates.fileScriptCode }),
            fileName: path.basename(fileName),
            stats: stats,
            status: stats.successRate > this._config.successThreshold ? 'killed' : stats.all > 0 ? 'survived' : 'neutral',
            breadcrumb: breadcrumb,
            generatedAt: new Date().toLocaleString(),
            content: file
        })
    );
}
function writeReport(fileResult, formatter, formattedSourceLines, baseDir) {
    var fileName = fileResult.fileName,
        stats = StatUtils.decorateStatPercentages(fileResult.stats),
        parentDir = path.normalize(baseDir + '/..'),
        mutations = formatter.formatMutations(fileResult.mutationResults),
        breadcrumb = new IndexHtmlBuilder(baseDir).linkPathItems({
            currentDir: parentDir,
            fileName: baseDir + '/' + fileName + '.html',
            separator: ' >> ',
            relativePath: getRelativeDistance(baseDir + '/' + fileName, baseDir ),
            linkDirectoryOnly: true
        });

    var file = Templates.fileTemplate({
        sourceLines: formattedSourceLines,
        mutations: mutations
    });

    fs.writeFileSync(
        path.join(baseDir, fileName + ".html"),
        Templates.baseTemplate({
            style: Templates.baseStyleTemplate({ additionalStyle: Templates.fileStyleCode }),
            script: Templates.baseScriptTemplate({ additionalScript: Templates.fileScriptCode }),
            fileName: path.basename(fileName),
            stats: stats,
            status: stats.successRate > this._config.successThreshold ? 'killed' : stats.all > 0 ? 'survived' : 'neutral',
            breadcrumb: breadcrumb,
            generatedAt: new Date().toLocaleString(),
            content: file
        })
    );
}
function writeReport ( fileResult , formatter , formattedSourceLines , baseDir ) { var fileName = fileResult . fileName , stats = StatUtils . decorateStatPercentages ( fileResult . stats ) , parentDir = path . normalize ( baseDir + '/..' ) , mutations = formatter . formatMutations ( fileResult . mutationResults ) , breadcrumb = new IndexHtmlBuilder ( baseDir ) . linkPathItems ( { currentDir : parentDir , fileName : baseDir + '/' + fileName + '.html' , separator : ' >> ' , relativePath : getRelativeDistance ( baseDir + '/' + fileName , baseDir ) , linkDirectoryOnly : true } ) ; var file = Templates . fileTemplate ( { sourceLines : formattedSourceLines , mutations : mutations } ) ; fs . writeFileSync ( path . join ( baseDir , fileName + ".html" ) , Templates . baseTemplate ( { style : Templates . baseStyleTemplate ( { additionalStyle : Templates . fileStyleCode } ) , script : Templates . baseScriptTemplate ( { additionalScript : Templates . fileScriptCode } ) , fileName : path . basename ( fileName ) , stats : stats , status : stats . successRate > this . _config . successThreshold ? 'killed' : stats . all > 0 ? 'survived' : 'neutral' , breadcrumb : breadcrumb , generatedAt : new Date ( ) . toLocaleString ( ) , content : file } ) ) ; }
write the report to file
write the report to file