|
|
|
@ -1,3 +1,5 @@
|
|
|
|
|
var webpackConfig = require('./webpack.config');
|
|
|
|
|
|
|
|
|
|
module.exports = function(grunt) {
|
|
|
|
|
|
|
|
|
|
grunt.initConfig({
|
|
|
|
@ -8,78 +10,67 @@ module.exports = function(grunt) {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
stop_node: { stop: {} },
|
|
|
|
|
stop_node: {
|
|
|
|
|
stop: {}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
run: {
|
|
|
|
|
installBower: {
|
|
|
|
|
cmd: 'node',
|
|
|
|
|
args: [
|
|
|
|
|
'./node_modules/bower/bin/bower',
|
|
|
|
|
'install'
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
killAllNodeWindows: {
|
|
|
|
|
cmd: 'taskkill',
|
|
|
|
|
args: [
|
|
|
|
|
'/f',
|
|
|
|
|
'/im',
|
|
|
|
|
'node.exe'
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
killAllNodeMac: {
|
|
|
|
|
cmd: 'killall',
|
|
|
|
|
args: [
|
|
|
|
|
'node'
|
|
|
|
|
]
|
|
|
|
|
jasmine: {
|
|
|
|
|
headless: {
|
|
|
|
|
options: {
|
|
|
|
|
browser: 'chrome',
|
|
|
|
|
headless: true,
|
|
|
|
|
timeout: 20000,
|
|
|
|
|
keepRunner: true,
|
|
|
|
|
outfile: '_SpecRunner.html',
|
|
|
|
|
host: 'http://localhost:8088',
|
|
|
|
|
summary: true,
|
|
|
|
|
display: 'short',
|
|
|
|
|
reportSlowerThan: 2000,
|
|
|
|
|
specs: [
|
|
|
|
|
'.grunt/tests.specs.js'
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
jasmine: {
|
|
|
|
|
amd: {
|
|
|
|
|
src: 'backbone-model-file-upload.js',
|
|
|
|
|
host: 'http://localhost:8888/',
|
|
|
|
|
connect: {
|
|
|
|
|
test: {
|
|
|
|
|
options: {
|
|
|
|
|
specs: ['test/*spec.js'],
|
|
|
|
|
helpers: 'bower_components/Blob/Blob.js',
|
|
|
|
|
//keepRunner: true,
|
|
|
|
|
template: require('grunt-template-jasmine-requirejs'),
|
|
|
|
|
templateOptions: {
|
|
|
|
|
requireConfig: {
|
|
|
|
|
paths: {
|
|
|
|
|
"jquery": "bower_components/jquery/dist/jquery.min",
|
|
|
|
|
"underscore": "bower_components/underscore/underscore-min",
|
|
|
|
|
"backbone": "bower_components/backbone/backbone"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
port: 8088,
|
|
|
|
|
livereload: false,
|
|
|
|
|
hostname: '0.0.0.0', // to be able to access the server not only from localhost
|
|
|
|
|
base: {
|
|
|
|
|
path: '.'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
browserGlobal: {
|
|
|
|
|
src: 'backbone-model-file-upload.js',
|
|
|
|
|
host: 'http://localhost:8888/',
|
|
|
|
|
|
|
|
|
|
specs: {
|
|
|
|
|
options: {
|
|
|
|
|
specs: ['test/*spec.js'],
|
|
|
|
|
//keepRunner: true,
|
|
|
|
|
vendor: [
|
|
|
|
|
"bower_components/Blob/Blob.js",
|
|
|
|
|
"bower_components/jquery/dist/jquery.min.js",
|
|
|
|
|
"bower_components/underscore/underscore-min.js",
|
|
|
|
|
"bower_components/backbone/backbone.js"
|
|
|
|
|
]
|
|
|
|
|
port: 8088,
|
|
|
|
|
livereload: false,
|
|
|
|
|
open: 'http://localhost:8088/_SpecRunner.html',
|
|
|
|
|
hostname: '0.0.0.0',
|
|
|
|
|
base: {
|
|
|
|
|
path: '.'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
webpack: {
|
|
|
|
|
options: {
|
|
|
|
|
stats: false
|
|
|
|
|
},
|
|
|
|
|
test: webpackConfig
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
grunt.loadNpmTasks('grunt-contrib-connect');
|
|
|
|
|
grunt.loadNpmTasks('grunt-webpack');
|
|
|
|
|
grunt.loadNpmTasks('grunt-contrib-jasmine');
|
|
|
|
|
grunt.loadNpmTasks('grunt-run');
|
|
|
|
|
grunt.loadNpmTasks('grunt-run-node');
|
|
|
|
|
|
|
|
|
|
grunt.registerTask('test', ['build','run_node','jasmine','stop_node']);
|
|
|
|
|
grunt.registerTask('build', ['run:installBower']);
|
|
|
|
|
grunt.registerTask('resetNodeWin', ['run:killAllNodeWindows']);
|
|
|
|
|
grunt.registerTask('resetNodeMac', ['run:killAllNodeMac']);
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
grunt.registerTask('test', ['webpack:test', 'connect:test', 'run_node','jasmine','stop_node']);
|
|
|
|
|
grunt.registerTask('test:browser', ['webpack:test', 'connect:specs', 'run_node','jasmine','stop_node']);
|
|
|
|
|
};
|
|
|
|
|