--- /dev/null
+'use strict';
+module.exports = function (grunt) {
+ grunt.initConfig({
+ jshint: {
+ options: {
+ jshintrc: '.jshintrc'
+ },
+ files: [
+ 'Gruntfile.js',
+ 'bin/*',
+ 'lib/**/*.js',
+ 'test/*.js'
+ ]
+ },
+ simplemocha: {
+ options: {
+ reporter: 'spec',
+ timeout: '5000'
+ },
+ full: {
+ src: [
+ 'test/*.js'
+ ]
+ },
+ short: {
+ options: {
+ reporter: 'dot'
+ },
+ src: [
+ '<%= simplemocha.full.src %>'
+ ]
+ }
+ },
+ exec: {
+ coverage: {
+ command: 'node node_modules/istanbul/lib/cli.js cover --dir ./coverage node_modules/mocha/bin/_mocha -- -R dot test/*.js'
+ },
+ 'test-files': {
+ command: 'node download-test-assets.js'
+ }
+ },
+ watch: {
+ files: [
+ '<%= jshint.files %>'
+ ],
+ tasks: [
+ 'jshint',
+ 'simplemocha:short'
+ ]
+ }
+ });
+
+ grunt.loadNpmTasks('grunt-contrib-jshint');
+ grunt.loadNpmTasks('grunt-contrib-watch');
+ grunt.loadNpmTasks('grunt-simple-mocha');
+ grunt.loadNpmTasks('grunt-exec');
+
+ grunt.registerTask('test', ['jshint', 'simplemocha:full']);
+ grunt.registerTask('coverage', 'exec:coverage');
+ grunt.registerTask('test-files', 'exec:test-files');
+ grunt.registerTask('default', 'test');
+};