1 // @todo configure grunt default stuff to run on every save so we know that
2 // dist is always up to date and jsLinted
4 module
.exports = function(grunt
) {
6 require('load-grunt-tasks')(grunt
, {
7 scope
: ['dependencies', 'devDependencies']
11 // end 2 end testing with protractor
15 configFile
: './protractor.conf.js'
19 configFile
: './protractor_travis.conf.js'
34 open
: 'http://localhost:9001/demo',
38 // our protractor server
51 // Watch specified files for changes and execute tasks on change
69 configFile
: 'karma-unit.conf.js',
74 configFile
: 'karma-unit.conf.js',
81 'src': ['dist/unsavedChanges.js'],
82 'dest': 'dist/unsavedChanges.min.js'
90 src
: 'src/unsavedChanges.js',
91 dest
: 'dist/unsavedChanges.js'
97 grunt
.registerTask('test', [
101 grunt
.registerTask('server', [
105 grunt
.registerTask('test:unit', [
109 grunt
.registerTask('autotest', [
113 grunt
.registerTask('autotest:unit', [
117 grunt
.registerTask('default', [
123 grunt
.registerTask('autotest:e2e', [
124 'connect:testserver', // - starts the app so the test runner can visit the app
125 'shell:selenium', // - starts selenium server in watch mode
126 'watch:protractor' // - watches scripts and e2e specs, and starts tests on file change
129 grunt
.registerTask('test:e2e', [
130 'connect:testserver', // - run concurrent tests
131 'protractor:singlerun' // - single run protractor
134 grunt
.registerTask('test:travis', [
135 'connect:travisServer', // - run concurrent tests
136 'karma:unit' // - single run karma unit