diff options
Diffstat (limited to 'library/moment/tasks/qtest.js')
-rw-r--r-- | library/moment/tasks/qtest.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/library/moment/tasks/qtest.js b/library/moment/tasks/qtest.js new file mode 100644 index 000000000..ab925321b --- /dev/null +++ b/library/moment/tasks/qtest.js @@ -0,0 +1,46 @@ +module.exports = function (grunt) { + grunt.task.registerTask('qtest', 'run tests locally', function () { + var done = this.async(); + + var testrunner = require('qunit'); + + testrunner.options.log.assertions = false; + testrunner.options.log.tests = false; + testrunner.options.log.summary = false; + testrunner.options.log.testing = false; + testrunner.options.maxBlockDuration = 120000; + + var tests; + + if (grunt.option('only') != null) { + tests = grunt.file.expand.apply(null, grunt.option('only').split(',').map(function (file) { + if (file === 'moment') { + return 'build/umd/test/moment/*.js'; + } else if (file === 'locale') { + return 'build/umd/test/locale/*.js'; + } else { + return 'build/umd/test/' + file + '.js'; + } + })); + } else { + tests = grunt.file.expand('build/umd/test/moment/*.js', + 'build/umd/test/locale/*.js'); + } + + testrunner.run({ + code: 'build/umd/moment.js', + tests: tests + }, function (err, report) { + if (err) { + console.log('woot', err, report); + done(err); + return; + } + err = null; + if (report.failed !== 0) { + err = new Error(report.failed + ' tests failed'); + } + done(err); + }); + }); +}; |