@dev-blinq/cucumber-js 1.0.36 → 1.0.37

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 (254) 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 +64 -65
  7. package/lib/api/convert_configuration.js.map +1 -1
  8. package/lib/api/environment.d.ts +2 -2
  9. package/lib/api/environment.js +13 -13
  10. package/lib/api/formatters.d.ts +20 -20
  11. package/lib/api/formatters.js +60 -60
  12. package/lib/api/gherkin.d.ts +21 -21
  13. package/lib/api/gherkin.js +99 -99
  14. package/lib/api/index.d.ts +12 -12
  15. package/lib/api/index.js +27 -27
  16. package/lib/api/load_configuration.d.ts +9 -9
  17. package/lib/api/load_configuration.js +40 -40
  18. package/lib/api/load_sources.d.ts +9 -9
  19. package/lib/api/load_sources.js +52 -52
  20. package/lib/api/load_support.d.ts +10 -10
  21. package/lib/api/load_support.js +29 -29
  22. package/lib/api/paths.d.ts +8 -8
  23. package/lib/api/paths.js +101 -101
  24. package/lib/api/plugins.d.ts +4 -4
  25. package/lib/api/plugins.js +18 -18
  26. package/lib/api/run_cucumber.d.ts +11 -11
  27. package/lib/api/run_cucumber.js +114 -114
  28. package/lib/api/run_cucumber.js.map +1 -1
  29. package/lib/api/runtime.d.ts +21 -21
  30. package/lib/api/runtime.js +35 -35
  31. package/lib/api/support.d.ts +9 -9
  32. package/lib/api/support.js +25 -25
  33. package/lib/api/test_helpers.d.ts +3 -3
  34. package/lib/api/test_helpers.js +30 -30
  35. package/lib/api/types.d.ts +175 -177
  36. package/lib/api/types.js +2 -2
  37. package/lib/api/types.js.map +1 -1
  38. package/lib/cli/helpers.d.ts +37 -39
  39. package/lib/cli/helpers.js +202 -223
  40. package/lib/cli/helpers.js.map +1 -1
  41. package/lib/cli/i18n.d.ts +2 -2
  42. package/lib/cli/i18n.js +69 -69
  43. package/lib/cli/index.d.ts +21 -21
  44. package/lib/cli/index.js +58 -63
  45. package/lib/cli/index.js.map +1 -1
  46. package/lib/cli/install_validator.d.ts +1 -1
  47. package/lib/cli/install_validator.js +13 -13
  48. package/lib/cli/run.d.ts +1 -1
  49. package/lib/cli/run.js +43 -43
  50. package/lib/cli/validate_node_engine_version.d.ts +10 -10
  51. package/lib/cli/validate_node_engine_version.js +23 -23
  52. package/lib/configuration/argv_parser.d.ts +20 -20
  53. package/lib/configuration/argv_parser.js +100 -102
  54. package/lib/configuration/argv_parser.js.map +1 -1
  55. package/lib/configuration/check_schema.d.ts +2 -2
  56. package/lib/configuration/check_schema.js +59 -59
  57. package/lib/configuration/default_configuration.d.ts +2 -2
  58. package/lib/configuration/default_configuration.js +26 -28
  59. package/lib/configuration/default_configuration.js.map +1 -1
  60. package/lib/configuration/from_file.d.ts +3 -3
  61. package/lib/configuration/from_file.js +84 -84
  62. package/lib/configuration/helpers.d.ts +1 -1
  63. package/lib/configuration/helpers.js +10 -10
  64. package/lib/configuration/index.d.ts +7 -7
  65. package/lib/configuration/index.js +28 -28
  66. package/lib/configuration/locate_file.d.ts +1 -1
  67. package/lib/configuration/locate_file.js +20 -20
  68. package/lib/configuration/merge_configurations.d.ts +2 -2
  69. package/lib/configuration/merge_configurations.js +47 -47
  70. package/lib/configuration/option_splitter.d.ts +3 -3
  71. package/lib/configuration/option_splitter.js +22 -22
  72. package/lib/configuration/types.d.ts +28 -30
  73. package/lib/configuration/types.js +2 -2
  74. package/lib/configuration/types.js.map +1 -1
  75. package/lib/configuration/validate_configuration.d.ts +3 -3
  76. package/lib/configuration/validate_configuration.js +12 -12
  77. package/lib/filter_stack_trace.d.ts +3 -3
  78. package/lib/filter_stack_trace.js +37 -37
  79. package/lib/formatter/builder.d.ts +37 -37
  80. package/lib/formatter/builder.js +100 -100
  81. package/lib/formatter/bvt_formatter.d.ts +9 -0
  82. package/lib/formatter/{helpers/uploader.js → bvt_formatter.js} +62 -57
  83. package/lib/formatter/bvt_formatter.js.map +1 -0
  84. package/lib/formatter/feature_data_format.d.ts +14 -14
  85. package/lib/formatter/feature_data_format.js +80 -80
  86. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  87. package/lib/formatter/fixtures/typescript.js +5 -5
  88. package/lib/formatter/get_color_fns.d.ts +15 -15
  89. package/lib/formatter/get_color_fns.js +55 -55
  90. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  91. package/lib/formatter/helpers/duration_helpers.js +8 -8
  92. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  93. package/lib/formatter/helpers/event_data_collector.js +125 -125
  94. package/lib/formatter/helpers/formatters.d.ts +6 -6
  95. package/lib/formatter/helpers/formatters.js +44 -44
  96. package/lib/formatter/helpers/formatters.js.map +1 -1
  97. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  98. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  99. package/lib/formatter/helpers/index.d.ts +10 -10
  100. package/lib/formatter/helpers/index.js +51 -51
  101. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  102. package/lib/formatter/helpers/issue_helpers.js +58 -58
  103. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  104. package/lib/formatter/helpers/keyword_type.js +31 -31
  105. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  106. package/lib/formatter/helpers/location_helpers.js +16 -16
  107. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  108. package/lib/formatter/helpers/pickle_parser.js +27 -27
  109. package/lib/formatter/helpers/report_generator.d.ts +95 -103
  110. package/lib/formatter/helpers/report_generator.js +310 -247
  111. package/lib/formatter/helpers/report_generator.js.map +1 -1
  112. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  113. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  114. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  115. package/lib/formatter/helpers/summary_helpers.js +95 -95
  116. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  117. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  118. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  119. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  120. package/lib/formatter/helpers/upload_serivce.d.ts +9 -9
  121. package/lib/formatter/helpers/upload_serivce.js +46 -46
  122. package/lib/formatter/helpers/upload_serivce.js.map +1 -1
  123. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  124. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  125. package/lib/formatter/html_formatter.d.ts +7 -7
  126. package/lib/formatter/html_formatter.js +29 -29
  127. package/lib/formatter/index.d.ts +53 -53
  128. package/lib/formatter/index.js +20 -20
  129. package/lib/formatter/json_formatter.d.ts +78 -78
  130. package/lib/formatter/json_formatter.js +229 -229
  131. package/lib/formatter/junit_formatter.d.ts +17 -17
  132. package/lib/formatter/junit_formatter.js +180 -180
  133. package/lib/formatter/message_formatter.d.ts +5 -5
  134. package/lib/formatter/message_formatter.js +14 -14
  135. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  136. package/lib/formatter/progress_bar_formatter.js +98 -98
  137. package/lib/formatter/progress_formatter.d.ts +9 -9
  138. package/lib/formatter/progress_formatter.js +58 -58
  139. package/lib/formatter/rerun_formatter.d.ts +13 -13
  140. package/lib/formatter/rerun_formatter.js +79 -79
  141. package/lib/formatter/snippets_formatter.d.ts +6 -6
  142. package/lib/formatter/snippets_formatter.js +60 -60
  143. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  144. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  145. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  146. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  147. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  148. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  149. package/lib/formatter/summary_formatter.d.ts +14 -14
  150. package/lib/formatter/summary_formatter.js +67 -67
  151. package/lib/formatter/usage_formatter.d.ts +6 -6
  152. package/lib/formatter/usage_formatter.js +97 -97
  153. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  154. package/lib/formatter/usage_json_formatter.js +33 -33
  155. package/lib/index.d.ts +58 -58
  156. package/lib/index.js +108 -108
  157. package/lib/logger.d.ts +5 -5
  158. package/lib/logger.js +2 -2
  159. package/lib/models/data_table.d.ts +10 -10
  160. package/lib/models/data_table.js +45 -45
  161. package/lib/models/definition.d.ts +55 -55
  162. package/lib/models/definition.js +21 -21
  163. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  164. package/lib/models/gherkin_step_keyword.js +2 -2
  165. package/lib/models/pickle_order.d.ts +1 -1
  166. package/lib/models/pickle_order.js +2 -2
  167. package/lib/models/step_definition.d.ts +11 -11
  168. package/lib/models/step_definition.js +36 -36
  169. package/lib/models/test_case_hook_definition.d.ts +10 -10
  170. package/lib/models/test_case_hook_definition.js +26 -26
  171. package/lib/models/test_run_hook_definition.d.ts +3 -3
  172. package/lib/models/test_run_hook_definition.js +9 -9
  173. package/lib/models/test_step_hook_definition.d.ts +9 -9
  174. package/lib/models/test_step_hook_definition.js +25 -25
  175. package/lib/pickle_filter.d.ts +42 -42
  176. package/lib/pickle_filter.js +98 -98
  177. package/lib/plugin/index.d.ts +2 -2
  178. package/lib/plugin/index.js +18 -18
  179. package/lib/plugin/plugin_manager.d.ts +13 -13
  180. package/lib/plugin/plugin_manager.js +35 -35
  181. package/lib/plugin/types.d.ts +14 -14
  182. package/lib/plugin/types.js +2 -2
  183. package/lib/publish/http_stream.d.ts +30 -30
  184. package/lib/publish/http_stream.js +111 -111
  185. package/lib/publish/index.d.ts +2 -2
  186. package/lib/publish/index.js +4 -4
  187. package/lib/publish/publish_plugin.d.ts +2 -2
  188. package/lib/publish/publish_plugin.js +47 -47
  189. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  190. package/lib/runtime/assemble_test_cases.js +87 -87
  191. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  192. package/lib/runtime/attachment_manager/index.js +118 -118
  193. package/lib/runtime/format_error.d.ts +2 -2
  194. package/lib/runtime/format_error.js +35 -35
  195. package/lib/runtime/helpers.d.ts +6 -6
  196. package/lib/runtime/helpers.js +100 -100
  197. package/lib/runtime/index.d.ts +40 -40
  198. package/lib/runtime/index.js +75 -75
  199. package/lib/runtime/parallel/command_types.d.ts +32 -32
  200. package/lib/runtime/parallel/command_types.js +2 -2
  201. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  202. package/lib/runtime/parallel/coordinator.js +221 -221
  203. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  204. package/lib/runtime/parallel/run_worker.js +28 -28
  205. package/lib/runtime/parallel/worker.d.ts +26 -26
  206. package/lib/runtime/parallel/worker.js +86 -86
  207. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  208. package/lib/runtime/run_test_run_hooks.js +27 -27
  209. package/lib/runtime/step_runner.d.ts +16 -16
  210. package/lib/runtime/step_runner.js +87 -87
  211. package/lib/runtime/stopwatch.d.ts +12 -12
  212. package/lib/runtime/stopwatch.js +33 -33
  213. package/lib/runtime/test_case_runner.d.ts +54 -54
  214. package/lib/runtime/test_case_runner.js +267 -267
  215. package/lib/step_arguments.d.ts +6 -6
  216. package/lib/step_arguments.js +18 -18
  217. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  218. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  219. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  220. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  221. package/lib/support_code_library_builder/index.d.ts +74 -74
  222. package/lib/support_code_library_builder/index.js +296 -296
  223. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  224. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  225. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  226. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  227. package/lib/support_code_library_builder/types.d.ts +88 -88
  228. package/lib/support_code_library_builder/types.js +2 -2
  229. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  230. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  231. package/lib/support_code_library_builder/world.d.ts +18 -18
  232. package/lib/support_code_library_builder/world.js +10 -10
  233. package/lib/time.d.ts +18 -18
  234. package/lib/time.js +60 -60
  235. package/lib/try_require.d.ts +7 -7
  236. package/lib/try_require.js +22 -22
  237. package/lib/types/index.d.ts +4 -4
  238. package/lib/types/index.js +2 -2
  239. package/lib/uncaught_exception_manager.d.ts +7 -7
  240. package/lib/uncaught_exception_manager.js +11 -11
  241. package/lib/user_code_runner.d.ts +14 -14
  242. package/lib/user_code_runner.js +81 -81
  243. package/lib/value_checker.d.ts +3 -3
  244. package/lib/value_checker.js +18 -18
  245. package/lib/version.d.ts +1 -1
  246. package/lib/version.js +5 -5
  247. package/lib/version.js.map +1 -1
  248. package/package.json +2 -4
  249. package/bin/download-install.js +0 -126
  250. package/lib/formatter/bvt_analysis_formatter.d.ts +0 -18
  251. package/lib/formatter/bvt_analysis_formatter.js +0 -193
  252. package/lib/formatter/bvt_analysis_formatter.js.map +0 -1
  253. package/lib/formatter/helpers/uploader.d.ts +0 -11
  254. package/lib/formatter/helpers/uploader.js.map +0 -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
+ }