@dev-blinq/cucumber-js 1.0.36 → 1.0.38

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.
Files changed (239) hide show
  1. package/bin/cucumber-js +0 -0
  2. package/bin/cucumber.js +0 -0
  3. package/lib/api/console_logger.d.ts +12 -12
  4. package/lib/api/console_logger.js +23 -23
  5. package/lib/api/convert_configuration.d.ts +4 -4
  6. package/lib/api/convert_configuration.js +65 -65
  7. package/lib/api/environment.d.ts +2 -2
  8. package/lib/api/environment.js +13 -13
  9. package/lib/api/formatters.d.ts +20 -20
  10. package/lib/api/formatters.js +60 -60
  11. package/lib/api/gherkin.d.ts +21 -21
  12. package/lib/api/gherkin.js +99 -99
  13. package/lib/api/index.d.ts +12 -12
  14. package/lib/api/index.js +27 -27
  15. package/lib/api/load_configuration.d.ts +9 -9
  16. package/lib/api/load_configuration.js +40 -40
  17. package/lib/api/load_sources.d.ts +9 -9
  18. package/lib/api/load_sources.js +52 -52
  19. package/lib/api/load_support.d.ts +10 -10
  20. package/lib/api/load_support.js +29 -29
  21. package/lib/api/paths.d.ts +8 -8
  22. package/lib/api/paths.js +101 -101
  23. package/lib/api/plugins.d.ts +4 -4
  24. package/lib/api/plugins.js +18 -18
  25. package/lib/api/run_cucumber.d.ts +11 -11
  26. package/lib/api/run_cucumber.js +114 -114
  27. package/lib/api/runtime.d.ts +21 -21
  28. package/lib/api/runtime.js +35 -35
  29. package/lib/api/support.d.ts +9 -9
  30. package/lib/api/support.js +25 -25
  31. package/lib/api/test_helpers.d.ts +3 -3
  32. package/lib/api/test_helpers.js +30 -30
  33. package/lib/api/types.d.ts +177 -177
  34. package/lib/api/types.js +2 -2
  35. package/lib/cli/helpers.d.ts +39 -39
  36. package/lib/cli/helpers.js +223 -223
  37. package/lib/cli/i18n.d.ts +2 -2
  38. package/lib/cli/i18n.js +69 -69
  39. package/lib/cli/index.d.ts +21 -21
  40. package/lib/cli/index.js +63 -63
  41. package/lib/cli/install_validator.d.ts +1 -1
  42. package/lib/cli/install_validator.js +13 -13
  43. package/lib/cli/run.d.ts +1 -1
  44. package/lib/cli/run.js +43 -43
  45. package/lib/cli/validate_node_engine_version.d.ts +10 -10
  46. package/lib/cli/validate_node_engine_version.js +23 -23
  47. package/lib/configuration/argv_parser.d.ts +20 -20
  48. package/lib/configuration/argv_parser.js +102 -102
  49. package/lib/configuration/check_schema.d.ts +2 -2
  50. package/lib/configuration/check_schema.js +59 -59
  51. package/lib/configuration/default_configuration.d.ts +2 -2
  52. package/lib/configuration/default_configuration.js +28 -28
  53. package/lib/configuration/from_file.d.ts +3 -3
  54. package/lib/configuration/from_file.js +84 -84
  55. package/lib/configuration/helpers.d.ts +1 -1
  56. package/lib/configuration/helpers.js +10 -10
  57. package/lib/configuration/index.d.ts +7 -7
  58. package/lib/configuration/index.js +28 -28
  59. package/lib/configuration/locate_file.d.ts +1 -1
  60. package/lib/configuration/locate_file.js +20 -20
  61. package/lib/configuration/merge_configurations.d.ts +2 -2
  62. package/lib/configuration/merge_configurations.js +47 -47
  63. package/lib/configuration/option_splitter.d.ts +3 -3
  64. package/lib/configuration/option_splitter.js +22 -22
  65. package/lib/configuration/types.d.ts +30 -30
  66. package/lib/configuration/types.js +2 -2
  67. package/lib/configuration/validate_configuration.d.ts +3 -3
  68. package/lib/configuration/validate_configuration.js +12 -12
  69. package/lib/filter_stack_trace.d.ts +3 -3
  70. package/lib/filter_stack_trace.js +37 -37
  71. package/lib/formatter/builder.d.ts +37 -37
  72. package/lib/formatter/builder.js +100 -100
  73. package/lib/formatter/bvt_analysis_formatter.d.ts +18 -18
  74. package/lib/formatter/bvt_analysis_formatter.js +192 -192
  75. package/lib/formatter/feature_data_format.d.ts +14 -14
  76. package/lib/formatter/feature_data_format.js +80 -80
  77. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  78. package/lib/formatter/fixtures/typescript.js +5 -5
  79. package/lib/formatter/get_color_fns.d.ts +15 -15
  80. package/lib/formatter/get_color_fns.js +55 -55
  81. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  82. package/lib/formatter/helpers/duration_helpers.js +8 -8
  83. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  84. package/lib/formatter/helpers/event_data_collector.js +125 -125
  85. package/lib/formatter/helpers/formatters.d.ts +6 -6
  86. package/lib/formatter/helpers/formatters.js +44 -44
  87. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  88. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  89. package/lib/formatter/helpers/index.d.ts +10 -10
  90. package/lib/formatter/helpers/index.js +51 -51
  91. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  92. package/lib/formatter/helpers/issue_helpers.js +58 -58
  93. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  94. package/lib/formatter/helpers/keyword_type.js +31 -31
  95. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  96. package/lib/formatter/helpers/location_helpers.js +16 -16
  97. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  98. package/lib/formatter/helpers/pickle_parser.js +27 -27
  99. package/lib/formatter/helpers/report_generator.d.ts +107 -103
  100. package/lib/formatter/helpers/report_generator.js +310 -247
  101. package/lib/formatter/helpers/report_generator.js.map +1 -1
  102. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  103. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  104. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  105. package/lib/formatter/helpers/summary_helpers.js +95 -95
  106. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  107. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  108. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  109. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  110. package/lib/formatter/helpers/upload_serivce.d.ts +9 -9
  111. package/lib/formatter/helpers/upload_serivce.js +46 -46
  112. package/lib/formatter/helpers/uploader.d.ts +11 -11
  113. package/lib/formatter/helpers/uploader.js +56 -56
  114. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  115. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  116. package/lib/formatter/html_formatter.d.ts +7 -7
  117. package/lib/formatter/html_formatter.js +29 -29
  118. package/lib/formatter/index.d.ts +53 -53
  119. package/lib/formatter/index.js +20 -20
  120. package/lib/formatter/json_formatter.d.ts +78 -78
  121. package/lib/formatter/json_formatter.js +229 -229
  122. package/lib/formatter/junit_formatter.d.ts +17 -17
  123. package/lib/formatter/junit_formatter.js +180 -180
  124. package/lib/formatter/message_formatter.d.ts +5 -5
  125. package/lib/formatter/message_formatter.js +14 -14
  126. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  127. package/lib/formatter/progress_bar_formatter.js +98 -98
  128. package/lib/formatter/progress_formatter.d.ts +9 -9
  129. package/lib/formatter/progress_formatter.js +58 -58
  130. package/lib/formatter/rerun_formatter.d.ts +13 -13
  131. package/lib/formatter/rerun_formatter.js +79 -79
  132. package/lib/formatter/snippets_formatter.d.ts +6 -6
  133. package/lib/formatter/snippets_formatter.js +60 -60
  134. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  135. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  136. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  137. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  138. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  139. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  140. package/lib/formatter/summary_formatter.d.ts +14 -14
  141. package/lib/formatter/summary_formatter.js +67 -67
  142. package/lib/formatter/usage_formatter.d.ts +6 -6
  143. package/lib/formatter/usage_formatter.js +97 -97
  144. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  145. package/lib/formatter/usage_json_formatter.js +33 -33
  146. package/lib/index.d.ts +58 -58
  147. package/lib/index.js +108 -108
  148. package/lib/logger.d.ts +5 -5
  149. package/lib/logger.js +2 -2
  150. package/lib/models/data_table.d.ts +10 -10
  151. package/lib/models/data_table.js +45 -45
  152. package/lib/models/definition.d.ts +55 -55
  153. package/lib/models/definition.js +21 -21
  154. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  155. package/lib/models/gherkin_step_keyword.js +2 -2
  156. package/lib/models/pickle_order.d.ts +1 -1
  157. package/lib/models/pickle_order.js +2 -2
  158. package/lib/models/step_definition.d.ts +11 -11
  159. package/lib/models/step_definition.js +36 -36
  160. package/lib/models/test_case_hook_definition.d.ts +10 -10
  161. package/lib/models/test_case_hook_definition.js +26 -26
  162. package/lib/models/test_run_hook_definition.d.ts +3 -3
  163. package/lib/models/test_run_hook_definition.js +9 -9
  164. package/lib/models/test_step_hook_definition.d.ts +9 -9
  165. package/lib/models/test_step_hook_definition.js +25 -25
  166. package/lib/pickle_filter.d.ts +42 -42
  167. package/lib/pickle_filter.js +98 -98
  168. package/lib/plugin/index.d.ts +2 -2
  169. package/lib/plugin/index.js +18 -18
  170. package/lib/plugin/plugin_manager.d.ts +13 -13
  171. package/lib/plugin/plugin_manager.js +35 -35
  172. package/lib/plugin/types.d.ts +14 -14
  173. package/lib/plugin/types.js +2 -2
  174. package/lib/publish/http_stream.d.ts +30 -30
  175. package/lib/publish/http_stream.js +111 -111
  176. package/lib/publish/index.d.ts +2 -2
  177. package/lib/publish/index.js +4 -4
  178. package/lib/publish/publish_plugin.d.ts +2 -2
  179. package/lib/publish/publish_plugin.js +47 -47
  180. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  181. package/lib/runtime/assemble_test_cases.js +87 -87
  182. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  183. package/lib/runtime/attachment_manager/index.js +118 -118
  184. package/lib/runtime/format_error.d.ts +2 -2
  185. package/lib/runtime/format_error.js +35 -35
  186. package/lib/runtime/helpers.d.ts +6 -6
  187. package/lib/runtime/helpers.js +100 -100
  188. package/lib/runtime/index.d.ts +40 -40
  189. package/lib/runtime/index.js +75 -75
  190. package/lib/runtime/parallel/command_types.d.ts +32 -32
  191. package/lib/runtime/parallel/command_types.js +2 -2
  192. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  193. package/lib/runtime/parallel/coordinator.js +221 -221
  194. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  195. package/lib/runtime/parallel/run_worker.js +28 -28
  196. package/lib/runtime/parallel/worker.d.ts +26 -26
  197. package/lib/runtime/parallel/worker.js +86 -86
  198. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  199. package/lib/runtime/run_test_run_hooks.js +27 -27
  200. package/lib/runtime/step_runner.d.ts +16 -16
  201. package/lib/runtime/step_runner.js +87 -87
  202. package/lib/runtime/stopwatch.d.ts +12 -12
  203. package/lib/runtime/stopwatch.js +33 -33
  204. package/lib/runtime/test_case_runner.d.ts +54 -54
  205. package/lib/runtime/test_case_runner.js +267 -267
  206. package/lib/step_arguments.d.ts +6 -6
  207. package/lib/step_arguments.js +18 -18
  208. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  209. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  210. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  211. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  212. package/lib/support_code_library_builder/index.d.ts +74 -74
  213. package/lib/support_code_library_builder/index.js +296 -296
  214. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  215. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  216. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  217. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  218. package/lib/support_code_library_builder/types.d.ts +88 -88
  219. package/lib/support_code_library_builder/types.js +2 -2
  220. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  221. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  222. package/lib/support_code_library_builder/world.d.ts +18 -18
  223. package/lib/support_code_library_builder/world.js +10 -10
  224. package/lib/time.d.ts +18 -18
  225. package/lib/time.js +60 -60
  226. package/lib/try_require.d.ts +7 -7
  227. package/lib/try_require.js +22 -22
  228. package/lib/types/index.d.ts +4 -4
  229. package/lib/types/index.js +2 -2
  230. package/lib/uncaught_exception_manager.d.ts +7 -7
  231. package/lib/uncaught_exception_manager.js +11 -11
  232. package/lib/user_code_runner.d.ts +14 -14
  233. package/lib/user_code_runner.js +81 -81
  234. package/lib/value_checker.d.ts +3 -3
  235. package/lib/value_checker.js +18 -18
  236. package/lib/version.d.ts +1 -1
  237. package/lib/version.js +5 -5
  238. package/lib/version.js.map +1 -1
  239. package/package.json +1 -1
@@ -1,87 +1,87 @@
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 messages_1 = require("@cucumber/messages");
7
- const events_1 = require("events");
8
- const url_1 = require("url");
9
- const support_code_library_builder_1 = __importDefault(require("../../support_code_library_builder"));
10
- const value_checker_1 = require("../../value_checker");
11
- const run_test_run_hooks_1 = require("../run_test_run_hooks");
12
- const stopwatch_1 = require("../stopwatch");
13
- const test_case_runner_1 = __importDefault(require("../test_case_runner"));
14
- const try_require_1 = __importDefault(require("../../try_require"));
15
- // eslint-disable-next-line @typescript-eslint/no-var-requires
16
- const { importer } = require('../../importer');
17
- const { uuid } = messages_1.IdGenerator;
18
- class Worker {
19
- constructor({ cwd, exit, id, sendMessage, }) {
20
- this.id = id;
21
- this.newId = uuid();
22
- this.cwd = cwd;
23
- this.exit = exit;
24
- this.sendMessage = sendMessage;
25
- this.eventBroadcaster = new events_1.EventEmitter();
26
- this.eventBroadcaster.on('envelope', (envelope) => {
27
- // assign `workerId` property only for the `testCaseStarted` message
28
- if (envelope.testCaseStarted) {
29
- envelope.testCaseStarted.workerId = this.id;
30
- }
31
- this.sendMessage({ jsonEnvelope: JSON.stringify(envelope) });
32
- });
33
- }
34
- async initialize({ filterStacktraces, requireModules, requirePaths, importPaths, supportCodeIds, options, }) {
35
- support_code_library_builder_1.default.reset(this.cwd, this.newId, {
36
- requireModules,
37
- requirePaths,
38
- importPaths,
39
- });
40
- requireModules.map((module) => (0, try_require_1.default)(module));
41
- requirePaths.map((module) => (0, try_require_1.default)(module));
42
- for (const path of importPaths) {
43
- await importer((0, url_1.pathToFileURL)(path));
44
- }
45
- this.supportCodeLibrary = support_code_library_builder_1.default.finalize(supportCodeIds);
46
- this.worldParameters = options.worldParameters;
47
- this.filterStacktraces = filterStacktraces;
48
- this.runTestRunHooks = (0, run_test_run_hooks_1.makeRunTestRunHooks)(options.dryRun, this.supportCodeLibrary.defaultTimeout, (name, location) => `${name} hook errored on worker ${this.id}, process exiting: ${location}`);
49
- await this.runTestRunHooks(this.supportCodeLibrary.beforeTestRunHookDefinitions, 'a BeforeAll');
50
- this.sendMessage({ ready: true });
51
- }
52
- async finalize() {
53
- await this.runTestRunHooks(this.supportCodeLibrary.afterTestRunHookDefinitions, 'an AfterAll');
54
- this.exit(0);
55
- }
56
- async receiveMessage(message) {
57
- if ((0, value_checker_1.doesHaveValue)(message.initialize)) {
58
- await this.initialize(message.initialize);
59
- }
60
- else if (message.finalize) {
61
- await this.finalize();
62
- }
63
- else if ((0, value_checker_1.doesHaveValue)(message.run)) {
64
- await this.runTestCase(message.run);
65
- }
66
- }
67
- async runTestCase({ gherkinDocument, pickle, testCase, elapsed, retries, skip, }) {
68
- const stopwatch = (0, stopwatch_1.create)(elapsed);
69
- const testCaseRunner = new test_case_runner_1.default({
70
- eventBroadcaster: this.eventBroadcaster,
71
- stopwatch,
72
- gherkinDocument,
73
- newId: this.newId,
74
- pickle,
75
- testCase,
76
- retries,
77
- skip,
78
- filterStackTraces: this.filterStacktraces,
79
- supportCodeLibrary: this.supportCodeLibrary,
80
- worldParameters: this.worldParameters,
81
- });
82
- await testCaseRunner.run();
83
- this.sendMessage({ ready: true });
84
- }
85
- }
86
- exports.default = Worker;
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 messages_1 = require("@cucumber/messages");
7
+ const events_1 = require("events");
8
+ const url_1 = require("url");
9
+ const support_code_library_builder_1 = __importDefault(require("../../support_code_library_builder"));
10
+ const value_checker_1 = require("../../value_checker");
11
+ const run_test_run_hooks_1 = require("../run_test_run_hooks");
12
+ const stopwatch_1 = require("../stopwatch");
13
+ const test_case_runner_1 = __importDefault(require("../test_case_runner"));
14
+ const try_require_1 = __importDefault(require("../../try_require"));
15
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
16
+ const { importer } = require('../../importer');
17
+ const { uuid } = messages_1.IdGenerator;
18
+ class Worker {
19
+ constructor({ cwd, exit, id, sendMessage, }) {
20
+ this.id = id;
21
+ this.newId = uuid();
22
+ this.cwd = cwd;
23
+ this.exit = exit;
24
+ this.sendMessage = sendMessage;
25
+ this.eventBroadcaster = new events_1.EventEmitter();
26
+ this.eventBroadcaster.on('envelope', (envelope) => {
27
+ // assign `workerId` property only for the `testCaseStarted` message
28
+ if (envelope.testCaseStarted) {
29
+ envelope.testCaseStarted.workerId = this.id;
30
+ }
31
+ this.sendMessage({ jsonEnvelope: JSON.stringify(envelope) });
32
+ });
33
+ }
34
+ async initialize({ filterStacktraces, requireModules, requirePaths, importPaths, supportCodeIds, options, }) {
35
+ support_code_library_builder_1.default.reset(this.cwd, this.newId, {
36
+ requireModules,
37
+ requirePaths,
38
+ importPaths,
39
+ });
40
+ requireModules.map((module) => (0, try_require_1.default)(module));
41
+ requirePaths.map((module) => (0, try_require_1.default)(module));
42
+ for (const path of importPaths) {
43
+ await importer((0, url_1.pathToFileURL)(path));
44
+ }
45
+ this.supportCodeLibrary = support_code_library_builder_1.default.finalize(supportCodeIds);
46
+ this.worldParameters = options.worldParameters;
47
+ this.filterStacktraces = filterStacktraces;
48
+ this.runTestRunHooks = (0, run_test_run_hooks_1.makeRunTestRunHooks)(options.dryRun, this.supportCodeLibrary.defaultTimeout, (name, location) => `${name} hook errored on worker ${this.id}, process exiting: ${location}`);
49
+ await this.runTestRunHooks(this.supportCodeLibrary.beforeTestRunHookDefinitions, 'a BeforeAll');
50
+ this.sendMessage({ ready: true });
51
+ }
52
+ async finalize() {
53
+ await this.runTestRunHooks(this.supportCodeLibrary.afterTestRunHookDefinitions, 'an AfterAll');
54
+ this.exit(0);
55
+ }
56
+ async receiveMessage(message) {
57
+ if ((0, value_checker_1.doesHaveValue)(message.initialize)) {
58
+ await this.initialize(message.initialize);
59
+ }
60
+ else if (message.finalize) {
61
+ await this.finalize();
62
+ }
63
+ else if ((0, value_checker_1.doesHaveValue)(message.run)) {
64
+ await this.runTestCase(message.run);
65
+ }
66
+ }
67
+ async runTestCase({ gherkinDocument, pickle, testCase, elapsed, retries, skip, }) {
68
+ const stopwatch = (0, stopwatch_1.create)(elapsed);
69
+ const testCaseRunner = new test_case_runner_1.default({
70
+ eventBroadcaster: this.eventBroadcaster,
71
+ stopwatch,
72
+ gherkinDocument,
73
+ newId: this.newId,
74
+ pickle,
75
+ testCase,
76
+ retries,
77
+ skip,
78
+ filterStackTraces: this.filterStacktraces,
79
+ supportCodeLibrary: this.supportCodeLibrary,
80
+ worldParameters: this.worldParameters,
81
+ });
82
+ await testCaseRunner.run();
83
+ this.sendMessage({ ready: true });
84
+ }
85
+ }
86
+ exports.default = Worker;
87
87
  //# sourceMappingURL=worker.js.map
@@ -1,3 +1,3 @@
1
- import TestRunHookDefinition from '../models/test_run_hook_definition';
2
- export type RunsTestRunHooks = (definitions: TestRunHookDefinition[], name: string) => Promise<void>;
3
- export declare const makeRunTestRunHooks: (dryRun: boolean, defaultTimeout: number, errorMessage: (name: string, location: string) => string) => RunsTestRunHooks;
1
+ import TestRunHookDefinition from '../models/test_run_hook_definition';
2
+ export type RunsTestRunHooks = (definitions: TestRunHookDefinition[], name: string) => Promise<void>;
3
+ export declare const makeRunTestRunHooks: (dryRun: boolean, defaultTimeout: number, errorMessage: (name: string, location: string) => string) => RunsTestRunHooks;
@@ -1,28 +1,28 @@
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
- exports.makeRunTestRunHooks = void 0;
7
- const user_code_runner_1 = __importDefault(require("../user_code_runner"));
8
- const verror_1 = __importDefault(require("verror"));
9
- const helpers_1 = require("../formatter/helpers");
10
- const value_checker_1 = require("../value_checker");
11
- const makeRunTestRunHooks = (dryRun, defaultTimeout, errorMessage) => dryRun
12
- ? async () => { }
13
- : async (definitions, name) => {
14
- for (const hookDefinition of definitions) {
15
- const { error } = await user_code_runner_1.default.run({
16
- argsArray: [],
17
- fn: hookDefinition.code,
18
- thisArg: null,
19
- timeoutInMilliseconds: (0, value_checker_1.valueOrDefault)(hookDefinition.options.timeout, defaultTimeout),
20
- });
21
- if ((0, value_checker_1.doesHaveValue)(error)) {
22
- const location = (0, helpers_1.formatLocation)(hookDefinition);
23
- throw new verror_1.default(error, errorMessage(name, location));
24
- }
25
- }
26
- };
27
- exports.makeRunTestRunHooks = makeRunTestRunHooks;
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
+ exports.makeRunTestRunHooks = void 0;
7
+ const user_code_runner_1 = __importDefault(require("../user_code_runner"));
8
+ const verror_1 = __importDefault(require("verror"));
9
+ const helpers_1 = require("../formatter/helpers");
10
+ const value_checker_1 = require("../value_checker");
11
+ const makeRunTestRunHooks = (dryRun, defaultTimeout, errorMessage) => dryRun
12
+ ? async () => { }
13
+ : async (definitions, name) => {
14
+ for (const hookDefinition of definitions) {
15
+ const { error } = await user_code_runner_1.default.run({
16
+ argsArray: [],
17
+ fn: hookDefinition.code,
18
+ thisArg: null,
19
+ timeoutInMilliseconds: (0, value_checker_1.valueOrDefault)(hookDefinition.options.timeout, defaultTimeout),
20
+ });
21
+ if ((0, value_checker_1.doesHaveValue)(error)) {
22
+ const location = (0, helpers_1.formatLocation)(hookDefinition);
23
+ throw new verror_1.default(error, errorMessage(name, location));
24
+ }
25
+ }
26
+ };
27
+ exports.makeRunTestRunHooks = makeRunTestRunHooks;
28
28
  //# sourceMappingURL=run_test_run_hooks.js.map
@@ -1,16 +1,16 @@
1
- import * as messages from '@cucumber/messages';
2
- import { ITestCaseHookParameter } from '../support_code_library_builder/types';
3
- import { IDefinition } from '../models/definition';
4
- export interface IRunOptions {
5
- defaultTimeout: number;
6
- filterStackTraces: boolean;
7
- hookParameter: ITestCaseHookParameter;
8
- step: messages.PickleStep;
9
- stepDefinition: IDefinition;
10
- world: any;
11
- }
12
- export declare function run({ defaultTimeout, filterStackTraces, hookParameter, step, stepDefinition, world, }: IRunOptions): Promise<messages.TestStepResult>;
13
- declare const _default: {
14
- run: typeof run;
15
- };
16
- export default _default;
1
+ import * as messages from '@cucumber/messages';
2
+ import { ITestCaseHookParameter } from '../support_code_library_builder/types';
3
+ import { IDefinition } from '../models/definition';
4
+ export interface IRunOptions {
5
+ defaultTimeout: number;
6
+ filterStackTraces: boolean;
7
+ hookParameter: ITestCaseHookParameter;
8
+ step: messages.PickleStep;
9
+ stepDefinition: IDefinition;
10
+ world: any;
11
+ }
12
+ export declare function run({ defaultTimeout, filterStackTraces, hookParameter, step, stepDefinition, world, }: IRunOptions): Promise<messages.TestStepResult>;
13
+ declare const _default: {
14
+ run: typeof run;
15
+ };
16
+ export default _default;
@@ -1,88 +1,88 @@
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
- exports.run = void 0;
30
- const stopwatch_1 = require("./stopwatch");
31
- const user_code_runner_1 = __importDefault(require("../user_code_runner"));
32
- const messages = __importStar(require("@cucumber/messages"));
33
- const value_checker_1 = require("../value_checker");
34
- const format_error_1 = require("./format_error");
35
- async function run({ defaultTimeout, filterStackTraces, hookParameter, step, stepDefinition, world, }) {
36
- const stopwatch = (0, stopwatch_1.create)().start();
37
- let error, result, invocationData;
38
- try {
39
- invocationData = await stepDefinition.getInvocationParameters({
40
- hookParameter,
41
- step,
42
- world,
43
- });
44
- }
45
- catch (err) {
46
- error = err;
47
- }
48
- if ((0, value_checker_1.doesNotHaveValue)(error)) {
49
- const timeoutInMilliseconds = (0, value_checker_1.valueOrDefault)(stepDefinition.options.timeout, defaultTimeout);
50
- if (invocationData.validCodeLengths.includes(stepDefinition.code.length)) {
51
- const data = await user_code_runner_1.default.run({
52
- argsArray: invocationData.parameters,
53
- fn: stepDefinition.code,
54
- thisArg: world,
55
- timeoutInMilliseconds,
56
- });
57
- error = data.error;
58
- result = data.result;
59
- }
60
- else {
61
- error = invocationData.getInvalidCodeLengthMessage();
62
- }
63
- }
64
- const duration = stopwatch.stop().duration();
65
- let status;
66
- let details = {};
67
- if (result === 'skipped') {
68
- status = messages.TestStepResultStatus.SKIPPED;
69
- }
70
- else if (result === 'pending') {
71
- status = messages.TestStepResultStatus.PENDING;
72
- }
73
- else if ((0, value_checker_1.doesHaveValue)(error)) {
74
- details = (0, format_error_1.formatError)(error, filterStackTraces);
75
- status = messages.TestStepResultStatus.FAILED;
76
- }
77
- else {
78
- status = messages.TestStepResultStatus.PASSED;
79
- }
80
- return {
81
- duration,
82
- status,
83
- ...details,
84
- };
85
- }
86
- exports.run = run;
87
- exports.default = { run };
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
+ exports.run = void 0;
30
+ const stopwatch_1 = require("./stopwatch");
31
+ const user_code_runner_1 = __importDefault(require("../user_code_runner"));
32
+ const messages = __importStar(require("@cucumber/messages"));
33
+ const value_checker_1 = require("../value_checker");
34
+ const format_error_1 = require("./format_error");
35
+ async function run({ defaultTimeout, filterStackTraces, hookParameter, step, stepDefinition, world, }) {
36
+ const stopwatch = (0, stopwatch_1.create)().start();
37
+ let error, result, invocationData;
38
+ try {
39
+ invocationData = await stepDefinition.getInvocationParameters({
40
+ hookParameter,
41
+ step,
42
+ world,
43
+ });
44
+ }
45
+ catch (err) {
46
+ error = err;
47
+ }
48
+ if ((0, value_checker_1.doesNotHaveValue)(error)) {
49
+ const timeoutInMilliseconds = (0, value_checker_1.valueOrDefault)(stepDefinition.options.timeout, defaultTimeout);
50
+ if (invocationData.validCodeLengths.includes(stepDefinition.code.length)) {
51
+ const data = await user_code_runner_1.default.run({
52
+ argsArray: invocationData.parameters,
53
+ fn: stepDefinition.code,
54
+ thisArg: world,
55
+ timeoutInMilliseconds,
56
+ });
57
+ error = data.error;
58
+ result = data.result;
59
+ }
60
+ else {
61
+ error = invocationData.getInvalidCodeLengthMessage();
62
+ }
63
+ }
64
+ const duration = stopwatch.stop().duration();
65
+ let status;
66
+ let details = {};
67
+ if (result === 'skipped') {
68
+ status = messages.TestStepResultStatus.SKIPPED;
69
+ }
70
+ else if (result === 'pending') {
71
+ status = messages.TestStepResultStatus.PENDING;
72
+ }
73
+ else if ((0, value_checker_1.doesHaveValue)(error)) {
74
+ details = (0, format_error_1.formatError)(error, filterStackTraces);
75
+ status = messages.TestStepResultStatus.FAILED;
76
+ }
77
+ else {
78
+ status = messages.TestStepResultStatus.PASSED;
79
+ }
80
+ return {
81
+ duration,
82
+ status,
83
+ ...details,
84
+ };
85
+ }
86
+ exports.run = run;
87
+ exports.default = { run };
88
88
  //# sourceMappingURL=step_runner.js.map
@@ -1,12 +1,12 @@
1
- import { Duration, Timestamp } from '@cucumber/messages';
2
- /**
3
- * A utility for timing test run operations and returning duration and
4
- * timestamp objects in messages-compatible formats
5
- */
6
- export interface IStopwatch {
7
- start: () => IStopwatch;
8
- stop: () => IStopwatch;
9
- duration: () => Duration;
10
- timestamp: () => Timestamp;
11
- }
12
- export declare const create: (base?: Duration) => IStopwatch;
1
+ import { Duration, Timestamp } from '@cucumber/messages';
2
+ /**
3
+ * A utility for timing test run operations and returning duration and
4
+ * timestamp objects in messages-compatible formats
5
+ */
6
+ export interface IStopwatch {
7
+ start: () => IStopwatch;
8
+ stop: () => IStopwatch;
9
+ duration: () => Duration;
10
+ timestamp: () => Timestamp;
11
+ }
12
+ export declare const create: (base?: Duration) => IStopwatch;
@@ -1,34 +1,34 @@
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
- exports.create = void 0;
7
- const messages_1 = require("@cucumber/messages");
8
- const time_1 = __importDefault(require("../time"));
9
- class StopwatchImpl {
10
- constructor(base = { seconds: 0, nanos: 0 }) {
11
- this.base = base;
12
- }
13
- start() {
14
- this.started = time_1.default.performance.now();
15
- return this;
16
- }
17
- stop() {
18
- this.base = this.duration();
19
- this.started = undefined;
20
- return this;
21
- }
22
- duration() {
23
- if (typeof this.started !== 'number') {
24
- return this.base;
25
- }
26
- return messages_1.TimeConversion.addDurations(this.base, messages_1.TimeConversion.millisecondsToDuration(time_1.default.performance.now() - this.started));
27
- }
28
- timestamp() {
29
- return messages_1.TimeConversion.millisecondsSinceEpochToTimestamp(time_1.default.Date.now());
30
- }
31
- }
32
- const create = (base) => new StopwatchImpl(base);
33
- exports.create = create;
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
+ exports.create = void 0;
7
+ const messages_1 = require("@cucumber/messages");
8
+ const time_1 = __importDefault(require("../time"));
9
+ class StopwatchImpl {
10
+ constructor(base = { seconds: 0, nanos: 0 }) {
11
+ this.base = base;
12
+ }
13
+ start() {
14
+ this.started = time_1.default.performance.now();
15
+ return this;
16
+ }
17
+ stop() {
18
+ this.base = this.duration();
19
+ this.started = undefined;
20
+ return this;
21
+ }
22
+ duration() {
23
+ if (typeof this.started !== 'number') {
24
+ return this.base;
25
+ }
26
+ return messages_1.TimeConversion.addDurations(this.base, messages_1.TimeConversion.millisecondsToDuration(time_1.default.performance.now() - this.started));
27
+ }
28
+ timestamp() {
29
+ return messages_1.TimeConversion.millisecondsSinceEpochToTimestamp(time_1.default.Date.now());
30
+ }
31
+ }
32
+ const create = (base) => new StopwatchImpl(base);
33
+ exports.create = create;
34
34
  //# sourceMappingURL=stopwatch.js.map
@@ -1,54 +1,54 @@
1
- /// <reference types="node" />
2
- import * as messages from '@cucumber/messages';
3
- import { IdGenerator } from '@cucumber/messages';
4
- import { EventEmitter } from 'events';
5
- import { ISupportCodeLibrary, ITestCaseHookParameter } from '../support_code_library_builder/types';
6
- import TestCaseHookDefinition from '../models/test_case_hook_definition';
7
- import TestStepHookDefinition from '../models/test_step_hook_definition';
8
- import { IDefinition } from '../models/definition';
9
- import { IStopwatch } from './stopwatch';
10
- export interface INewTestCaseRunnerOptions {
11
- eventBroadcaster: EventEmitter;
12
- stopwatch: IStopwatch;
13
- gherkinDocument: messages.GherkinDocument;
14
- newId: IdGenerator.NewId;
15
- pickle: messages.Pickle;
16
- testCase: messages.TestCase;
17
- retries: number;
18
- skip: boolean;
19
- filterStackTraces: boolean;
20
- supportCodeLibrary: ISupportCodeLibrary;
21
- worldParameters: any;
22
- }
23
- export default class TestCaseRunner {
24
- private readonly attachmentManager;
25
- private currentTestCaseStartedId;
26
- private currentTestStepId;
27
- private readonly eventBroadcaster;
28
- private readonly stopwatch;
29
- private readonly gherkinDocument;
30
- private readonly newId;
31
- private readonly pickle;
32
- private readonly testCase;
33
- private readonly maxAttempts;
34
- private readonly skip;
35
- private readonly filterStackTraces;
36
- private readonly supportCodeLibrary;
37
- private testStepResults;
38
- private world;
39
- private readonly worldParameters;
40
- constructor({ eventBroadcaster, stopwatch, gherkinDocument, newId, pickle, testCase, retries, skip, filterStackTraces, supportCodeLibrary, worldParameters, }: INewTestCaseRunnerOptions);
41
- resetTestProgressData(): void;
42
- getBeforeStepHookDefinitions(): TestStepHookDefinition[];
43
- getAfterStepHookDefinitions(): TestStepHookDefinition[];
44
- getWorstStepResult(): messages.TestStepResult;
45
- invokeStep(step: messages.PickleStep, stepDefinition: IDefinition, hookParameter?: any): Promise<messages.TestStepResult>;
46
- isSkippingSteps(): boolean;
47
- shouldSkipHook(isBeforeHook: boolean): boolean;
48
- aroundTestStep(testStepId: string, runStepFn: () => Promise<messages.TestStepResult>): Promise<void>;
49
- run(): Promise<messages.TestStepResultStatus>;
50
- runAttempt(attempt: number, moreAttemptsRemaining: boolean): Promise<boolean>;
51
- runHook(hookDefinition: TestCaseHookDefinition, hookParameter: ITestCaseHookParameter, isBeforeHook: boolean): Promise<messages.TestStepResult>;
52
- runStepHooks(stepHooks: TestStepHookDefinition[], pickleStep: messages.PickleStep, stepResult?: messages.TestStepResult): Promise<messages.TestStepResult[]>;
53
- runStep(pickleStep: messages.PickleStep, testStep: messages.TestStep): Promise<messages.TestStepResult>;
54
- }
1
+ /// <reference types="node" />
2
+ import * as messages from '@cucumber/messages';
3
+ import { IdGenerator } from '@cucumber/messages';
4
+ import { EventEmitter } from 'events';
5
+ import { ISupportCodeLibrary, ITestCaseHookParameter } from '../support_code_library_builder/types';
6
+ import TestCaseHookDefinition from '../models/test_case_hook_definition';
7
+ import TestStepHookDefinition from '../models/test_step_hook_definition';
8
+ import { IDefinition } from '../models/definition';
9
+ import { IStopwatch } from './stopwatch';
10
+ export interface INewTestCaseRunnerOptions {
11
+ eventBroadcaster: EventEmitter;
12
+ stopwatch: IStopwatch;
13
+ gherkinDocument: messages.GherkinDocument;
14
+ newId: IdGenerator.NewId;
15
+ pickle: messages.Pickle;
16
+ testCase: messages.TestCase;
17
+ retries: number;
18
+ skip: boolean;
19
+ filterStackTraces: boolean;
20
+ supportCodeLibrary: ISupportCodeLibrary;
21
+ worldParameters: any;
22
+ }
23
+ export default class TestCaseRunner {
24
+ private readonly attachmentManager;
25
+ private currentTestCaseStartedId;
26
+ private currentTestStepId;
27
+ private readonly eventBroadcaster;
28
+ private readonly stopwatch;
29
+ private readonly gherkinDocument;
30
+ private readonly newId;
31
+ private readonly pickle;
32
+ private readonly testCase;
33
+ private readonly maxAttempts;
34
+ private readonly skip;
35
+ private readonly filterStackTraces;
36
+ private readonly supportCodeLibrary;
37
+ private testStepResults;
38
+ private world;
39
+ private readonly worldParameters;
40
+ constructor({ eventBroadcaster, stopwatch, gherkinDocument, newId, pickle, testCase, retries, skip, filterStackTraces, supportCodeLibrary, worldParameters, }: INewTestCaseRunnerOptions);
41
+ resetTestProgressData(): void;
42
+ getBeforeStepHookDefinitions(): TestStepHookDefinition[];
43
+ getAfterStepHookDefinitions(): TestStepHookDefinition[];
44
+ getWorstStepResult(): messages.TestStepResult;
45
+ invokeStep(step: messages.PickleStep, stepDefinition: IDefinition, hookParameter?: any): Promise<messages.TestStepResult>;
46
+ isSkippingSteps(): boolean;
47
+ shouldSkipHook(isBeforeHook: boolean): boolean;
48
+ aroundTestStep(testStepId: string, runStepFn: () => Promise<messages.TestStepResult>): Promise<void>;
49
+ run(): Promise<messages.TestStepResultStatus>;
50
+ runAttempt(attempt: number, moreAttemptsRemaining: boolean): Promise<boolean>;
51
+ runHook(hookDefinition: TestCaseHookDefinition, hookParameter: ITestCaseHookParameter, isBeforeHook: boolean): Promise<messages.TestStepResult>;
52
+ runStepHooks(stepHooks: TestStepHookDefinition[], pickleStep: messages.PickleStep, stepResult?: messages.TestStepResult): Promise<messages.TestStepResult[]>;
53
+ runStep(pickleStep: messages.PickleStep, testStep: messages.TestStep): Promise<messages.TestStepResult>;
54
+ }