@dev-blinq/cucumber-js 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) 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 -64
  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 +175 -175
  34. package/lib/api/types.js +2 -2
  35. package/lib/cli/helpers.d.ts +37 -37
  36. package/lib/cli/helpers.js +202 -202
  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 +58 -58
  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 +100 -100
  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 +26 -26
  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 +28 -28
  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_formatter.d.ts +5 -0
  74. package/lib/formatter/bvt_formatter.js +21 -0
  75. package/lib/formatter/bvt_formatter.js.map +1 -0
  76. package/lib/formatter/feature_data_format.d.ts +14 -14
  77. package/lib/formatter/feature_data_format.js +80 -80
  78. package/lib/formatter/feature_data_format.js.map +1 -1
  79. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  80. package/lib/formatter/fixtures/typescript.js +5 -5
  81. package/lib/formatter/get_color_fns.d.ts +15 -15
  82. package/lib/formatter/get_color_fns.js +55 -55
  83. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  84. package/lib/formatter/helpers/duration_helpers.js +8 -8
  85. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  86. package/lib/formatter/helpers/event_data_collector.js +125 -125
  87. package/lib/formatter/helpers/formatters.d.ts +6 -6
  88. package/lib/formatter/helpers/formatters.js +44 -42
  89. package/lib/formatter/helpers/formatters.js.map +1 -1
  90. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  91. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  92. package/lib/formatter/helpers/index.d.ts +10 -10
  93. package/lib/formatter/helpers/index.js +51 -51
  94. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  95. package/lib/formatter/helpers/issue_helpers.js +58 -58
  96. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  97. package/lib/formatter/helpers/keyword_type.js +31 -31
  98. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  99. package/lib/formatter/helpers/location_helpers.js +16 -16
  100. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  101. package/lib/formatter/helpers/pickle_parser.js +27 -27
  102. package/lib/formatter/helpers/report_generator.d.ts +91 -0
  103. package/lib/formatter/helpers/report_generator.js +235 -0
  104. package/lib/formatter/helpers/report_generator.js.map +1 -0
  105. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  106. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  107. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  108. package/lib/formatter/helpers/summary_helpers.js +95 -95
  109. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  110. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  111. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  112. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  113. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  114. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  115. package/lib/formatter/html_formatter.d.ts +7 -7
  116. package/lib/formatter/html_formatter.js +29 -29
  117. package/lib/formatter/index.d.ts +53 -53
  118. package/lib/formatter/index.js +20 -20
  119. package/lib/formatter/json_formatter.d.ts +78 -78
  120. package/lib/formatter/json_formatter.js +229 -229
  121. package/lib/formatter/junit_formatter.d.ts +17 -17
  122. package/lib/formatter/junit_formatter.js +180 -180
  123. package/lib/formatter/message_formatter.d.ts +5 -5
  124. package/lib/formatter/message_formatter.js +14 -14
  125. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  126. package/lib/formatter/progress_bar_formatter.js +98 -98
  127. package/lib/formatter/progress_formatter.d.ts +9 -9
  128. package/lib/formatter/progress_formatter.js +58 -58
  129. package/lib/formatter/rerun_formatter.d.ts +13 -13
  130. package/lib/formatter/rerun_formatter.js +79 -79
  131. package/lib/formatter/snippets_formatter.d.ts +6 -6
  132. package/lib/formatter/snippets_formatter.js +60 -60
  133. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  134. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  135. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  136. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  137. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  138. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  139. package/lib/formatter/summary_formatter.d.ts +14 -14
  140. package/lib/formatter/summary_formatter.js +67 -67
  141. package/lib/formatter/usage_formatter.d.ts +6 -6
  142. package/lib/formatter/usage_formatter.js +97 -97
  143. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  144. package/lib/formatter/usage_json_formatter.js +33 -33
  145. package/lib/index.d.ts +58 -58
  146. package/lib/index.js +108 -108
  147. package/lib/logger.d.ts +5 -5
  148. package/lib/logger.js +2 -2
  149. package/lib/models/data_table.d.ts +10 -10
  150. package/lib/models/data_table.js +45 -45
  151. package/lib/models/definition.d.ts +55 -55
  152. package/lib/models/definition.js +21 -21
  153. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  154. package/lib/models/gherkin_step_keyword.js +2 -2
  155. package/lib/models/pickle_order.d.ts +1 -1
  156. package/lib/models/pickle_order.js +2 -2
  157. package/lib/models/step_definition.d.ts +11 -11
  158. package/lib/models/step_definition.js +36 -36
  159. package/lib/models/test_case_hook_definition.d.ts +10 -10
  160. package/lib/models/test_case_hook_definition.js +26 -26
  161. package/lib/models/test_run_hook_definition.d.ts +3 -3
  162. package/lib/models/test_run_hook_definition.js +9 -9
  163. package/lib/models/test_step_hook_definition.d.ts +9 -9
  164. package/lib/models/test_step_hook_definition.js +25 -25
  165. package/lib/pickle_filter.d.ts +42 -42
  166. package/lib/pickle_filter.js +98 -98
  167. package/lib/plugin/index.d.ts +2 -2
  168. package/lib/plugin/index.js +18 -18
  169. package/lib/plugin/plugin_manager.d.ts +13 -13
  170. package/lib/plugin/plugin_manager.js +35 -35
  171. package/lib/plugin/types.d.ts +14 -14
  172. package/lib/plugin/types.js +2 -2
  173. package/lib/publish/http_stream.d.ts +30 -30
  174. package/lib/publish/http_stream.js +111 -111
  175. package/lib/publish/index.d.ts +2 -2
  176. package/lib/publish/index.js +4 -4
  177. package/lib/publish/publish_plugin.d.ts +2 -2
  178. package/lib/publish/publish_plugin.js +47 -47
  179. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  180. package/lib/runtime/assemble_test_cases.js +87 -87
  181. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  182. package/lib/runtime/attachment_manager/index.js +118 -118
  183. package/lib/runtime/format_error.d.ts +2 -2
  184. package/lib/runtime/format_error.js +35 -35
  185. package/lib/runtime/helpers.d.ts +6 -6
  186. package/lib/runtime/helpers.js +100 -100
  187. package/lib/runtime/index.d.ts +40 -40
  188. package/lib/runtime/index.js +75 -75
  189. package/lib/runtime/parallel/command_types.d.ts +32 -32
  190. package/lib/runtime/parallel/command_types.js +2 -2
  191. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  192. package/lib/runtime/parallel/coordinator.js +221 -221
  193. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  194. package/lib/runtime/parallel/run_worker.js +28 -28
  195. package/lib/runtime/parallel/worker.d.ts +26 -26
  196. package/lib/runtime/parallel/worker.js +86 -86
  197. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  198. package/lib/runtime/run_test_run_hooks.js +27 -27
  199. package/lib/runtime/step_runner.d.ts +16 -16
  200. package/lib/runtime/step_runner.js +87 -87
  201. package/lib/runtime/stopwatch.d.ts +12 -12
  202. package/lib/runtime/stopwatch.js +33 -33
  203. package/lib/runtime/test_case_runner.d.ts +54 -54
  204. package/lib/runtime/test_case_runner.js +267 -267
  205. package/lib/step_arguments.d.ts +6 -6
  206. package/lib/step_arguments.js +18 -18
  207. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  208. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  209. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  210. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  211. package/lib/support_code_library_builder/index.d.ts +74 -74
  212. package/lib/support_code_library_builder/index.js +296 -296
  213. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  214. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  215. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  216. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  217. package/lib/support_code_library_builder/types.d.ts +88 -88
  218. package/lib/support_code_library_builder/types.js +2 -2
  219. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  220. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  221. package/lib/support_code_library_builder/world.d.ts +18 -18
  222. package/lib/support_code_library_builder/world.js +10 -10
  223. package/lib/time.d.ts +18 -18
  224. package/lib/time.js +60 -60
  225. package/lib/try_require.d.ts +7 -7
  226. package/lib/try_require.js +22 -22
  227. package/lib/types/index.d.ts +4 -4
  228. package/lib/types/index.js +2 -2
  229. package/lib/uncaught_exception_manager.d.ts +7 -7
  230. package/lib/uncaught_exception_manager.js +11 -11
  231. package/lib/user_code_runner.d.ts +14 -14
  232. package/lib/user_code_runner.js +81 -81
  233. package/lib/value_checker.d.ts +3 -3
  234. package/lib/value_checker.js +18 -18
  235. package/lib/version.d.ts +1 -1
  236. package/lib/version.js +5 -5
  237. package/lib/version.js.map +1 -1
  238. package/package.json +2 -2
@@ -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
+ }