52 lines
1.1 KiB
JavaScript
52 lines
1.1 KiB
JavaScript
'use strict';
|
|
|
|
var path = require('path');
|
|
var gulp = require('gulp');
|
|
var conf = require('./conf');
|
|
|
|
var karma = require('karma');
|
|
|
|
var pathSrcHtml = [
|
|
path.join(conf.paths.src, '/**/*.html')
|
|
];
|
|
|
|
var pathSrcJs = [
|
|
path.join(conf.paths.src, '/**/!(*.spec).js')
|
|
];
|
|
|
|
function runTests (singleRun, done) {
|
|
var reporters = ['progress'];
|
|
var preprocessors = {};
|
|
|
|
pathSrcHtml.forEach(function(path) {
|
|
preprocessors[path] = ['ng-html2js'];
|
|
});
|
|
|
|
if (singleRun) {
|
|
pathSrcJs.forEach(function(path) {
|
|
preprocessors[path] = ['coverage'];
|
|
});
|
|
reporters.push('coverage')
|
|
}
|
|
|
|
var localConfig = {
|
|
configFile: path.join(__dirname, '/../karma.conf.js'),
|
|
singleRun: singleRun,
|
|
autoWatch: !singleRun,
|
|
reporters: reporters,
|
|
preprocessors: preprocessors
|
|
};
|
|
|
|
var server = new karma.Server(localConfig, function(failCount) {
|
|
done(failCount ? new Error("Failed " + failCount + " tests.") : null);
|
|
})
|
|
server.start();
|
|
}
|
|
|
|
gulp.task('test', ['scripts'], function(done) {
|
|
runTests(true, done);
|
|
});
|
|
|
|
gulp.task('test:auto', ['watch'], function(done) {
|
|
runTests(false, done);
|
|
});
|