UNPKG

codeclimate-test-reporter

Version:

Code Climate test reporter client for javascript projects

51 lines (40 loc) 1.14 kB
'use strict' module.exports = function(data, cb) { var memo = {}; var parsedData = []; var lines = data.split('\n'); // Skip mode line lines.shift(); lines.forEach(function(line) { // coverage line syntax: // Filename:<start line>.<start column>,<end line>.<end column>.<# of statements>.<hit count> var data = line.match(/(.*?):(\d+).\d+,(\d+).\d+ \d+ (\d+)/); if (!data) { return; } // filename is given relative to $GOPATH/src, so tack $GOPATH/src on the // front. Converting it to a relative filenae is handled by the formatter. var filename = process.env.GOPATH + '/src/' + data[1]; var startLine = data[2]; var endLine = data[3]; var hitCount = data[4]; if (!memo[filename]) { memo[filename] = { file: filename, lines: { details: [] } } parsedData.push(memo[filename]) } var lineData = memo[filename].lines; var i = startLine; for(var i = startLine; i <= endLine; i++) { lineData.details.push({ line: i*1, hit: hitCount*1 }) } }); cb(null, parsedData); }