test.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. var gulp = require('gulp');
  2. var path = require('path');
  3. var KarmaServer = require('karma').Server;
  4. var karmaConf = path.join(__dirname, '../karma.conf.js'); // was getting confused with relative URLs
  5. // runs a server, outputs a URL to visit.
  6. // we want sourcemaps (modules:dev).
  7. gulp.task('test', [ 'modules:dev', 'locale' ], function(done) {
  8. new KarmaServer({
  9. configFile: karmaConf,
  10. singleRun: false,
  11. autoWatch: true
  12. }, function(exitCode) { // plays best with developing from command line
  13. process.exit(exitCode);
  14. }).start();
  15. });
  16. // runs headlessly and continuously, watching files
  17. gulp.task('test:headless', [ 'modules', 'locale' ], function(done) {
  18. new KarmaServer({
  19. configFile: karmaConf,
  20. browsers: [ 'PhantomJS_custom' ],
  21. singleRun: false,
  22. autoWatch: true
  23. }, function(exitCode) { // plays best with developing from command line
  24. process.exit(exitCode);
  25. }).start();
  26. });
  27. // runs headlessly once, then exits
  28. gulp.task('test:single', [ 'modules', 'locale' ], function(done) {
  29. new KarmaServer({
  30. configFile: karmaConf,
  31. browsers: [ 'PhantomJS_custom' ],
  32. singleRun: true,
  33. autoWatch: false
  34. }).on('run_complete', function(browsers, results) { // plays best with CI and other tasks
  35. done(results.exitCode);
  36. }).start();
  37. });