UNPKG

angular-material-npfixed

Version:

The Angular Material project is an implementation of Material Design in Angular.js. This project provides a set of reusable, well-tested, and accessible Material Design UI components. Angular Material is supported internally at Google by the Angular.js, M

67 lines (52 loc) 1.77 kB
var gutil = require('gulp-util'); var karma = require('karma').server; var util = require('../util'); var ROOT = require('../const').ROOT; var Server = require('karma').Server; var karmaConfig = { logLevel: 'warn', singleRun: true, autoWatch: false, configFile: ROOT + '/config/karma.conf.js' }; var args = util.args; // NOTE: `karma-fast` does NOT pre-make a full build of JS and CSS // exports.dependencies = ['build']; exports.task = function (done) { var errorCount = 0; if ( args.browsers ) { karmaConfig.browsers = args.browsers.trim().split(','); } // NOTE: `karma-fast` does NOT test Firefox by default. if ( args.reporters ) { karmaConfig.reporters = args.reporters.trim().split(','); } gutil.log('Running unit tests on unminified source.'); karma = new Server(karmaConfig, captureError(clearEnv,clearEnv)); karma.start(); function clearEnv() { process.env.KARMA_TEST_COMPRESSED = undefined; process.env.KARMA_TEST_JQUERY = undefined; if (errorCount > 0) { process.exit(errorCount); } done(); } /** * For each version of testings (unminified, minified, minified w/ jQuery) * capture the exitCode and update the error count... * * When all versions are done, report any errors that may manifest * [e.g. perhaps in the minified tests] * * NOTE: All versions must pass before the CI server will announce 'success' */ function captureError(next,done) { return function(exitCode) { if (exitCode != 0) { gutil.log(gutil.colors.red("Karma exited with the following exit code: " + exitCode)); errorCount++; } // Do not process next set of tests if current set had >0 errors. (errorCount > 0) && done() || next(); }; } };