options.js 710 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. 'use strict';
  2. /**
  3. * Dependencies.
  4. */
  5. var fs = require('fs');
  6. /**
  7. * Export `getOptions`.
  8. */
  9. module.exports = getOptions;
  10. /**
  11. * Get options.
  12. */
  13. function getOptions () {
  14. var optsPath = process.argv.indexOf('--opts') === -1
  15. ? 'test/mocha.opts'
  16. : process.argv[process.argv.indexOf('--opts') + 1];
  17. try {
  18. var opts = fs.readFileSync(optsPath, 'utf8')
  19. .replace(/\\\s/g, '%20')
  20. .split(/\s/)
  21. .filter(Boolean)
  22. .map(function (value) {
  23. return value.replace(/%20/g, ' ');
  24. });
  25. process.argv = process.argv
  26. .slice(0, 2)
  27. .concat(opts.concat(process.argv.slice(2)));
  28. } catch (err) {
  29. // ignore
  30. }
  31. process.env.LOADED_MOCHA_OPTS = true;
  32. }