1 | #!/usr/bin/env node
|
2 | 'use strict';
|
3 |
|
4 | var _path = require('path');
|
5 |
|
6 | var _path2 = _interopRequireDefault(_path);
|
7 |
|
8 | var _meow = require('meow');
|
9 |
|
10 | var _meow2 = _interopRequireDefault(_meow);
|
11 |
|
12 | var _debug = require('debug');
|
13 |
|
14 | var _debug2 = _interopRequireDefault(_debug);
|
15 |
|
16 | var _cucumber = require('cucumber');
|
17 |
|
18 | var _cucumber2 = _interopRequireDefault(_cucumber);
|
19 |
|
20 | var _rewire = require('./cli/rewire.js');
|
21 |
|
22 | var _mink = require('./mink.js');
|
23 |
|
24 | var _mink2 = _interopRequireDefault(_mink);
|
25 |
|
26 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
27 |
|
28 | function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 | var debug = (0, _debug2.default)('mink:cli');
|
39 |
|
40 | var cli = (0, _meow2.default)('\n Usage: cucumber-mink [options] -- [CUCUMBER ARGS]\n\n Options:\n --inject Mink auto-inject in context [Boolean] [default: true]\n --browser Desired browser name [String] [default: "firefox"]\n --port Selenium server port [default: 4444]\n -h, --help Display help message [Boolean]\n -v, --version Display package version [Boolean]\n', {
|
41 | default: {
|
42 | inject: true,
|
43 | browser: 'firefox',
|
44 | port: 4444
|
45 | },
|
46 | boolean: ['inject'],
|
47 | alias: {
|
48 | v: 'version',
|
49 | h: 'help'
|
50 | }
|
51 | });
|
52 |
|
53 | var injectArgs = function injectArgs(flags) {
|
54 | if (!flags.inject) return [];
|
55 |
|
56 | var params = _mink2.default.DEFAULT_PARAMS;
|
57 | params.driver.desiredCapabilities.browserName = flags.browser;
|
58 | params.driver.port = flags.port;
|
59 |
|
60 | var inject = require('./cli/support/mink_inject.js');
|
61 | var injectPath = _path2.default.join(__dirname, '/cli/support/mink_inject.js');
|
62 | (0, _rewire.startMocking)(injectPath, inject(params));
|
63 |
|
64 | return ['--require', injectPath];
|
65 | };
|
66 |
|
67 | var execArgs = ['node', 'cucumber-js'].concat(_toConsumableArray(injectArgs(cli.flags)), _toConsumableArray(cli.input));
|
68 |
|
69 | debug(execArgs);
|
70 |
|
71 | _cucumber2.default.Cli(execArgs).run(function (success) {
|
72 | process.exit(success ? 0 : 1);
|
73 | }); |
\ | No newline at end of file |