UNPKG

2.23 kBJavaScriptView Raw
1#!/usr/bin/env node
2'use strict';
3
4var _path = require('path');
5
6var _path2 = _interopRequireDefault(_path);
7
8var _meow = require('meow');
9
10var _meow2 = _interopRequireDefault(_meow);
11
12var _debug = require('debug');
13
14var _debug2 = _interopRequireDefault(_debug);
15
16var _cucumber = require('cucumber');
17
18var _cucumber2 = _interopRequireDefault(_cucumber);
19
20var _rewire = require('./cli/rewire.js');
21
22var _mink = require('./mink.js');
23
24var _mink2 = _interopRequireDefault(_mink);
25
26function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
28function _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 * Dependencies
32 */
33
34/**
35 * CLI
36 */
37
38var debug = (0, _debug2.default)('mink:cli');
39
40var 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
53var 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
67var execArgs = ['node', 'cucumber-js'].concat(_toConsumableArray(injectArgs(cli.flags)), _toConsumableArray(cli.input));
68
69debug(execArgs);
70
71_cucumber2.default.Cli(execArgs).run(function (success) {
72 process.exit(success ? 0 : 1);
73});
\No newline at end of file