grunt.registerTask('cover-specs', 'generate test coverage', function () { var Command = require('istanbul/lib/command'); require('istanbul/lib/register-plugins'); var cmd = Command.create("cover") var done = this.async(); var commandPath = path.resolve(__dirname, "../node_modules/grunt-jasmine-node/node_modules/.bin/jasmine-node"); cmd.run([commandPath, "spec"], function (err) { if(err) { grunt.fail.warn(err); } submitToCoveralls(path.resolve(__dirname, '../coverage/lcov.info'), function(result) { if (result) { grunt.log.ok(); done(true); } else { grunt.log.error("Failed to submit coverage results to coveralls"); done(false); } }); }); });
this.create = function(options){ var checkCoverageCommand = commandFactory.create('check-coverage'); return streamFactory.create(function(done){ var self = this, checkCoverageArguments = checkCoverageArgumentBuilder.build(options); checkCoverageCommand.run(checkCoverageArguments, function(error){ if (error){ var pluginError = new PluginError('gulp-istanbul-enforcer', error); self.emit('error', pluginError); } self.emit('end'); done(); }); }); };