23e4138c07
SauceLabs is struggling to keep connecting and disconnecting for each of the modules unit test runs. This commit puts most of the module tests into IIFEs so that they can be run in one go. * ngMock is still tested separately since unlike the other tests it doesn't want to have a pre-built version of ngMock available. * ngAnimate is still tested separately because it does some funny things with globals that were difficult to isolate in the main modules test run.
71 lines
2.0 KiB
JavaScript
71 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
/* eslint-disable no-invalid-this */
|
|
|
|
var util = require('./utils.js');
|
|
var npmRun = require('npm-run');
|
|
|
|
module.exports = function(grunt) {
|
|
|
|
grunt.registerMultiTask('min', 'minify JS files', function() {
|
|
util.min(this.data, this.async());
|
|
});
|
|
|
|
|
|
grunt.registerTask('minall', 'minify all the JS files in parallel', function() {
|
|
var files = grunt.config('min');
|
|
files = Object.keys(files).map(function(key) { return files[key]; });
|
|
grunt.util.async.forEach(files, util.min.bind(util), this.async());
|
|
});
|
|
|
|
|
|
grunt.registerMultiTask('build', 'build JS files', function() {
|
|
util.build(this.data, this.async());
|
|
});
|
|
|
|
|
|
grunt.registerTask('buildall', 'build all the JS files in parallel', function() {
|
|
var builds = grunt.config('build');
|
|
builds = Object.keys(builds).map(function(key) { return builds[key]; });
|
|
grunt.util.async.forEach(builds, util.build.bind(util), this.async());
|
|
});
|
|
|
|
|
|
grunt.registerMultiTask('write', 'write content to a file', function() {
|
|
grunt.file.write(this.data.file, this.data.val);
|
|
grunt.log.ok('wrote to ' + this.data.file);
|
|
});
|
|
|
|
|
|
grunt.registerTask('docs', 'create AngularJS docs', function() {
|
|
npmRun.execSync('gulp --gulpfile docs/gulpfile.js', {stdio: 'inherit'});
|
|
});
|
|
|
|
|
|
grunt.registerMultiTask('tests', '**Use `grunt test` instead**', function() {
|
|
util.startKarma(this.data, true, this.async());
|
|
});
|
|
|
|
|
|
grunt.registerMultiTask('autotest', 'Run and watch the unit tests with Karma', function() {
|
|
util.startKarma(this.data, false, this.async());
|
|
});
|
|
|
|
grunt.registerTask('webdriver', 'Update webdriver', function() {
|
|
util.updateWebdriver(this.async());
|
|
});
|
|
|
|
grunt.registerMultiTask('protractor', 'Run Protractor integration tests', function() {
|
|
util.startProtractor(this.data, this.async());
|
|
});
|
|
|
|
grunt.registerTask('collect-errors', 'Combine stripped error files', function() {
|
|
util.collectErrors();
|
|
});
|
|
|
|
grunt.registerTask('firebaseDocsJsonForTravis', function() {
|
|
util.firebaseDocsJsonForTravis();
|
|
});
|
|
|
|
};
|