describe("TrivialNodeReporter", function() { //keep these literal. otherwise the test loses value as a test. function green(str) { return '\033[32m' + str + '\033[0m'; } function red(str) { return '\033[31m' + str + '\033[0m'; } function yellow(str) { return '\033[33m' + str + '\033[0m'; } function prefixGreen(str) { return '\033[32m' + str; } function prefixRed(str) { return '\033[31m' + str; } var newline = "\n"; var passingSpec = { results: function(){ return {passed:function(){return true;}}; } }, failingSpec = { results: function(){ return {passed:function(){return false;}}; } }, skippedSpec = { results: function(){ return {skipped:true}; } }, passingRun = { results: function(){ return {failedCount: 0}; } }, failingRun = { results: function(){ return {failedCount: 7}; } }; function repeatedlyInvoke(f, times) { for(var i=0; i