1 | 'use strict';
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | const fs = require('fs');
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | module.exports = getOptions;
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | function getOptions () {
|
20 | if (process.argv.length === 3 && (process.argv[2] === '-h' || process.argv[2] === '--help')) {
|
21 | return;
|
22 | }
|
23 |
|
24 | const optsPath = process.argv.indexOf('--opts') === -1
|
25 | ? 'test/mocha.opts'
|
26 | : process.argv[process.argv.indexOf('--opts') + 1];
|
27 |
|
28 | try {
|
29 | const opts = fs.readFileSync(optsPath, 'utf8')
|
30 | .replace(/\\\s/g, '%20')
|
31 | .split(/\s/)
|
32 | .filter(Boolean)
|
33 | .map(value => value.replace(/%20/g, ' '));
|
34 |
|
35 | process.argv = process.argv
|
36 | .slice(0, 2)
|
37 | .concat(opts.concat(process.argv.slice(2)));
|
38 | } catch (err) {
|
39 |
|
40 | }
|
41 |
|
42 | process.env.LOADED_MOCHA_OPTS = true;
|
43 | }
|