• Jump To … +
    main.coffee coverage_test.coffee test_helper.coffee
  • main.coffee

  • ¶
    Reporter = (runner) ->
      runner.on 'end', ->
        coverage = global._test_$jscoverage || global._$jscoverage or {}
        result = []
        result.push processFile file, cov for file, cov of coverage
        process.stdout.write JSON.stringify result, null, 2
    
    processFile = (file, cov) ->
      sloc = hits = 0
      for line, index in cov.source
        ++sloc unless typeof cov[index] is 'undefined'
        ++hits if cov[index]
      file: file
      coverage: parseFloat (hits / sloc * 100).toFixed 2
    
    module.exports = Reporter