UNPKG

karma-growly-reporter

Version:
51 lines (39 loc) 1.4 kB
'use strict'; 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] };