fs.readFile("logs/lib.coverage.json", function(error, data){ if (error!=null){ //console.log("readfile error: "+error); } else { try{ var json=JSON.parse(data); coverage=json.coverage; var files=json.files; var testsarr=stderr.match(/(\d*) tests/); testnum=testsarr==undefined? "?": testsarr[1]; } catch(error){ //console.log("json error: "+error); } } terminal.clear().move(1,0).colorize('%cTests : %b'+testnum).nl(); terminal.colorize('%cCoverage:'); if(coverage>90){ terminal.colorize('%w%2 '+coverage+' %n '); } else if(coverage>60){ terminal.colorize('%w%3 '+coverage+' %n '); } else { terminal.colorize('%w%1 '+coverage+' %n '); } terminal.nl().write("----------------------------------------").nl(); if (errormsg==undefined){ terminal.color("white").write("no error"); } else { terminal.write(errormsg); } lock=false; terminal.move(0,0).color("green").write('status: unlock'); });
var renderChart = function(title, blocks, datas) { // Remove spaces from available blocks, and titles. var totalColorBlocks = blocks - (datas.length - 1) - title.length; var sum = 0; for (var d = 0; d < datas.length; d++) { sum += datas[d].value; } var totalColorBlocksRendered = 0; nodeTerminal.write(title); for (d = 0; d < datas.length; d++) { var val = datas[d].value; var pct = val / sum; var blocksToRender = Math.floor(pct * totalColorBlocks); var textLen = Math.min(datas[d].text.length, blocksToRender); var spacesToRender = blocksToRender - textLen; var color = val < datas[d].bad/2 ? GREEN : val < datas[d].bad ? YELLOW : RED; nodeTerminal.colorize(color).colorize( datas[d].text.substr(0, textLen) ); for (var i = 0; i < spacesToRender; i++) { nodeTerminal.write(' '); } totalColorBlocksRendered += blocksToRender; if (d === datas.length - 1) { var padding = Math.max(totalColorBlocks - totalColorBlocksRendered, 0); for (var ii = 0; ii < padding; ii++) { nodeTerminal.write(' '); } } nodeTerminal.reset().write(' '); } nodeTerminal.reset().write('\n\n'); };