docs: function() {
                      if (dest) {
                          // Restore console.log to original and write the output
                          console.log = consoleLog;
                          grunt.file.write(dest, output.join('\n'));
                      }
                      grunt.log.writeln();
  
                      var customThresholdMsg = "", failMsg = "";
                      var numCustomThreshold = Object.keys(customThreshold ).length;
                      if (numCustomThreshold) {
                          customThresholdMsg = "; " + numCustomThreshold + " files used custom threshold";
                      }
  
                      grunt.log.writeln("Per-File Coverage Results: (" + coverageThreshold + "% minimum" + customThresholdMsg + ")");
  
                      if (status.blanketFail > 0) {
                          failMsg = "FAIL : " + (status.blanketFail + "/" + status.blanketTotal + " files failed coverage");
                          grunt.log.write(failMsg.red);
                          grunt.log.writeln();
                          ok = false;
                      } else {
                          var blanketPassMsg = "PASS : " + status.blanketPass + " files passed coverage ";
                          grunt.log.write(blanketPassMsg.green);
                          grunt.log.writeln();
                      }
  
                      var moduleThreshold = grunt.option('moduleThreshold') || options.moduleThreshold;
  
                      if (moduleThreshold) {
  
                          grunt.log.writeln();
                          var customModuleThresholdMsg = "";
                          var numCustomModuleThreshold = Object.keys(customModuleThreshold ).length;
                          if (numCustomModuleThreshold) {
                              customModuleThresholdMsg = "; " + numCustomModuleThreshold + " modules used custom threshold";
                          }
                          grunt.log.writeln("Per-Module Coverage Results: (" + moduleThreshold + "% minimum" + customModuleThresholdMsg + ")");
  
                          if (modulePatternRegex) {
                              for (var thisModuleName in totals.moduleTotalStatements) {
                                  if (totals.moduleTotalStatements.hasOwnProperty(thisModuleName)) {
                                      var moduleTotalSt = totals.moduleTotalStatements[thisModuleName];
                                      var moduleTotalCovSt = totals.moduleTotalCoveredStatements[thisModuleName];
  
                                      var threshold = moduleThreshold;
                                      if (customModuleThreshold[thisModuleName]) {
                                          threshold = customModuleThreshold[thisModuleName];
                                      }
  
                                      printPassFailMessage(thisModuleName, moduleTotalCovSt, moduleTotalSt, threshold, /*printPassing*/true);
                                  }
                              }
                          }
                      }
  
                      var globalThreshold = grunt.option('globalThreshold') || options.globalThreshold;
  
                      if (globalThreshold) {
                          grunt.log.writeln();
                          grunt.log.writeln("Global Coverage Results: (" + globalThreshold + "% minimum)");
                          printPassFailMessage("global", totals.coveredLines, totals.totalLines, globalThreshold, /*printPassing*/true);
                      }
                      grunt.log.writeln();
  
                      grunt.log.write("Unit Test Results: ");
  
                      var stats = helpers.reduceStats(testStats);
  
                      if (stats.failures === 0) {
                          var okMsg = stats.tests + ' specs passed!' + ' (' + stats.duration + 's)';
  
                          growl(okMsg, {
                              image: asset('growl/ok.png'),
                              title: 'Tests passed',
                              priority: 3
                          });
  
                          grunt.log.write(okMsg.green);
                          grunt.log.writeln();
                      } else {
                          ok = false;
                          failMsg = stats.failures + '/' + stats.tests + ' tests failed (' +
                                  stats.duration + 's)';
  
                          // Show Growl notice, if avail
                          growl(failMsg, {
                              image: asset('growl/error.png'),
                              title: 'Failure in ' + grunt.task.current.target,
                              priority: 3
                          });
  
                          grunt.log.write(failMsg.red);
                          grunt.log.writeln();
                      }
  
                      if (!ok) {
                          grunt.warn("Issues were found.");
                      } else {
                          grunt.log.ok("No issues found.");
                      }
  
                      // Async test done
                      done();
                  }