drupal-civicrm/sites/all/modules/civicrm/bower_components/angular-unsavedChanges/Gruntfile.js
2018-01-14 13:10:16 +00:00

139 lines
3.5 KiB
JavaScript

// @todo configure grunt default stuff to run on every save so we know that
// dist is always up to date and jsLinted
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt, {
scope: ['dependencies', 'devDependencies']
});
grunt.initConfig({
// end 2 end testing with protractor
protractor: {
options: {
keepAlive: false,
configFile: './protractor.conf.js'
},
singlerun: {},
travis: {
configFile: './protractor_travis.conf.js'
},
auto: {
keepAlive: true,
options: {
args: {
seleniumPort: 4444
}
}
}
},
connect: {
server: {
options: {
port: 9001,
open: 'http://localhost:9001/demo',
keepalive: true
}
},
// our protractor server
testserver: {
options: {
port: 9999
}
},
travisServer: {
options: {
port: 9999
}
},
},
// watch tasks
// Watch specified files for changes and execute tasks on change
watch: {
livereload: {
options: {
livereload: true
},
files: [
'src/*.js',
'demo/*.js'
],
tasks: ['jshint']
},
},
karma: {
plugins: [
'karma-osx-reporter'
],
unit: {
configFile: 'karma-unit.conf.js',
autoWatch: false,
singleRun: true
},
unitAuto: {
configFile: 'karma-unit.conf.js',
autoWatch: true,
singleRun: false
}
},
'min': {
'dist': {
'src': ['dist/unsavedChanges.js'],
'dest': 'dist/unsavedChanges.min.js'
}
},
jshint: {
all: ['src/*.js']
},
strip: {
main: {
src: 'src/unsavedChanges.js',
dest: 'dist/unsavedChanges.js'
}
}
});
grunt.registerTask('test', [
'test:unit'
]);
grunt.registerTask('server', [
'connect:server'
]);
grunt.registerTask('test:unit', [
'karma:unit'
]);
grunt.registerTask('autotest', [
'autotest:unit'
]);
grunt.registerTask('autotest:unit', [
'karma:unitAuto'
]);
grunt.registerTask('default', [
'jshint',
'strip:main',
'min'
]);
grunt.registerTask('autotest:e2e', [
'connect:testserver', // - starts the app so the test runner can visit the app
'shell:selenium', // - starts selenium server in watch mode
'watch:protractor' // - watches scripts and e2e specs, and starts tests on file change
]);
grunt.registerTask('test:e2e', [
'connect:testserver', // - run concurrent tests
'protractor:singlerun' // - single run protractor
]);
grunt.registerTask('test:travis', [
'connect:travisServer', // - run concurrent tests
'karma:unit' // - single run karma unit
]);
};