You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

72 lines
1.8 KiB

module.exports = function(grunt) {
grunt.initConfig({
'shell': {
'options': {
'stdout': true,
'stderr': true,
'failOnError': true
},
'generate-test-data': { // Only when needed
'command': 'if [ ! -f data.json ]; then echo python generate-test-data.py; fi',
'options': {
'execOptions': {
'cwd': 'tests'
}
}
},
'cover': {
'command': 'istanbul cover --report "html" --verbose --dir "coverage" "tests/tests.js"; istanbul report --root "coverage" --format "html"'
},
'test-narwhal': {
'command': 'echo "Testing in Narwhal..."; export NARWHAL_OPTIMIZATION=-1; narwhal "tests/tests.js"'
},
'test-phantomjs': {
'command': 'echo "Testing in PhantomJS..."; phantomjs "tests/tests.js"'
},
// Rhino 1.7R4 has a bug that makes it impossible to test in.
// https://bugzilla.mozilla.org/show_bug.cgi?id=775566
// To test, use Rhino 1.7R3, or wait (heh) for the 1.7R5 release.
'test-rhino': {
'command': 'echo "Testing in Rhino..."; rhino -opt -1 "tests.js"',
'options': {
'execOptions': {
'cwd': 'tests'
}
}
},
'test-ringo': {
'command': 'echo "Testing in Ringo..."; ringo -o -1 "tests/tests.js"'
},
'test-node': {
'command': 'echo "Testing in Node..."; node "tests/tests.js" --extended'
},
'test-browser': {
'command': 'echo "Testing in a browser..."; open "tests/index.html"'
}
}
});
grunt.loadNpmTasks('grunt-shell');
grunt.registerTask('cover', 'shell:cover');
grunt.registerTask('ci', [
'shell:generate-test-data',
'shell:test-narwhal',
'shell:test-phantomjs',
'shell:test-rhino',
'shell:test-ringo',
'shell:test-node',
]);
grunt.registerTask('test', [
'shell:generate-test-data',
'ci',
'shell:test-browser'
]);
grunt.registerTask('default', [
'shell:test-node',
'cover'
]);
};