@dev-blinq/cucumber-js 1.0.10 → 1.0.12-stage
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/bin/download-install.js +126 -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 +65 -64
- package/lib/api/convert_configuration.js.map +1 -1
- 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 +140 -99
- package/lib/api/gherkin.js.map +1 -1
- 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/run_cucumber.js.map +1 -1
- 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 +177 -175
- package/lib/api/types.js +2 -2
- package/lib/api/types.js.map +1 -1
- package/lib/cli/helpers.d.ts +39 -37
- package/lib/cli/helpers.js +223 -202
- package/lib/cli/helpers.js.map +1 -1
- 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 +63 -58
- package/lib/cli/index.js.map +1 -1
- 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 +102 -100
- package/lib/configuration/argv_parser.js.map +1 -1
- 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 +28 -26
- package/lib/configuration/default_configuration.js.map +1 -1
- 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 +30 -28
- package/lib/configuration/types.js +2 -2
- package/lib/configuration/types.js.map +1 -1
- 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_analysis_formatter.d.ts +18 -0
- package/lib/formatter/bvt_analysis_formatter.js +193 -0
- package/lib/formatter/bvt_analysis_formatter.js.map +1 -0
- package/lib/formatter/feature_data_format.d.ts +23 -14
- package/lib/formatter/feature_data_format.js +136 -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 -44
- 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 +110 -91
- package/lib/formatter/helpers/report_generator.js +348 -250
- package/lib/formatter/helpers/report_generator.js.map +1 -1
- 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/upload_serivce.d.ts +13 -9
- package/lib/formatter/helpers/upload_serivce.js +103 -46
- package/lib/formatter/helpers/upload_serivce.js.map +1 -1
- package/lib/formatter/helpers/uploader.d.ts +11 -0
- package/lib/formatter/helpers/uploader.js +78 -0
- package/lib/formatter/helpers/uploader.js.map +1 -0
- 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 +4 -2
- package/lib/formatter/bvt_formatter.d.ts +0 -9
- package/lib/formatter/bvt_formatter.js +0 -63
- package/lib/formatter/bvt_formatter.js.map +0 -1
|
@@ -1,126 +1,126 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const messages = __importStar(require("@cucumber/messages"));
|
|
27
|
-
const value_checker_1 = require("../../value_checker");
|
|
28
|
-
class EventDataCollector {
|
|
29
|
-
constructor(eventBroadcaster) {
|
|
30
|
-
this.gherkinDocumentMap = {};
|
|
31
|
-
this.pickleMap = {};
|
|
32
|
-
this.testCaseMap = {};
|
|
33
|
-
this.testCaseAttemptDataMap = {};
|
|
34
|
-
this.undefinedParameterTypes = [];
|
|
35
|
-
eventBroadcaster.on('envelope', this.parseEnvelope.bind(this));
|
|
36
|
-
}
|
|
37
|
-
getGherkinDocument(uri) {
|
|
38
|
-
return this.gherkinDocumentMap[uri];
|
|
39
|
-
}
|
|
40
|
-
getPickle(pickleId) {
|
|
41
|
-
return this.pickleMap[pickleId];
|
|
42
|
-
}
|
|
43
|
-
getTestCaseAttempts() {
|
|
44
|
-
return Object.keys(this.testCaseAttemptDataMap).map((testCaseStartedId) => {
|
|
45
|
-
return this.getTestCaseAttempt(testCaseStartedId);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
getTestCaseAttempt(testCaseStartedId) {
|
|
49
|
-
const testCaseAttemptData = this.testCaseAttemptDataMap[testCaseStartedId];
|
|
50
|
-
const testCase = this.testCaseMap[testCaseAttemptData.testCaseId];
|
|
51
|
-
const pickle = this.pickleMap[testCase.pickleId];
|
|
52
|
-
return {
|
|
53
|
-
gherkinDocument: this.gherkinDocumentMap[pickle.uri],
|
|
54
|
-
pickle,
|
|
55
|
-
testCase,
|
|
56
|
-
attempt: testCaseAttemptData.attempt,
|
|
57
|
-
willBeRetried: testCaseAttemptData.willBeRetried,
|
|
58
|
-
stepAttachments: testCaseAttemptData.stepAttachments,
|
|
59
|
-
stepResults: testCaseAttemptData.stepResults,
|
|
60
|
-
worstTestStepResult: testCaseAttemptData.worstTestStepResult,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
parseEnvelope(envelope) {
|
|
64
|
-
if ((0, value_checker_1.doesHaveValue)(envelope.gherkinDocument)) {
|
|
65
|
-
this.gherkinDocumentMap[envelope.gherkinDocument.uri] =
|
|
66
|
-
envelope.gherkinDocument;
|
|
67
|
-
}
|
|
68
|
-
else if ((0, value_checker_1.doesHaveValue)(envelope.pickle)) {
|
|
69
|
-
this.pickleMap[envelope.pickle.id] = envelope.pickle;
|
|
70
|
-
}
|
|
71
|
-
else if ((0, value_checker_1.doesHaveValue)(envelope.undefinedParameterType)) {
|
|
72
|
-
this.undefinedParameterTypes.push(envelope.undefinedParameterType);
|
|
73
|
-
}
|
|
74
|
-
else if ((0, value_checker_1.doesHaveValue)(envelope.testCase)) {
|
|
75
|
-
this.testCaseMap[envelope.testCase.id] = envelope.testCase;
|
|
76
|
-
}
|
|
77
|
-
else if ((0, value_checker_1.doesHaveValue)(envelope.testCaseStarted)) {
|
|
78
|
-
this.initTestCaseAttempt(envelope.testCaseStarted);
|
|
79
|
-
}
|
|
80
|
-
else if ((0, value_checker_1.doesHaveValue)(envelope.attachment)) {
|
|
81
|
-
this.storeAttachment(envelope.attachment);
|
|
82
|
-
}
|
|
83
|
-
else if ((0, value_checker_1.doesHaveValue)(envelope.testStepFinished)) {
|
|
84
|
-
this.storeTestStepResult(envelope.testStepFinished);
|
|
85
|
-
}
|
|
86
|
-
else if ((0, value_checker_1.doesHaveValue)(envelope.testCaseFinished)) {
|
|
87
|
-
this.storeTestCaseResult(envelope.testCaseFinished);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
initTestCaseAttempt(testCaseStarted) {
|
|
91
|
-
this.testCaseAttemptDataMap[testCaseStarted.id] = {
|
|
92
|
-
attempt: testCaseStarted.attempt,
|
|
93
|
-
willBeRetried: false,
|
|
94
|
-
testCaseId: testCaseStarted.testCaseId,
|
|
95
|
-
stepAttachments: {},
|
|
96
|
-
stepResults: {},
|
|
97
|
-
worstTestStepResult: {
|
|
98
|
-
duration: { seconds: 0, nanos: 0 },
|
|
99
|
-
status: messages.TestStepResultStatus.UNKNOWN,
|
|
100
|
-
},
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
storeAttachment(attachment) {
|
|
104
|
-
const { testCaseStartedId, testStepId } = attachment;
|
|
105
|
-
// TODO: we shouldn't have to check if these properties have values - they are non-nullable
|
|
106
|
-
if ((0, value_checker_1.doesHaveValue)(testCaseStartedId) && (0, value_checker_1.doesHaveValue)(testStepId)) {
|
|
107
|
-
const { stepAttachments } = this.testCaseAttemptDataMap[testCaseStartedId];
|
|
108
|
-
if ((0, value_checker_1.doesNotHaveValue)(stepAttachments[testStepId])) {
|
|
109
|
-
stepAttachments[testStepId] = [];
|
|
110
|
-
}
|
|
111
|
-
stepAttachments[testStepId].push(attachment);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
storeTestStepResult({ testCaseStartedId, testStepId, testStepResult, }) {
|
|
115
|
-
this.testCaseAttemptDataMap[testCaseStartedId].stepResults[testStepId] =
|
|
116
|
-
testStepResult;
|
|
117
|
-
}
|
|
118
|
-
storeTestCaseResult({ testCaseStartedId, willBeRetried, }) {
|
|
119
|
-
const stepResults = Object.values(this.testCaseAttemptDataMap[testCaseStartedId].stepResults);
|
|
120
|
-
this.testCaseAttemptDataMap[testCaseStartedId].worstTestStepResult =
|
|
121
|
-
messages.getWorstTestStepResult(stepResults);
|
|
122
|
-
this.testCaseAttemptDataMap[testCaseStartedId].willBeRetried = willBeRetried;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
exports.default = EventDataCollector;
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const messages = __importStar(require("@cucumber/messages"));
|
|
27
|
+
const value_checker_1 = require("../../value_checker");
|
|
28
|
+
class EventDataCollector {
|
|
29
|
+
constructor(eventBroadcaster) {
|
|
30
|
+
this.gherkinDocumentMap = {};
|
|
31
|
+
this.pickleMap = {};
|
|
32
|
+
this.testCaseMap = {};
|
|
33
|
+
this.testCaseAttemptDataMap = {};
|
|
34
|
+
this.undefinedParameterTypes = [];
|
|
35
|
+
eventBroadcaster.on('envelope', this.parseEnvelope.bind(this));
|
|
36
|
+
}
|
|
37
|
+
getGherkinDocument(uri) {
|
|
38
|
+
return this.gherkinDocumentMap[uri];
|
|
39
|
+
}
|
|
40
|
+
getPickle(pickleId) {
|
|
41
|
+
return this.pickleMap[pickleId];
|
|
42
|
+
}
|
|
43
|
+
getTestCaseAttempts() {
|
|
44
|
+
return Object.keys(this.testCaseAttemptDataMap).map((testCaseStartedId) => {
|
|
45
|
+
return this.getTestCaseAttempt(testCaseStartedId);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
getTestCaseAttempt(testCaseStartedId) {
|
|
49
|
+
const testCaseAttemptData = this.testCaseAttemptDataMap[testCaseStartedId];
|
|
50
|
+
const testCase = this.testCaseMap[testCaseAttemptData.testCaseId];
|
|
51
|
+
const pickle = this.pickleMap[testCase.pickleId];
|
|
52
|
+
return {
|
|
53
|
+
gherkinDocument: this.gherkinDocumentMap[pickle.uri],
|
|
54
|
+
pickle,
|
|
55
|
+
testCase,
|
|
56
|
+
attempt: testCaseAttemptData.attempt,
|
|
57
|
+
willBeRetried: testCaseAttemptData.willBeRetried,
|
|
58
|
+
stepAttachments: testCaseAttemptData.stepAttachments,
|
|
59
|
+
stepResults: testCaseAttemptData.stepResults,
|
|
60
|
+
worstTestStepResult: testCaseAttemptData.worstTestStepResult,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
parseEnvelope(envelope) {
|
|
64
|
+
if ((0, value_checker_1.doesHaveValue)(envelope.gherkinDocument)) {
|
|
65
|
+
this.gherkinDocumentMap[envelope.gherkinDocument.uri] =
|
|
66
|
+
envelope.gherkinDocument;
|
|
67
|
+
}
|
|
68
|
+
else if ((0, value_checker_1.doesHaveValue)(envelope.pickle)) {
|
|
69
|
+
this.pickleMap[envelope.pickle.id] = envelope.pickle;
|
|
70
|
+
}
|
|
71
|
+
else if ((0, value_checker_1.doesHaveValue)(envelope.undefinedParameterType)) {
|
|
72
|
+
this.undefinedParameterTypes.push(envelope.undefinedParameterType);
|
|
73
|
+
}
|
|
74
|
+
else if ((0, value_checker_1.doesHaveValue)(envelope.testCase)) {
|
|
75
|
+
this.testCaseMap[envelope.testCase.id] = envelope.testCase;
|
|
76
|
+
}
|
|
77
|
+
else if ((0, value_checker_1.doesHaveValue)(envelope.testCaseStarted)) {
|
|
78
|
+
this.initTestCaseAttempt(envelope.testCaseStarted);
|
|
79
|
+
}
|
|
80
|
+
else if ((0, value_checker_1.doesHaveValue)(envelope.attachment)) {
|
|
81
|
+
this.storeAttachment(envelope.attachment);
|
|
82
|
+
}
|
|
83
|
+
else if ((0, value_checker_1.doesHaveValue)(envelope.testStepFinished)) {
|
|
84
|
+
this.storeTestStepResult(envelope.testStepFinished);
|
|
85
|
+
}
|
|
86
|
+
else if ((0, value_checker_1.doesHaveValue)(envelope.testCaseFinished)) {
|
|
87
|
+
this.storeTestCaseResult(envelope.testCaseFinished);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
initTestCaseAttempt(testCaseStarted) {
|
|
91
|
+
this.testCaseAttemptDataMap[testCaseStarted.id] = {
|
|
92
|
+
attempt: testCaseStarted.attempt,
|
|
93
|
+
willBeRetried: false,
|
|
94
|
+
testCaseId: testCaseStarted.testCaseId,
|
|
95
|
+
stepAttachments: {},
|
|
96
|
+
stepResults: {},
|
|
97
|
+
worstTestStepResult: {
|
|
98
|
+
duration: { seconds: 0, nanos: 0 },
|
|
99
|
+
status: messages.TestStepResultStatus.UNKNOWN,
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
storeAttachment(attachment) {
|
|
104
|
+
const { testCaseStartedId, testStepId } = attachment;
|
|
105
|
+
// TODO: we shouldn't have to check if these properties have values - they are non-nullable
|
|
106
|
+
if ((0, value_checker_1.doesHaveValue)(testCaseStartedId) && (0, value_checker_1.doesHaveValue)(testStepId)) {
|
|
107
|
+
const { stepAttachments } = this.testCaseAttemptDataMap[testCaseStartedId];
|
|
108
|
+
if ((0, value_checker_1.doesNotHaveValue)(stepAttachments[testStepId])) {
|
|
109
|
+
stepAttachments[testStepId] = [];
|
|
110
|
+
}
|
|
111
|
+
stepAttachments[testStepId].push(attachment);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
storeTestStepResult({ testCaseStartedId, testStepId, testStepResult, }) {
|
|
115
|
+
this.testCaseAttemptDataMap[testCaseStartedId].stepResults[testStepId] =
|
|
116
|
+
testStepResult;
|
|
117
|
+
}
|
|
118
|
+
storeTestCaseResult({ testCaseStartedId, willBeRetried, }) {
|
|
119
|
+
const stepResults = Object.values(this.testCaseAttemptDataMap[testCaseStartedId].stepResults);
|
|
120
|
+
this.testCaseAttemptDataMap[testCaseStartedId].worstTestStepResult =
|
|
121
|
+
messages.getWorstTestStepResult(stepResults);
|
|
122
|
+
this.testCaseAttemptDataMap[testCaseStartedId].willBeRetried = willBeRetried;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.default = EventDataCollector;
|
|
126
126
|
//# sourceMappingURL=event_data_collector.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import Formatter from '../.';
|
|
2
|
-
declare const Formatters: {
|
|
3
|
-
getFormatters(): Record<string, typeof Formatter>;
|
|
4
|
-
buildFormattersDocumentationString(): string;
|
|
5
|
-
};
|
|
6
|
-
export default Formatters;
|
|
1
|
+
import Formatter from '../.';
|
|
2
|
+
declare const Formatters: {
|
|
3
|
+
getFormatters(): Record<string, typeof Formatter>;
|
|
4
|
+
buildFormattersDocumentationString(): string;
|
|
5
|
+
};
|
|
6
|
+
export default Formatters;
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const json_formatter_1 = __importDefault(require("../json_formatter"));
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const Formatters = {
|
|
19
|
-
getFormatters() {
|
|
20
|
-
return {
|
|
21
|
-
json: json_formatter_1.default,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
progress:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
usage:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
},
|
|
35
|
-
buildFormattersDocumentationString() {
|
|
36
|
-
let concatanatedFormattersDocumentation = '';
|
|
37
|
-
const formatters = this.getFormatters();
|
|
38
|
-
for (const formatterName in formatters) {
|
|
39
|
-
concatanatedFormattersDocumentation += ` ${formatterName}: ${formatters[formatterName].documentation}\n`;
|
|
40
|
-
}
|
|
41
|
-
return concatanatedFormattersDocumentation;
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
exports.default = Formatters;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const json_formatter_1 = __importDefault(require("../json_formatter"));
|
|
7
|
+
const message_formatter_1 = __importDefault(require("../message_formatter"));
|
|
8
|
+
const progress_bar_formatter_1 = __importDefault(require("../progress_bar_formatter"));
|
|
9
|
+
const progress_formatter_1 = __importDefault(require("../progress_formatter"));
|
|
10
|
+
const rerun_formatter_1 = __importDefault(require("../rerun_formatter"));
|
|
11
|
+
const snippets_formatter_1 = __importDefault(require("../snippets_formatter"));
|
|
12
|
+
const summary_formatter_1 = __importDefault(require("../summary_formatter"));
|
|
13
|
+
const usage_formatter_1 = __importDefault(require("../usage_formatter"));
|
|
14
|
+
const usage_json_formatter_1 = __importDefault(require("../usage_json_formatter"));
|
|
15
|
+
const html_formatter_1 = __importDefault(require("../html_formatter"));
|
|
16
|
+
const junit_formatter_1 = __importDefault(require("../junit_formatter"));
|
|
17
|
+
const bvt_analysis_formatter_1 = __importDefault(require("../bvt_analysis_formatter"));
|
|
18
|
+
const Formatters = {
|
|
19
|
+
getFormatters() {
|
|
20
|
+
return {
|
|
21
|
+
json: json_formatter_1.default,
|
|
22
|
+
message: message_formatter_1.default,
|
|
23
|
+
html: html_formatter_1.default,
|
|
24
|
+
progress: progress_formatter_1.default,
|
|
25
|
+
'progress-bar': progress_bar_formatter_1.default,
|
|
26
|
+
rerun: rerun_formatter_1.default,
|
|
27
|
+
snippets: snippets_formatter_1.default,
|
|
28
|
+
summary: summary_formatter_1.default,
|
|
29
|
+
usage: usage_formatter_1.default,
|
|
30
|
+
'usage-json': usage_json_formatter_1.default,
|
|
31
|
+
junit: junit_formatter_1.default,
|
|
32
|
+
bvt: bvt_analysis_formatter_1.default,
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
buildFormattersDocumentationString() {
|
|
36
|
+
let concatanatedFormattersDocumentation = '';
|
|
37
|
+
const formatters = this.getFormatters();
|
|
38
|
+
for (const formatterName in formatters) {
|
|
39
|
+
concatanatedFormattersDocumentation += ` ${formatterName}: ${formatters[formatterName].documentation}\n`;
|
|
40
|
+
}
|
|
41
|
+
return concatanatedFormattersDocumentation;
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
exports.default = Formatters;
|
|
45
45
|
//# sourceMappingURL=formatters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/formatter/helpers/formatters.ts"],"names":[],"mappings":";;;;;AACA,uEAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/formatter/helpers/formatters.ts"],"names":[],"mappings":";;;;;AACA,uEAA6C;AAC7C,6EAAmD;AACnD,uFAA4D;AAC5D,+EAAqD;AACrD,yEAA+C;AAC/C,+EAAqD;AACrD,6EAAmD;AACnD,yEAA+C;AAC/C,mFAAwD;AACxD,uEAA6C;AAC7C,yEAA+C;AAC/C,uFAA4D;AAC5D,MAAM,UAAU,GAAG;IACjB,aAAa;QACX,OAAO;YACL,IAAI,EAAE,wBAAa;YACnB,OAAO,EAAE,2BAAgB;YACzB,IAAI,EAAE,wBAAa;YACnB,QAAQ,EAAE,4BAAiB;YAC3B,cAAc,EAAE,gCAAoB;YACpC,KAAK,EAAE,yBAAc;YACrB,QAAQ,EAAE,4BAAiB;YAC3B,OAAO,EAAE,2BAAgB;YACzB,KAAK,EAAE,yBAAc;YACrB,YAAY,EAAE,8BAAkB;YAChC,KAAK,EAAE,yBAAc;YACrB,GAAG,EAAE,gCAAoB;SAC1B,CAAA;IACH,CAAC;IACD,kCAAkC;QAChC,IAAI,mCAAmC,GAAW,EAAE,CAAA;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE;YACtC,mCAAmC,IAAI,OAAO,aAAa,KAAK,UAAU,CAAC,aAAa,CAAC,CAAC,aAAa,IAAI,CAAA;SAC5G;QAED,OAAO,mCAAmC,CAAA;IAC5C,CAAC;CACF,CAAA;AAED,kBAAe,UAAU,CAAA","sourcesContent":["import Formatter from '../.'\nimport JsonFormatter from '../json_formatter'\nimport MessageFormatter from '../message_formatter'\nimport ProgressBarFormatter from '../progress_bar_formatter'\nimport ProgressFormatter from '../progress_formatter'\nimport RerunFormatter from '../rerun_formatter'\nimport SnippetsFormatter from '../snippets_formatter'\nimport SummaryFormatter from '../summary_formatter'\nimport UsageFormatter from '../usage_formatter'\nimport UsageJsonFormatter from '../usage_json_formatter'\nimport HtmlFormatter from '../html_formatter'\nimport JunitFormatter from '../junit_formatter'\nimport BVTAnalysisFormatter from '../bvt_analysis_formatter'\nconst Formatters = {\n getFormatters(): Record<string, typeof Formatter> {\n return {\n json: JsonFormatter,\n message: MessageFormatter,\n html: HtmlFormatter,\n progress: ProgressFormatter,\n 'progress-bar': ProgressBarFormatter,\n rerun: RerunFormatter,\n snippets: SnippetsFormatter,\n summary: SummaryFormatter,\n usage: UsageFormatter,\n 'usage-json': UsageJsonFormatter,\n junit: JunitFormatter,\n bvt: BVTAnalysisFormatter,\n }\n },\n buildFormattersDocumentationString(): string {\n let concatanatedFormattersDocumentation: string = ''\n const formatters = this.getFormatters()\n for (const formatterName in formatters) {\n concatanatedFormattersDocumentation += ` ${formatterName}: ${formatters[formatterName].documentation}\\n`\n }\n\n return concatanatedFormattersDocumentation\n },\n}\n\nexport default Formatters\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as messages from '@cucumber/messages';
|
|
2
|
-
export declare function getGherkinStepMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Step>;
|
|
3
|
-
export declare function getGherkinScenarioMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Scenario>;
|
|
4
|
-
export declare function getGherkinExampleRuleMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Rule>;
|
|
5
|
-
export declare function getGherkinScenarioLocationMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Location>;
|
|
1
|
+
import * as messages from '@cucumber/messages';
|
|
2
|
+
export declare function getGherkinStepMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Step>;
|
|
3
|
+
export declare function getGherkinScenarioMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Scenario>;
|
|
4
|
+
export declare function getGherkinExampleRuleMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Rule>;
|
|
5
|
+
export declare function getGherkinScenarioLocationMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Location>;
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getGherkinScenarioLocationMap = exports.getGherkinExampleRuleMap = exports.getGherkinScenarioMap = exports.getGherkinStepMap = void 0;
|
|
4
|
-
const value_checker_1 = require("../../value_checker");
|
|
5
|
-
function getGherkinStepMap(gherkinDocument) {
|
|
6
|
-
const result = {};
|
|
7
|
-
gherkinDocument.feature.children
|
|
8
|
-
.map(extractStepContainers)
|
|
9
|
-
.flat()
|
|
10
|
-
.forEach((x) => x.steps.forEach((step) => (result[step.id] = step)));
|
|
11
|
-
return result;
|
|
12
|
-
}
|
|
13
|
-
exports.getGherkinStepMap = getGherkinStepMap;
|
|
14
|
-
function extractStepContainers(child) {
|
|
15
|
-
if ((0, value_checker_1.doesHaveValue)(child.background)) {
|
|
16
|
-
return [child.background];
|
|
17
|
-
}
|
|
18
|
-
else if ((0, value_checker_1.doesHaveValue)(child.rule)) {
|
|
19
|
-
return child.rule.children.map((ruleChild) => (0, value_checker_1.doesHaveValue)(ruleChild.background)
|
|
20
|
-
? ruleChild.background
|
|
21
|
-
: ruleChild.scenario);
|
|
22
|
-
}
|
|
23
|
-
return [child.scenario];
|
|
24
|
-
}
|
|
25
|
-
function getGherkinScenarioMap(gherkinDocument) {
|
|
26
|
-
const result = {};
|
|
27
|
-
gherkinDocument.feature.children
|
|
28
|
-
.map((child) => {
|
|
29
|
-
if ((0, value_checker_1.doesHaveValue)(child.rule)) {
|
|
30
|
-
return child.rule.children;
|
|
31
|
-
}
|
|
32
|
-
return [child];
|
|
33
|
-
})
|
|
34
|
-
.flat()
|
|
35
|
-
.forEach((x) => {
|
|
36
|
-
if (x.scenario != null) {
|
|
37
|
-
result[x.scenario.id] = x.scenario;
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
exports.getGherkinScenarioMap = getGherkinScenarioMap;
|
|
43
|
-
function getGherkinExampleRuleMap(gherkinDocument) {
|
|
44
|
-
const result = {};
|
|
45
|
-
gherkinDocument.feature.children
|
|
46
|
-
.filter((x) => x.rule != null)
|
|
47
|
-
.forEach((x) => x.rule.children
|
|
48
|
-
.filter((child) => (0, value_checker_1.doesHaveValue)(child.scenario))
|
|
49
|
-
.forEach((child) => (result[child.scenario.id] = x.rule)));
|
|
50
|
-
return result;
|
|
51
|
-
}
|
|
52
|
-
exports.getGherkinExampleRuleMap = getGherkinExampleRuleMap;
|
|
53
|
-
function getGherkinScenarioLocationMap(gherkinDocument) {
|
|
54
|
-
const locationMap = {};
|
|
55
|
-
const scenarioMap = getGherkinScenarioMap(gherkinDocument);
|
|
56
|
-
Object.keys(scenarioMap).forEach((id) => {
|
|
57
|
-
const scenario = scenarioMap[id];
|
|
58
|
-
locationMap[id] = scenario.location;
|
|
59
|
-
if ((0, value_checker_1.doesHaveValue)(scenario.examples)) {
|
|
60
|
-
scenario.examples.forEach((x) => x.tableBody.forEach((tableRow) => (locationMap[tableRow.id] = tableRow.location)));
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
return locationMap;
|
|
64
|
-
}
|
|
65
|
-
exports.getGherkinScenarioLocationMap = getGherkinScenarioLocationMap;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getGherkinScenarioLocationMap = exports.getGherkinExampleRuleMap = exports.getGherkinScenarioMap = exports.getGherkinStepMap = void 0;
|
|
4
|
+
const value_checker_1 = require("../../value_checker");
|
|
5
|
+
function getGherkinStepMap(gherkinDocument) {
|
|
6
|
+
const result = {};
|
|
7
|
+
gherkinDocument.feature.children
|
|
8
|
+
.map(extractStepContainers)
|
|
9
|
+
.flat()
|
|
10
|
+
.forEach((x) => x.steps.forEach((step) => (result[step.id] = step)));
|
|
11
|
+
return result;
|
|
12
|
+
}
|
|
13
|
+
exports.getGherkinStepMap = getGherkinStepMap;
|
|
14
|
+
function extractStepContainers(child) {
|
|
15
|
+
if ((0, value_checker_1.doesHaveValue)(child.background)) {
|
|
16
|
+
return [child.background];
|
|
17
|
+
}
|
|
18
|
+
else if ((0, value_checker_1.doesHaveValue)(child.rule)) {
|
|
19
|
+
return child.rule.children.map((ruleChild) => (0, value_checker_1.doesHaveValue)(ruleChild.background)
|
|
20
|
+
? ruleChild.background
|
|
21
|
+
: ruleChild.scenario);
|
|
22
|
+
}
|
|
23
|
+
return [child.scenario];
|
|
24
|
+
}
|
|
25
|
+
function getGherkinScenarioMap(gherkinDocument) {
|
|
26
|
+
const result = {};
|
|
27
|
+
gherkinDocument.feature.children
|
|
28
|
+
.map((child) => {
|
|
29
|
+
if ((0, value_checker_1.doesHaveValue)(child.rule)) {
|
|
30
|
+
return child.rule.children;
|
|
31
|
+
}
|
|
32
|
+
return [child];
|
|
33
|
+
})
|
|
34
|
+
.flat()
|
|
35
|
+
.forEach((x) => {
|
|
36
|
+
if (x.scenario != null) {
|
|
37
|
+
result[x.scenario.id] = x.scenario;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
exports.getGherkinScenarioMap = getGherkinScenarioMap;
|
|
43
|
+
function getGherkinExampleRuleMap(gherkinDocument) {
|
|
44
|
+
const result = {};
|
|
45
|
+
gherkinDocument.feature.children
|
|
46
|
+
.filter((x) => x.rule != null)
|
|
47
|
+
.forEach((x) => x.rule.children
|
|
48
|
+
.filter((child) => (0, value_checker_1.doesHaveValue)(child.scenario))
|
|
49
|
+
.forEach((child) => (result[child.scenario.id] = x.rule)));
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
exports.getGherkinExampleRuleMap = getGherkinExampleRuleMap;
|
|
53
|
+
function getGherkinScenarioLocationMap(gherkinDocument) {
|
|
54
|
+
const locationMap = {};
|
|
55
|
+
const scenarioMap = getGherkinScenarioMap(gherkinDocument);
|
|
56
|
+
Object.keys(scenarioMap).forEach((id) => {
|
|
57
|
+
const scenario = scenarioMap[id];
|
|
58
|
+
locationMap[id] = scenario.location;
|
|
59
|
+
if ((0, value_checker_1.doesHaveValue)(scenario.examples)) {
|
|
60
|
+
scenario.examples.forEach((x) => x.tableBody.forEach((tableRow) => (locationMap[tableRow.id] = tableRow.location)));
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return locationMap;
|
|
64
|
+
}
|
|
65
|
+
exports.getGherkinScenarioLocationMap = getGherkinScenarioLocationMap;
|
|
66
66
|
//# sourceMappingURL=gherkin_document_parser.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as GherkinDocumentParser from './gherkin_document_parser';
|
|
2
|
-
import * as PickleParser from './pickle_parser';
|
|
3
|
-
export { parseTestCaseAttempt } from './test_case_attempt_parser';
|
|
4
|
-
export { default as EventDataCollector } from './event_data_collector';
|
|
5
|
-
export { KeywordType, getStepKeywordType } from './keyword_type';
|
|
6
|
-
export { formatIssue, isWarning, isFailure, isIssue } from './issue_helpers';
|
|
7
|
-
export { formatLocation } from './location_helpers';
|
|
8
|
-
export { formatSummary } from './summary_helpers';
|
|
9
|
-
export { getUsage } from './usage_helpers';
|
|
10
|
-
export { GherkinDocumentParser, PickleParser };
|
|
1
|
+
import * as GherkinDocumentParser from './gherkin_document_parser';
|
|
2
|
+
import * as PickleParser from './pickle_parser';
|
|
3
|
+
export { parseTestCaseAttempt } from './test_case_attempt_parser';
|
|
4
|
+
export { default as EventDataCollector } from './event_data_collector';
|
|
5
|
+
export { KeywordType, getStepKeywordType } from './keyword_type';
|
|
6
|
+
export { formatIssue, isWarning, isFailure, isIssue } from './issue_helpers';
|
|
7
|
+
export { formatLocation } from './location_helpers';
|
|
8
|
+
export { formatSummary } from './summary_helpers';
|
|
9
|
+
export { getUsage } from './usage_helpers';
|
|
10
|
+
export { GherkinDocumentParser, PickleParser };
|