@dev-blinq/cucumber-js 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cucumber-js +0 -0
- package/bin/cucumber.js +0 -0
- package/lib/api/console_logger.d.ts +12 -12
- package/lib/api/console_logger.js +23 -23
- package/lib/api/convert_configuration.d.ts +4 -4
- package/lib/api/convert_configuration.js +64 -64
- package/lib/api/environment.d.ts +2 -2
- package/lib/api/environment.js +13 -13
- package/lib/api/formatters.d.ts +20 -20
- package/lib/api/formatters.js +60 -60
- package/lib/api/gherkin.d.ts +21 -21
- package/lib/api/gherkin.js +99 -99
- package/lib/api/index.d.ts +12 -12
- package/lib/api/index.js +27 -27
- package/lib/api/load_configuration.d.ts +9 -9
- package/lib/api/load_configuration.js +40 -40
- package/lib/api/load_sources.d.ts +9 -9
- package/lib/api/load_sources.js +52 -52
- package/lib/api/load_support.d.ts +10 -10
- package/lib/api/load_support.js +29 -29
- package/lib/api/paths.d.ts +8 -8
- package/lib/api/paths.js +101 -101
- package/lib/api/plugins.d.ts +4 -4
- package/lib/api/plugins.js +18 -18
- package/lib/api/run_cucumber.d.ts +11 -11
- package/lib/api/run_cucumber.js +114 -114
- package/lib/api/runtime.d.ts +21 -21
- package/lib/api/runtime.js +35 -35
- package/lib/api/support.d.ts +9 -9
- package/lib/api/support.js +25 -25
- package/lib/api/test_helpers.d.ts +3 -3
- package/lib/api/test_helpers.js +30 -30
- package/lib/api/types.d.ts +175 -175
- package/lib/api/types.js +2 -2
- package/lib/cli/helpers.d.ts +37 -37
- package/lib/cli/helpers.js +202 -202
- package/lib/cli/i18n.d.ts +2 -2
- package/lib/cli/i18n.js +69 -69
- package/lib/cli/index.d.ts +21 -21
- package/lib/cli/index.js +58 -58
- package/lib/cli/install_validator.d.ts +1 -1
- package/lib/cli/install_validator.js +13 -13
- package/lib/cli/run.d.ts +1 -1
- package/lib/cli/run.js +43 -43
- package/lib/cli/validate_node_engine_version.d.ts +10 -10
- package/lib/cli/validate_node_engine_version.js +23 -23
- package/lib/configuration/argv_parser.d.ts +20 -20
- package/lib/configuration/argv_parser.js +100 -100
- package/lib/configuration/check_schema.d.ts +2 -2
- package/lib/configuration/check_schema.js +59 -59
- package/lib/configuration/default_configuration.d.ts +2 -2
- package/lib/configuration/default_configuration.js +26 -26
- package/lib/configuration/from_file.d.ts +3 -3
- package/lib/configuration/from_file.js +84 -84
- package/lib/configuration/helpers.d.ts +1 -1
- package/lib/configuration/helpers.js +10 -10
- package/lib/configuration/index.d.ts +7 -7
- package/lib/configuration/index.js +28 -28
- package/lib/configuration/locate_file.d.ts +1 -1
- package/lib/configuration/locate_file.js +20 -20
- package/lib/configuration/merge_configurations.d.ts +2 -2
- package/lib/configuration/merge_configurations.js +47 -47
- package/lib/configuration/option_splitter.d.ts +3 -3
- package/lib/configuration/option_splitter.js +22 -22
- package/lib/configuration/types.d.ts +28 -28
- package/lib/configuration/types.js +2 -2
- package/lib/configuration/validate_configuration.d.ts +3 -3
- package/lib/configuration/validate_configuration.js +12 -12
- package/lib/filter_stack_trace.d.ts +3 -3
- package/lib/filter_stack_trace.js +37 -37
- package/lib/formatter/builder.d.ts +37 -37
- package/lib/formatter/builder.js +100 -100
- package/lib/formatter/bvt_formatter.d.ts +5 -0
- package/lib/formatter/bvt_formatter.js +21 -0
- package/lib/formatter/bvt_formatter.js.map +1 -0
- package/lib/formatter/feature_data_format.d.ts +14 -14
- package/lib/formatter/feature_data_format.js +80 -80
- package/lib/formatter/feature_data_format.js.map +1 -1
- package/lib/formatter/fixtures/typescript.d.ts +2 -2
- package/lib/formatter/fixtures/typescript.js +5 -5
- package/lib/formatter/get_color_fns.d.ts +15 -15
- package/lib/formatter/get_color_fns.js +55 -55
- package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
- package/lib/formatter/helpers/duration_helpers.js +8 -8
- package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
- package/lib/formatter/helpers/event_data_collector.js +125 -125
- package/lib/formatter/helpers/formatters.d.ts +6 -6
- package/lib/formatter/helpers/formatters.js +44 -42
- package/lib/formatter/helpers/formatters.js.map +1 -1
- package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
- package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
- package/lib/formatter/helpers/index.d.ts +10 -10
- package/lib/formatter/helpers/index.js +51 -51
- package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
- package/lib/formatter/helpers/issue_helpers.js +58 -58
- package/lib/formatter/helpers/keyword_type.d.ts +11 -11
- package/lib/formatter/helpers/keyword_type.js +31 -31
- package/lib/formatter/helpers/location_helpers.d.ts +2 -2
- package/lib/formatter/helpers/location_helpers.js +16 -16
- package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
- package/lib/formatter/helpers/pickle_parser.js +27 -27
- package/lib/formatter/helpers/report_generator.d.ts +91 -0
- package/lib/formatter/helpers/report_generator.js +235 -0
- package/lib/formatter/helpers/report_generator.js.map +1 -0
- package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
- package/lib/formatter/helpers/step_argument_formatter.js +47 -47
- package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
- package/lib/formatter/helpers/summary_helpers.js +95 -95
- package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
- package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
- package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
- package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
- package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
- package/lib/formatter/helpers/usage_helpers/index.js +110 -110
- package/lib/formatter/html_formatter.d.ts +7 -7
- package/lib/formatter/html_formatter.js +29 -29
- package/lib/formatter/index.d.ts +53 -53
- package/lib/formatter/index.js +20 -20
- package/lib/formatter/json_formatter.d.ts +78 -78
- package/lib/formatter/json_formatter.js +229 -229
- package/lib/formatter/junit_formatter.d.ts +17 -17
- package/lib/formatter/junit_formatter.js +180 -180
- package/lib/formatter/message_formatter.d.ts +5 -5
- package/lib/formatter/message_formatter.js +14 -14
- package/lib/formatter/progress_bar_formatter.d.ts +18 -18
- package/lib/formatter/progress_bar_formatter.js +98 -98
- package/lib/formatter/progress_formatter.d.ts +9 -9
- package/lib/formatter/progress_formatter.js +58 -58
- package/lib/formatter/rerun_formatter.d.ts +13 -13
- package/lib/formatter/rerun_formatter.js +79 -79
- package/lib/formatter/snippets_formatter.d.ts +6 -6
- package/lib/formatter/snippets_formatter.js +60 -60
- package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
- package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
- package/lib/formatter/summary_formatter.d.ts +14 -14
- package/lib/formatter/summary_formatter.js +67 -67
- package/lib/formatter/usage_formatter.d.ts +6 -6
- package/lib/formatter/usage_formatter.js +97 -97
- package/lib/formatter/usage_json_formatter.d.ts +7 -7
- package/lib/formatter/usage_json_formatter.js +33 -33
- package/lib/index.d.ts +58 -58
- package/lib/index.js +108 -108
- package/lib/logger.d.ts +5 -5
- package/lib/logger.js +2 -2
- package/lib/models/data_table.d.ts +10 -10
- package/lib/models/data_table.js +45 -45
- package/lib/models/definition.d.ts +55 -55
- package/lib/models/definition.js +21 -21
- package/lib/models/gherkin_step_keyword.d.ts +1 -1
- package/lib/models/gherkin_step_keyword.js +2 -2
- package/lib/models/pickle_order.d.ts +1 -1
- package/lib/models/pickle_order.js +2 -2
- package/lib/models/step_definition.d.ts +11 -11
- package/lib/models/step_definition.js +36 -36
- package/lib/models/test_case_hook_definition.d.ts +10 -10
- package/lib/models/test_case_hook_definition.js +26 -26
- package/lib/models/test_run_hook_definition.d.ts +3 -3
- package/lib/models/test_run_hook_definition.js +9 -9
- package/lib/models/test_step_hook_definition.d.ts +9 -9
- package/lib/models/test_step_hook_definition.js +25 -25
- package/lib/pickle_filter.d.ts +42 -42
- package/lib/pickle_filter.js +98 -98
- package/lib/plugin/index.d.ts +2 -2
- package/lib/plugin/index.js +18 -18
- package/lib/plugin/plugin_manager.d.ts +13 -13
- package/lib/plugin/plugin_manager.js +35 -35
- package/lib/plugin/types.d.ts +14 -14
- package/lib/plugin/types.js +2 -2
- package/lib/publish/http_stream.d.ts +30 -30
- package/lib/publish/http_stream.js +111 -111
- package/lib/publish/index.d.ts +2 -2
- package/lib/publish/index.js +4 -4
- package/lib/publish/publish_plugin.d.ts +2 -2
- package/lib/publish/publish_plugin.js +47 -47
- package/lib/runtime/assemble_test_cases.d.ts +13 -13
- package/lib/runtime/assemble_test_cases.js +87 -87
- package/lib/runtime/attachment_manager/index.d.ts +33 -33
- package/lib/runtime/attachment_manager/index.js +118 -118
- package/lib/runtime/format_error.d.ts +2 -2
- package/lib/runtime/format_error.js +35 -35
- package/lib/runtime/helpers.d.ts +6 -6
- package/lib/runtime/helpers.js +100 -100
- package/lib/runtime/index.d.ts +40 -40
- package/lib/runtime/index.js +75 -75
- package/lib/runtime/parallel/command_types.d.ts +32 -32
- package/lib/runtime/parallel/command_types.js +2 -2
- package/lib/runtime/parallel/coordinator.d.ts +72 -72
- package/lib/runtime/parallel/coordinator.js +221 -221
- package/lib/runtime/parallel/run_worker.d.ts +1 -1
- package/lib/runtime/parallel/run_worker.js +28 -28
- package/lib/runtime/parallel/worker.d.ts +26 -26
- package/lib/runtime/parallel/worker.js +86 -86
- package/lib/runtime/run_test_run_hooks.d.ts +3 -3
- package/lib/runtime/run_test_run_hooks.js +27 -27
- package/lib/runtime/step_runner.d.ts +16 -16
- package/lib/runtime/step_runner.js +87 -87
- package/lib/runtime/stopwatch.d.ts +12 -12
- package/lib/runtime/stopwatch.js +33 -33
- package/lib/runtime/test_case_runner.d.ts +54 -54
- package/lib/runtime/test_case_runner.js +267 -267
- package/lib/step_arguments.d.ts +6 -6
- package/lib/step_arguments.js +18 -18
- package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
- package/lib/support_code_library_builder/build_parameter_type.js +12 -12
- package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
- package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
- package/lib/support_code_library_builder/index.d.ts +74 -74
- package/lib/support_code_library_builder/index.js +296 -296
- package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
- package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
- package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
- package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
- package/lib/support_code_library_builder/types.d.ts +88 -88
- package/lib/support_code_library_builder/types.js +2 -2
- package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
- package/lib/support_code_library_builder/validate_arguments.js +72 -72
- package/lib/support_code_library_builder/world.d.ts +18 -18
- package/lib/support_code_library_builder/world.js +10 -10
- package/lib/time.d.ts +18 -18
- package/lib/time.js +60 -60
- package/lib/try_require.d.ts +7 -7
- package/lib/try_require.js +22 -22
- package/lib/types/index.d.ts +4 -4
- package/lib/types/index.js +2 -2
- package/lib/uncaught_exception_manager.d.ts +7 -7
- package/lib/uncaught_exception_manager.js +11 -11
- package/lib/user_code_runner.d.ts +14 -14
- package/lib/user_code_runner.js +81 -81
- package/lib/value_checker.d.ts +3 -3
- package/lib/value_checker.js +18 -18
- package/lib/version.d.ts +1 -1
- package/lib/version.js +5 -5
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import SummaryFormatter from './summary_formatter';
|
|
2
|
-
import { IFormatterOptions } from './index';
|
|
3
|
-
import * as messages from '@cucumber/messages';
|
|
4
|
-
import ITestStepFinished = messages.TestStepFinished;
|
|
5
|
-
export default class ProgressFormatter extends SummaryFormatter {
|
|
6
|
-
static readonly documentation: string;
|
|
7
|
-
constructor(options: IFormatterOptions);
|
|
8
|
-
logProgress({ testStepResult: { status } }: ITestStepFinished): void;
|
|
9
|
-
}
|
|
1
|
+
import SummaryFormatter from './summary_formatter';
|
|
2
|
+
import { IFormatterOptions } from './index';
|
|
3
|
+
import * as messages from '@cucumber/messages';
|
|
4
|
+
import ITestStepFinished = messages.TestStepFinished;
|
|
5
|
+
export default class ProgressFormatter extends SummaryFormatter {
|
|
6
|
+
static readonly documentation: string;
|
|
7
|
+
constructor(options: IFormatterOptions);
|
|
8
|
+
logProgress({ testStepResult: { status } }: ITestStepFinished): void;
|
|
9
|
+
}
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const summary_formatter_1 = __importDefault(require("./summary_formatter"));
|
|
30
|
-
const value_checker_1 = require("../value_checker");
|
|
31
|
-
const messages = __importStar(require("@cucumber/messages"));
|
|
32
|
-
const STATUS_CHARACTER_MAPPING = new Map([
|
|
33
|
-
[messages.TestStepResultStatus.AMBIGUOUS, 'A'],
|
|
34
|
-
[messages.TestStepResultStatus.FAILED, 'F'],
|
|
35
|
-
[messages.TestStepResultStatus.PASSED, '.'],
|
|
36
|
-
[messages.TestStepResultStatus.PENDING, 'P'],
|
|
37
|
-
[messages.TestStepResultStatus.SKIPPED, '-'],
|
|
38
|
-
[messages.TestStepResultStatus.UNDEFINED, 'U'],
|
|
39
|
-
]);
|
|
40
|
-
class ProgressFormatter extends summary_formatter_1.default {
|
|
41
|
-
constructor(options) {
|
|
42
|
-
options.eventBroadcaster.on('envelope', (envelope) => {
|
|
43
|
-
if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
|
|
44
|
-
this.log('\n\n');
|
|
45
|
-
}
|
|
46
|
-
else if ((0, value_checker_1.doesHaveValue)(envelope.testStepFinished)) {
|
|
47
|
-
this.logProgress(envelope.testStepFinished);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
super(options);
|
|
51
|
-
}
|
|
52
|
-
logProgress({ testStepResult: { status } }) {
|
|
53
|
-
const character = this.colorFns.forStatus(status)(STATUS_CHARACTER_MAPPING.get(status));
|
|
54
|
-
this.log(character);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.default = ProgressFormatter;
|
|
58
|
-
ProgressFormatter.documentation = 'Prints one character per scenario.';
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const summary_formatter_1 = __importDefault(require("./summary_formatter"));
|
|
30
|
+
const value_checker_1 = require("../value_checker");
|
|
31
|
+
const messages = __importStar(require("@cucumber/messages"));
|
|
32
|
+
const STATUS_CHARACTER_MAPPING = new Map([
|
|
33
|
+
[messages.TestStepResultStatus.AMBIGUOUS, 'A'],
|
|
34
|
+
[messages.TestStepResultStatus.FAILED, 'F'],
|
|
35
|
+
[messages.TestStepResultStatus.PASSED, '.'],
|
|
36
|
+
[messages.TestStepResultStatus.PENDING, 'P'],
|
|
37
|
+
[messages.TestStepResultStatus.SKIPPED, '-'],
|
|
38
|
+
[messages.TestStepResultStatus.UNDEFINED, 'U'],
|
|
39
|
+
]);
|
|
40
|
+
class ProgressFormatter extends summary_formatter_1.default {
|
|
41
|
+
constructor(options) {
|
|
42
|
+
options.eventBroadcaster.on('envelope', (envelope) => {
|
|
43
|
+
if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
|
|
44
|
+
this.log('\n\n');
|
|
45
|
+
}
|
|
46
|
+
else if ((0, value_checker_1.doesHaveValue)(envelope.testStepFinished)) {
|
|
47
|
+
this.logProgress(envelope.testStepFinished);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
super(options);
|
|
51
|
+
}
|
|
52
|
+
logProgress({ testStepResult: { status } }) {
|
|
53
|
+
const character = this.colorFns.forStatus(status)(STATUS_CHARACTER_MAPPING.get(status));
|
|
54
|
+
this.log(character);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.default = ProgressFormatter;
|
|
58
|
+
ProgressFormatter.documentation = 'Prints one character per scenario.';
|
|
59
59
|
//# sourceMappingURL=progress_formatter.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import Formatter, { IFormatterOptions } from './';
|
|
2
|
-
interface UriToLinesMap {
|
|
3
|
-
[uri: string]: number[];
|
|
4
|
-
}
|
|
5
|
-
export default class RerunFormatter extends Formatter {
|
|
6
|
-
protected readonly separator: string;
|
|
7
|
-
static readonly documentation: string;
|
|
8
|
-
constructor(options: IFormatterOptions);
|
|
9
|
-
getFailureMap(): UriToLinesMap;
|
|
10
|
-
formatFailedTestCases(): string;
|
|
11
|
-
logFailedTestCases(): void;
|
|
12
|
-
}
|
|
13
|
-
export {};
|
|
1
|
+
import Formatter, { IFormatterOptions } from './';
|
|
2
|
+
interface UriToLinesMap {
|
|
3
|
+
[uri: string]: number[];
|
|
4
|
+
}
|
|
5
|
+
export default class RerunFormatter extends Formatter {
|
|
6
|
+
protected readonly separator: string;
|
|
7
|
+
static readonly documentation: string;
|
|
8
|
+
constructor(options: IFormatterOptions);
|
|
9
|
+
getFailureMap(): UriToLinesMap;
|
|
10
|
+
formatFailedTestCases(): string;
|
|
11
|
+
logFailedTestCases(): void;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const _1 = __importDefault(require("./"));
|
|
30
|
-
const gherkin_document_parser_1 = require("./helpers/gherkin_document_parser");
|
|
31
|
-
const value_checker_1 = require("../value_checker");
|
|
32
|
-
const messages = __importStar(require("@cucumber/messages"));
|
|
33
|
-
const DEFAULT_SEPARATOR = '\n';
|
|
34
|
-
function isFailedAttempt(worstTestStepResult) {
|
|
35
|
-
return worstTestStepResult.status !== messages.TestStepResultStatus.PASSED;
|
|
36
|
-
}
|
|
37
|
-
class RerunFormatter extends _1.default {
|
|
38
|
-
constructor(options) {
|
|
39
|
-
super(options);
|
|
40
|
-
options.eventBroadcaster.on('envelope', (envelope) => {
|
|
41
|
-
if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
|
|
42
|
-
this.logFailedTestCases();
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
const rerunOptions = (0, value_checker_1.valueOrDefault)(options.parsedArgvOptions.rerun, {});
|
|
46
|
-
this.separator = (0, value_checker_1.valueOrDefault)(rerunOptions.separator, DEFAULT_SEPARATOR);
|
|
47
|
-
}
|
|
48
|
-
getFailureMap() {
|
|
49
|
-
const mapping = {};
|
|
50
|
-
this.eventDataCollector
|
|
51
|
-
.getTestCaseAttempts()
|
|
52
|
-
.forEach(({ gherkinDocument, pickle, worstTestStepResult, willBeRetried }) => {
|
|
53
|
-
if (isFailedAttempt(worstTestStepResult) && !willBeRetried) {
|
|
54
|
-
const relativeUri = pickle.uri;
|
|
55
|
-
const line = (0, gherkin_document_parser_1.getGherkinScenarioLocationMap)(gherkinDocument)[pickle.astNodeIds[pickle.astNodeIds.length - 1]].line;
|
|
56
|
-
if ((0, value_checker_1.doesNotHaveValue)(mapping[relativeUri])) {
|
|
57
|
-
mapping[relativeUri] = [];
|
|
58
|
-
}
|
|
59
|
-
mapping[relativeUri].push(line);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
return mapping;
|
|
63
|
-
}
|
|
64
|
-
formatFailedTestCases() {
|
|
65
|
-
const mapping = this.getFailureMap();
|
|
66
|
-
return Object.keys(mapping)
|
|
67
|
-
.map((uri) => {
|
|
68
|
-
const lines = mapping[uri];
|
|
69
|
-
return `${uri}:${lines.join(':')}`;
|
|
70
|
-
})
|
|
71
|
-
.join(this.separator);
|
|
72
|
-
}
|
|
73
|
-
logFailedTestCases() {
|
|
74
|
-
const failedTestCases = this.formatFailedTestCases();
|
|
75
|
-
this.log(failedTestCases);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
exports.default = RerunFormatter;
|
|
79
|
-
RerunFormatter.documentation = 'Prints failing files with line numbers.';
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const _1 = __importDefault(require("./"));
|
|
30
|
+
const gherkin_document_parser_1 = require("./helpers/gherkin_document_parser");
|
|
31
|
+
const value_checker_1 = require("../value_checker");
|
|
32
|
+
const messages = __importStar(require("@cucumber/messages"));
|
|
33
|
+
const DEFAULT_SEPARATOR = '\n';
|
|
34
|
+
function isFailedAttempt(worstTestStepResult) {
|
|
35
|
+
return worstTestStepResult.status !== messages.TestStepResultStatus.PASSED;
|
|
36
|
+
}
|
|
37
|
+
class RerunFormatter extends _1.default {
|
|
38
|
+
constructor(options) {
|
|
39
|
+
super(options);
|
|
40
|
+
options.eventBroadcaster.on('envelope', (envelope) => {
|
|
41
|
+
if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
|
|
42
|
+
this.logFailedTestCases();
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
const rerunOptions = (0, value_checker_1.valueOrDefault)(options.parsedArgvOptions.rerun, {});
|
|
46
|
+
this.separator = (0, value_checker_1.valueOrDefault)(rerunOptions.separator, DEFAULT_SEPARATOR);
|
|
47
|
+
}
|
|
48
|
+
getFailureMap() {
|
|
49
|
+
const mapping = {};
|
|
50
|
+
this.eventDataCollector
|
|
51
|
+
.getTestCaseAttempts()
|
|
52
|
+
.forEach(({ gherkinDocument, pickle, worstTestStepResult, willBeRetried }) => {
|
|
53
|
+
if (isFailedAttempt(worstTestStepResult) && !willBeRetried) {
|
|
54
|
+
const relativeUri = pickle.uri;
|
|
55
|
+
const line = (0, gherkin_document_parser_1.getGherkinScenarioLocationMap)(gherkinDocument)[pickle.astNodeIds[pickle.astNodeIds.length - 1]].line;
|
|
56
|
+
if ((0, value_checker_1.doesNotHaveValue)(mapping[relativeUri])) {
|
|
57
|
+
mapping[relativeUri] = [];
|
|
58
|
+
}
|
|
59
|
+
mapping[relativeUri].push(line);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return mapping;
|
|
63
|
+
}
|
|
64
|
+
formatFailedTestCases() {
|
|
65
|
+
const mapping = this.getFailureMap();
|
|
66
|
+
return Object.keys(mapping)
|
|
67
|
+
.map((uri) => {
|
|
68
|
+
const lines = mapping[uri];
|
|
69
|
+
return `${uri}:${lines.join(':')}`;
|
|
70
|
+
})
|
|
71
|
+
.join(this.separator);
|
|
72
|
+
}
|
|
73
|
+
logFailedTestCases() {
|
|
74
|
+
const failedTestCases = this.formatFailedTestCases();
|
|
75
|
+
this.log(failedTestCases);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.default = RerunFormatter;
|
|
79
|
+
RerunFormatter.documentation = 'Prints failing files with line numbers.';
|
|
80
80
|
//# sourceMappingURL=rerun_formatter.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import Formatter, { IFormatterOptions } from './';
|
|
2
|
-
export default class SnippetsFormatter extends Formatter {
|
|
3
|
-
static readonly documentation: string;
|
|
4
|
-
constructor(options: IFormatterOptions);
|
|
5
|
-
logSnippets(): void;
|
|
6
|
-
}
|
|
1
|
+
import Formatter, { IFormatterOptions } from './';
|
|
2
|
+
export default class SnippetsFormatter extends Formatter {
|
|
3
|
+
static readonly documentation: string;
|
|
4
|
+
constructor(options: IFormatterOptions);
|
|
5
|
+
logSnippets(): void;
|
|
6
|
+
}
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const _1 = __importDefault(require("./"));
|
|
30
|
-
const helpers_1 = require("./helpers");
|
|
31
|
-
const value_checker_1 = require("../value_checker");
|
|
32
|
-
const messages = __importStar(require("@cucumber/messages"));
|
|
33
|
-
class SnippetsFormatter extends _1.default {
|
|
34
|
-
constructor(options) {
|
|
35
|
-
super(options);
|
|
36
|
-
options.eventBroadcaster.on('envelope', (envelope) => {
|
|
37
|
-
if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
|
|
38
|
-
this.logSnippets();
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
logSnippets() {
|
|
43
|
-
const snippets = [];
|
|
44
|
-
this.eventDataCollector.getTestCaseAttempts().forEach((testCaseAttempt) => {
|
|
45
|
-
const parsed = (0, helpers_1.parseTestCaseAttempt)({
|
|
46
|
-
snippetBuilder: this.snippetBuilder,
|
|
47
|
-
supportCodeLibrary: this.supportCodeLibrary,
|
|
48
|
-
testCaseAttempt,
|
|
49
|
-
});
|
|
50
|
-
parsed.testSteps.forEach((testStep) => {
|
|
51
|
-
if (testStep.result.status === messages.TestStepResultStatus.UNDEFINED) {
|
|
52
|
-
snippets.push(testStep.snippet);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
this.log(snippets.join('\n\n'));
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.default = SnippetsFormatter;
|
|
60
|
-
SnippetsFormatter.documentation = "The Snippets Formatter doesn't output anything regarding the test run; it just prints snippets to implement any undefined steps";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const _1 = __importDefault(require("./"));
|
|
30
|
+
const helpers_1 = require("./helpers");
|
|
31
|
+
const value_checker_1 = require("../value_checker");
|
|
32
|
+
const messages = __importStar(require("@cucumber/messages"));
|
|
33
|
+
class SnippetsFormatter extends _1.default {
|
|
34
|
+
constructor(options) {
|
|
35
|
+
super(options);
|
|
36
|
+
options.eventBroadcaster.on('envelope', (envelope) => {
|
|
37
|
+
if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
|
|
38
|
+
this.logSnippets();
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
logSnippets() {
|
|
43
|
+
const snippets = [];
|
|
44
|
+
this.eventDataCollector.getTestCaseAttempts().forEach((testCaseAttempt) => {
|
|
45
|
+
const parsed = (0, helpers_1.parseTestCaseAttempt)({
|
|
46
|
+
snippetBuilder: this.snippetBuilder,
|
|
47
|
+
supportCodeLibrary: this.supportCodeLibrary,
|
|
48
|
+
testCaseAttempt,
|
|
49
|
+
});
|
|
50
|
+
parsed.testSteps.forEach((testStep) => {
|
|
51
|
+
if (testStep.result.status === messages.TestStepResultStatus.UNDEFINED) {
|
|
52
|
+
snippets.push(testStep.snippet);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
this.log(snippets.join('\n\n'));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.default = SnippetsFormatter;
|
|
60
|
+
SnippetsFormatter.documentation = "The Snippets Formatter doesn't output anything regarding the test run; it just prints snippets to implement any undefined steps";
|
|
61
61
|
//# sourceMappingURL=snippets_formatter.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { KeywordType } from '../helpers';
|
|
2
|
-
import { ISnippetSnytax } from './snippet_syntax';
|
|
3
|
-
import { ParameterTypeRegistry } from '@cucumber/cucumber-expressions';
|
|
4
|
-
import * as messages from '@cucumber/messages';
|
|
5
|
-
export interface INewStepDefinitionSnippetBuilderOptions {
|
|
6
|
-
snippetSyntax: ISnippetSnytax;
|
|
7
|
-
parameterTypeRegistry: ParameterTypeRegistry;
|
|
8
|
-
}
|
|
9
|
-
export interface IBuildRequest {
|
|
10
|
-
keywordType: KeywordType;
|
|
11
|
-
pickleStep: messages.PickleStep;
|
|
12
|
-
}
|
|
13
|
-
export default class StepDefinitionSnippetBuilder {
|
|
14
|
-
private readonly snippetSyntax;
|
|
15
|
-
private readonly cucumberExpressionGenerator;
|
|
16
|
-
constructor({ snippetSyntax, parameterTypeRegistry, }: INewStepDefinitionSnippetBuilderOptions);
|
|
17
|
-
build({ keywordType, pickleStep }: IBuildRequest): string;
|
|
18
|
-
getFunctionName(keywordType: KeywordType): string;
|
|
19
|
-
getStepParameterNames(step: messages.PickleStep): string[];
|
|
20
|
-
}
|
|
1
|
+
import { KeywordType } from '../helpers';
|
|
2
|
+
import { ISnippetSnytax } from './snippet_syntax';
|
|
3
|
+
import { ParameterTypeRegistry } from '@cucumber/cucumber-expressions';
|
|
4
|
+
import * as messages from '@cucumber/messages';
|
|
5
|
+
export interface INewStepDefinitionSnippetBuilderOptions {
|
|
6
|
+
snippetSyntax: ISnippetSnytax;
|
|
7
|
+
parameterTypeRegistry: ParameterTypeRegistry;
|
|
8
|
+
}
|
|
9
|
+
export interface IBuildRequest {
|
|
10
|
+
keywordType: KeywordType;
|
|
11
|
+
pickleStep: messages.PickleStep;
|
|
12
|
+
}
|
|
13
|
+
export default class StepDefinitionSnippetBuilder {
|
|
14
|
+
private readonly snippetSyntax;
|
|
15
|
+
private readonly cucumberExpressionGenerator;
|
|
16
|
+
constructor({ snippetSyntax, parameterTypeRegistry, }: INewStepDefinitionSnippetBuilderOptions);
|
|
17
|
+
build({ keywordType, pickleStep }: IBuildRequest): string;
|
|
18
|
+
getFunctionName(keywordType: KeywordType): string;
|
|
19
|
+
getStepParameterNames(step: messages.PickleStep): string[];
|
|
20
|
+
}
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const helpers_1 = require("../helpers");
|
|
4
|
-
const step_arguments_1 = require("../../step_arguments");
|
|
5
|
-
const cucumber_expressions_1 = require("@cucumber/cucumber-expressions");
|
|
6
|
-
const value_checker_1 = require("../../value_checker");
|
|
7
|
-
class StepDefinitionSnippetBuilder {
|
|
8
|
-
constructor({ snippetSyntax, parameterTypeRegistry, }) {
|
|
9
|
-
this.snippetSyntax = snippetSyntax;
|
|
10
|
-
this.cucumberExpressionGenerator = new cucumber_expressions_1.CucumberExpressionGenerator(() => parameterTypeRegistry.parameterTypes);
|
|
11
|
-
}
|
|
12
|
-
build({ keywordType, pickleStep }) {
|
|
13
|
-
const comment = 'Write code here that turns the phrase above into concrete actions';
|
|
14
|
-
const functionName = this.getFunctionName(keywordType);
|
|
15
|
-
const generatedExpressions = this.cucumberExpressionGenerator.generateExpressions(pickleStep.text);
|
|
16
|
-
const stepParameterNames = this.getStepParameterNames(pickleStep);
|
|
17
|
-
return this.snippetSyntax.build({
|
|
18
|
-
comment,
|
|
19
|
-
functionName,
|
|
20
|
-
generatedExpressions,
|
|
21
|
-
stepParameterNames,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
getFunctionName(keywordType) {
|
|
25
|
-
switch (keywordType) {
|
|
26
|
-
case helpers_1.KeywordType.Event:
|
|
27
|
-
return 'When';
|
|
28
|
-
case helpers_1.KeywordType.Outcome:
|
|
29
|
-
return 'Then';
|
|
30
|
-
case helpers_1.KeywordType.Precondition:
|
|
31
|
-
return 'Given';
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
getStepParameterNames(step) {
|
|
35
|
-
if ((0, value_checker_1.doesHaveValue)(step.argument)) {
|
|
36
|
-
const argumentName = (0, step_arguments_1.parseStepArgument)(step.argument, {
|
|
37
|
-
dataTable: () => 'dataTable',
|
|
38
|
-
docString: () => 'docString',
|
|
39
|
-
});
|
|
40
|
-
return [argumentName];
|
|
41
|
-
}
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
exports.default = StepDefinitionSnippetBuilder;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const helpers_1 = require("../helpers");
|
|
4
|
+
const step_arguments_1 = require("../../step_arguments");
|
|
5
|
+
const cucumber_expressions_1 = require("@cucumber/cucumber-expressions");
|
|
6
|
+
const value_checker_1 = require("../../value_checker");
|
|
7
|
+
class StepDefinitionSnippetBuilder {
|
|
8
|
+
constructor({ snippetSyntax, parameterTypeRegistry, }) {
|
|
9
|
+
this.snippetSyntax = snippetSyntax;
|
|
10
|
+
this.cucumberExpressionGenerator = new cucumber_expressions_1.CucumberExpressionGenerator(() => parameterTypeRegistry.parameterTypes);
|
|
11
|
+
}
|
|
12
|
+
build({ keywordType, pickleStep }) {
|
|
13
|
+
const comment = 'Write code here that turns the phrase above into concrete actions';
|
|
14
|
+
const functionName = this.getFunctionName(keywordType);
|
|
15
|
+
const generatedExpressions = this.cucumberExpressionGenerator.generateExpressions(pickleStep.text);
|
|
16
|
+
const stepParameterNames = this.getStepParameterNames(pickleStep);
|
|
17
|
+
return this.snippetSyntax.build({
|
|
18
|
+
comment,
|
|
19
|
+
functionName,
|
|
20
|
+
generatedExpressions,
|
|
21
|
+
stepParameterNames,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
getFunctionName(keywordType) {
|
|
25
|
+
switch (keywordType) {
|
|
26
|
+
case helpers_1.KeywordType.Event:
|
|
27
|
+
return 'When';
|
|
28
|
+
case helpers_1.KeywordType.Outcome:
|
|
29
|
+
return 'Then';
|
|
30
|
+
case helpers_1.KeywordType.Precondition:
|
|
31
|
+
return 'Given';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
getStepParameterNames(step) {
|
|
35
|
+
if ((0, value_checker_1.doesHaveValue)(step.argument)) {
|
|
36
|
+
const argumentName = (0, step_arguments_1.parseStepArgument)(step.argument, {
|
|
37
|
+
dataTable: () => 'dataTable',
|
|
38
|
+
docString: () => 'docString',
|
|
39
|
+
});
|
|
40
|
+
return [argumentName];
|
|
41
|
+
}
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.default = StepDefinitionSnippetBuilder;
|
|
46
46
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ISnippetSnytax, ISnippetSyntaxBuildOptions, SnippetInterface } from './snippet_syntax';
|
|
2
|
-
export default class JavaScriptSnippetSyntax implements ISnippetSnytax {
|
|
3
|
-
private readonly snippetInterface;
|
|
4
|
-
constructor(snippetInterface: SnippetInterface);
|
|
5
|
-
build({ comment, generatedExpressions, functionName, stepParameterNames, }: ISnippetSyntaxBuildOptions): string;
|
|
6
|
-
private escapeSpecialCharacters;
|
|
7
|
-
}
|
|
1
|
+
import { ISnippetSnytax, ISnippetSyntaxBuildOptions, SnippetInterface } from './snippet_syntax';
|
|
2
|
+
export default class JavaScriptSnippetSyntax implements ISnippetSnytax {
|
|
3
|
+
private readonly snippetInterface;
|
|
4
|
+
constructor(snippetInterface: SnippetInterface);
|
|
5
|
+
build({ comment, generatedExpressions, functionName, stepParameterNames, }: ISnippetSyntaxBuildOptions): string;
|
|
6
|
+
private escapeSpecialCharacters;
|
|
7
|
+
}
|