karma-growly-reporter
Version:
Karma Growly Reporter
51 lines (39 loc) • 1.4 kB
JavaScript
;
var growly = require('growly');
var path = require('path');
var format = require('util').format;
var GrowlyReporter = function(helper, logger, config) {
var cwd = process.cwd();
var filename = path.normalize(path.join(cwd, 'karma-growly-reporter.json'));
var config = require(filename);
var host = config.host || 'localhost';
var port = config.port || 23053;
growly.setHost(host, port);
var si = 0;
var msg = [];
this.onSpecComplete = function(browser, result) {
if (!result.success && si++ < 3)
msg.push({
text: String(result.log).split('\n')[0],
title: result.description});
}
this.onBrowserComplete = function(browser) {
var results = browser.lastResult;
var time = helper.formatTimeInterval(results.totalTime);
growly.notify(format('%d successful\n%d failed\n%d skipped\n\n%s',
results.success,
results.failed,
results.skipped,
time), {title: 'Karma'});
setTimeout(function() {
msg.forEach(function(m) {
growly.notify(m.text, {title: m.title});
});
si = 0;
msg = [];
}, 500);
}
}
module.exports = {
'reporter:growly': ['type', GrowlyReporter]
};