@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,101 +1,101 @@
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.shouldCauseFailure = exports.retriesForPickle = exports.getAmbiguousStepException = void 0;
30
- const location_helpers_1 = require("../formatter/helpers/location_helpers");
31
- const cli_table3_1 = __importDefault(require("cli-table3"));
32
- const indent_string_1 = __importDefault(require("indent-string"));
33
- const pickle_filter_1 = require("../pickle_filter");
34
- const messages = __importStar(require("@cucumber/messages"));
35
- function getAmbiguousStepException(stepDefinitions) {
36
- const table = new cli_table3_1.default({
37
- chars: {
38
- bottom: '',
39
- 'bottom-left': '',
40
- 'bottom-mid': '',
41
- 'bottom-right': '',
42
- left: '',
43
- 'left-mid': '',
44
- mid: '',
45
- 'mid-mid': '',
46
- middle: ' - ',
47
- right: '',
48
- 'right-mid': '',
49
- top: '',
50
- 'top-left': '',
51
- 'top-mid': '',
52
- 'top-right': '',
53
- },
54
- style: {
55
- border: [],
56
- 'padding-left': 0,
57
- 'padding-right': 0,
58
- },
59
- });
60
- table.push(...stepDefinitions.map((stepDefinition) => {
61
- const pattern = stepDefinition.pattern.toString();
62
- return [pattern, (0, location_helpers_1.formatLocation)(stepDefinition)];
63
- }));
64
- return `${'Multiple step definitions match:' + '\n'}${(0, indent_string_1.default)(table.toString(), 2)}`;
65
- }
66
- exports.getAmbiguousStepException = getAmbiguousStepException;
67
- function retriesForPickle(pickle, options) {
68
- if (!options.retry) {
69
- return 0;
70
- }
71
- const retries = options.retry;
72
- if (retries === 0) {
73
- return 0;
74
- }
75
- const retryTagFilter = options.retryTagFilter;
76
- if (!retryTagFilter) {
77
- return retries;
78
- }
79
- const pickleTagFilter = new pickle_filter_1.PickleTagFilter(retryTagFilter);
80
- if (pickleTagFilter.matchesAllTagExpressions(pickle)) {
81
- return retries;
82
- }
83
- return 0;
84
- }
85
- exports.retriesForPickle = retriesForPickle;
86
- function shouldCauseFailure(status, options) {
87
- if (options.dryRun) {
88
- return false;
89
- }
90
- const failureStatuses = [
91
- messages.TestStepResultStatus.AMBIGUOUS,
92
- messages.TestStepResultStatus.FAILED,
93
- messages.TestStepResultStatus.UNDEFINED,
94
- ];
95
- if (options.strict) {
96
- failureStatuses.push(messages.TestStepResultStatus.PENDING);
97
- }
98
- return failureStatuses.includes(status);
99
- }
100
- exports.shouldCauseFailure = shouldCauseFailure;
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.shouldCauseFailure = exports.retriesForPickle = exports.getAmbiguousStepException = void 0;
30
+ const location_helpers_1 = require("../formatter/helpers/location_helpers");
31
+ const cli_table3_1 = __importDefault(require("cli-table3"));
32
+ const indent_string_1 = __importDefault(require("indent-string"));
33
+ const pickle_filter_1 = require("../pickle_filter");
34
+ const messages = __importStar(require("@cucumber/messages"));
35
+ function getAmbiguousStepException(stepDefinitions) {
36
+ const table = new cli_table3_1.default({
37
+ chars: {
38
+ bottom: '',
39
+ 'bottom-left': '',
40
+ 'bottom-mid': '',
41
+ 'bottom-right': '',
42
+ left: '',
43
+ 'left-mid': '',
44
+ mid: '',
45
+ 'mid-mid': '',
46
+ middle: ' - ',
47
+ right: '',
48
+ 'right-mid': '',
49
+ top: '',
50
+ 'top-left': '',
51
+ 'top-mid': '',
52
+ 'top-right': '',
53
+ },
54
+ style: {
55
+ border: [],
56
+ 'padding-left': 0,
57
+ 'padding-right': 0,
58
+ },
59
+ });
60
+ table.push(...stepDefinitions.map((stepDefinition) => {
61
+ const pattern = stepDefinition.pattern.toString();
62
+ return [pattern, (0, location_helpers_1.formatLocation)(stepDefinition)];
63
+ }));
64
+ return `${'Multiple step definitions match:' + '\n'}${(0, indent_string_1.default)(table.toString(), 2)}`;
65
+ }
66
+ exports.getAmbiguousStepException = getAmbiguousStepException;
67
+ function retriesForPickle(pickle, options) {
68
+ if (!options.retry) {
69
+ return 0;
70
+ }
71
+ const retries = options.retry;
72
+ if (retries === 0) {
73
+ return 0;
74
+ }
75
+ const retryTagFilter = options.retryTagFilter;
76
+ if (!retryTagFilter) {
77
+ return retries;
78
+ }
79
+ const pickleTagFilter = new pickle_filter_1.PickleTagFilter(retryTagFilter);
80
+ if (pickleTagFilter.matchesAllTagExpressions(pickle)) {
81
+ return retries;
82
+ }
83
+ return 0;
84
+ }
85
+ exports.retriesForPickle = retriesForPickle;
86
+ function shouldCauseFailure(status, options) {
87
+ if (options.dryRun) {
88
+ return false;
89
+ }
90
+ const failureStatuses = [
91
+ messages.TestStepResultStatus.AMBIGUOUS,
92
+ messages.TestStepResultStatus.FAILED,
93
+ messages.TestStepResultStatus.UNDEFINED,
94
+ ];
95
+ if (options.strict) {
96
+ failureStatuses.push(messages.TestStepResultStatus.PENDING);
97
+ }
98
+ return failureStatuses.includes(status);
99
+ }
100
+ exports.shouldCauseFailure = shouldCauseFailure;
101
101
  //# sourceMappingURL=helpers.js.map
@@ -1,40 +1,40 @@
1
- /// <reference types="node" />
2
- import * as messages from '@cucumber/messages';
3
- import { IdGenerator } from '@cucumber/messages';
4
- import { EventEmitter } from 'events';
5
- import { EventDataCollector } from '../formatter/helpers';
6
- import { ISupportCodeLibrary } from '../support_code_library_builder/types';
7
- export interface IRuntime {
8
- start: () => Promise<boolean>;
9
- }
10
- export interface INewRuntimeOptions {
11
- eventBroadcaster: EventEmitter;
12
- eventDataCollector: EventDataCollector;
13
- newId: IdGenerator.NewId;
14
- options: IRuntimeOptions;
15
- pickleIds: string[];
16
- supportCodeLibrary: ISupportCodeLibrary;
17
- }
18
- export interface IRuntimeOptions {
19
- dryRun: boolean;
20
- failFast: boolean;
21
- filterStacktraces: boolean;
22
- retry: number;
23
- retryTagFilter: string;
24
- strict: boolean;
25
- worldParameters: any;
26
- }
27
- export default class Runtime implements IRuntime {
28
- private readonly eventBroadcaster;
29
- private readonly eventDataCollector;
30
- private readonly stopwatch;
31
- private readonly newId;
32
- private readonly options;
33
- private readonly pickleIds;
34
- private readonly supportCodeLibrary;
35
- private success;
36
- private runTestRunHooks;
37
- constructor({ eventBroadcaster, eventDataCollector, newId, options, pickleIds, supportCodeLibrary, }: INewRuntimeOptions);
38
- runTestCase(pickleId: string, testCase: messages.TestCase): Promise<void>;
39
- start(): Promise<boolean>;
40
- }
1
+ /// <reference types="node" />
2
+ import * as messages from '@cucumber/messages';
3
+ import { IdGenerator } from '@cucumber/messages';
4
+ import { EventEmitter } from 'events';
5
+ import { EventDataCollector } from '../formatter/helpers';
6
+ import { ISupportCodeLibrary } from '../support_code_library_builder/types';
7
+ export interface IRuntime {
8
+ start: () => Promise<boolean>;
9
+ }
10
+ export interface INewRuntimeOptions {
11
+ eventBroadcaster: EventEmitter;
12
+ eventDataCollector: EventDataCollector;
13
+ newId: IdGenerator.NewId;
14
+ options: IRuntimeOptions;
15
+ pickleIds: string[];
16
+ supportCodeLibrary: ISupportCodeLibrary;
17
+ }
18
+ export interface IRuntimeOptions {
19
+ dryRun: boolean;
20
+ failFast: boolean;
21
+ filterStacktraces: boolean;
22
+ retry: number;
23
+ retryTagFilter: string;
24
+ strict: boolean;
25
+ worldParameters: any;
26
+ }
27
+ export default class Runtime implements IRuntime {
28
+ private readonly eventBroadcaster;
29
+ private readonly eventDataCollector;
30
+ private readonly stopwatch;
31
+ private readonly newId;
32
+ private readonly options;
33
+ private readonly pickleIds;
34
+ private readonly supportCodeLibrary;
35
+ private success;
36
+ private runTestRunHooks;
37
+ constructor({ eventBroadcaster, eventDataCollector, newId, options, pickleIds, supportCodeLibrary, }: INewRuntimeOptions);
38
+ runTestCase(pickleId: string, testCase: messages.TestCase): Promise<void>;
39
+ start(): Promise<boolean>;
40
+ }
@@ -1,76 +1,76 @@
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 assemble_test_cases_1 = require("./assemble_test_cases");
7
- const helpers_1 = require("./helpers");
8
- const run_test_run_hooks_1 = require("./run_test_run_hooks");
9
- const stopwatch_1 = require("./stopwatch");
10
- const test_case_runner_1 = __importDefault(require("./test_case_runner"));
11
- class Runtime {
12
- constructor({ eventBroadcaster, eventDataCollector, newId, options, pickleIds, supportCodeLibrary, }) {
13
- this.eventBroadcaster = eventBroadcaster;
14
- this.eventDataCollector = eventDataCollector;
15
- this.stopwatch = (0, stopwatch_1.create)();
16
- this.newId = newId;
17
- this.options = options;
18
- this.pickleIds = pickleIds;
19
- this.supportCodeLibrary = supportCodeLibrary;
20
- this.success = true;
21
- this.runTestRunHooks = (0, run_test_run_hooks_1.makeRunTestRunHooks)(this.options.dryRun, this.supportCodeLibrary.defaultTimeout, (name, location) => `${name} hook errored, process exiting: ${location}`);
22
- }
23
- async runTestCase(pickleId, testCase) {
24
- const pickle = this.eventDataCollector.getPickle(pickleId);
25
- const retries = (0, helpers_1.retriesForPickle)(pickle, this.options);
26
- const skip = this.options.dryRun || (this.options.failFast && !this.success);
27
- const testCaseRunner = new test_case_runner_1.default({
28
- eventBroadcaster: this.eventBroadcaster,
29
- stopwatch: this.stopwatch,
30
- gherkinDocument: this.eventDataCollector.getGherkinDocument(pickle.uri),
31
- newId: this.newId,
32
- pickle,
33
- testCase,
34
- retries,
35
- skip,
36
- filterStackTraces: this.options.filterStacktraces,
37
- supportCodeLibrary: this.supportCodeLibrary,
38
- worldParameters: this.options.worldParameters,
39
- });
40
- const status = await testCaseRunner.run();
41
- if ((0, helpers_1.shouldCauseFailure)(status, this.options)) {
42
- this.success = false;
43
- }
44
- }
45
- async start() {
46
- const testRunStarted = {
47
- testRunStarted: {
48
- timestamp: this.stopwatch.timestamp(),
49
- },
50
- };
51
- this.eventBroadcaster.emit('envelope', testRunStarted);
52
- this.stopwatch.start();
53
- await this.runTestRunHooks(this.supportCodeLibrary.beforeTestRunHookDefinitions, 'a BeforeAll');
54
- const assembledTestCases = await (0, assemble_test_cases_1.assembleTestCases)({
55
- eventBroadcaster: this.eventBroadcaster,
56
- newId: this.newId,
57
- pickles: this.pickleIds.map((pickleId) => this.eventDataCollector.getPickle(pickleId)),
58
- supportCodeLibrary: this.supportCodeLibrary,
59
- });
60
- for (const pickleId of this.pickleIds) {
61
- await this.runTestCase(pickleId, assembledTestCases[pickleId]);
62
- }
63
- await this.runTestRunHooks(this.supportCodeLibrary.afterTestRunHookDefinitions.slice(0).reverse(), 'an AfterAll');
64
- this.stopwatch.stop();
65
- const testRunFinished = {
66
- testRunFinished: {
67
- timestamp: this.stopwatch.timestamp(),
68
- success: this.success,
69
- },
70
- };
71
- this.eventBroadcaster.emit('envelope', testRunFinished);
72
- return this.success;
73
- }
74
- }
75
- exports.default = Runtime;
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 assemble_test_cases_1 = require("./assemble_test_cases");
7
+ const helpers_1 = require("./helpers");
8
+ const run_test_run_hooks_1 = require("./run_test_run_hooks");
9
+ const stopwatch_1 = require("./stopwatch");
10
+ const test_case_runner_1 = __importDefault(require("./test_case_runner"));
11
+ class Runtime {
12
+ constructor({ eventBroadcaster, eventDataCollector, newId, options, pickleIds, supportCodeLibrary, }) {
13
+ this.eventBroadcaster = eventBroadcaster;
14
+ this.eventDataCollector = eventDataCollector;
15
+ this.stopwatch = (0, stopwatch_1.create)();
16
+ this.newId = newId;
17
+ this.options = options;
18
+ this.pickleIds = pickleIds;
19
+ this.supportCodeLibrary = supportCodeLibrary;
20
+ this.success = true;
21
+ this.runTestRunHooks = (0, run_test_run_hooks_1.makeRunTestRunHooks)(this.options.dryRun, this.supportCodeLibrary.defaultTimeout, (name, location) => `${name} hook errored, process exiting: ${location}`);
22
+ }
23
+ async runTestCase(pickleId, testCase) {
24
+ const pickle = this.eventDataCollector.getPickle(pickleId);
25
+ const retries = (0, helpers_1.retriesForPickle)(pickle, this.options);
26
+ const skip = this.options.dryRun || (this.options.failFast && !this.success);
27
+ const testCaseRunner = new test_case_runner_1.default({
28
+ eventBroadcaster: this.eventBroadcaster,
29
+ stopwatch: this.stopwatch,
30
+ gherkinDocument: this.eventDataCollector.getGherkinDocument(pickle.uri),
31
+ newId: this.newId,
32
+ pickle,
33
+ testCase,
34
+ retries,
35
+ skip,
36
+ filterStackTraces: this.options.filterStacktraces,
37
+ supportCodeLibrary: this.supportCodeLibrary,
38
+ worldParameters: this.options.worldParameters,
39
+ });
40
+ const status = await testCaseRunner.run();
41
+ if ((0, helpers_1.shouldCauseFailure)(status, this.options)) {
42
+ this.success = false;
43
+ }
44
+ }
45
+ async start() {
46
+ const testRunStarted = {
47
+ testRunStarted: {
48
+ timestamp: this.stopwatch.timestamp(),
49
+ },
50
+ };
51
+ this.eventBroadcaster.emit('envelope', testRunStarted);
52
+ this.stopwatch.start();
53
+ await this.runTestRunHooks(this.supportCodeLibrary.beforeTestRunHookDefinitions, 'a BeforeAll');
54
+ const assembledTestCases = await (0, assemble_test_cases_1.assembleTestCases)({
55
+ eventBroadcaster: this.eventBroadcaster,
56
+ newId: this.newId,
57
+ pickles: this.pickleIds.map((pickleId) => this.eventDataCollector.getPickle(pickleId)),
58
+ supportCodeLibrary: this.supportCodeLibrary,
59
+ });
60
+ for (const pickleId of this.pickleIds) {
61
+ await this.runTestCase(pickleId, assembledTestCases[pickleId]);
62
+ }
63
+ await this.runTestRunHooks(this.supportCodeLibrary.afterTestRunHookDefinitions.slice(0).reverse(), 'an AfterAll');
64
+ this.stopwatch.stop();
65
+ const testRunFinished = {
66
+ testRunFinished: {
67
+ timestamp: this.stopwatch.timestamp(),
68
+ success: this.success,
69
+ },
70
+ };
71
+ this.eventBroadcaster.emit('envelope', testRunFinished);
72
+ return this.success;
73
+ }
74
+ }
75
+ exports.default = Runtime;
76
76
  //# sourceMappingURL=index.js.map
@@ -1,32 +1,32 @@
1
- import * as messages from '@cucumber/messages';
2
- import { IRuntimeOptions } from '../index';
3
- export interface IWorkerCommand {
4
- initialize?: IWorkerCommandInitialize;
5
- run?: IWorkerCommandRun;
6
- finalize?: boolean;
7
- }
8
- export interface IWorkerCommandInitialize {
9
- filterStacktraces: boolean;
10
- requireModules: string[];
11
- requirePaths: string[];
12
- importPaths: string[];
13
- supportCodeIds?: ICanonicalSupportCodeIds;
14
- options: IRuntimeOptions;
15
- }
16
- export interface ICanonicalSupportCodeIds {
17
- stepDefinitionIds: string[];
18
- beforeTestCaseHookDefinitionIds: string[];
19
- afterTestCaseHookDefinitionIds: string[];
20
- }
21
- export interface IWorkerCommandRun {
22
- retries: number;
23
- skip: boolean;
24
- elapsed: messages.Duration;
25
- pickle: messages.Pickle;
26
- testCase: messages.TestCase;
27
- gherkinDocument: messages.GherkinDocument;
28
- }
29
- export interface ICoordinatorReport {
30
- jsonEnvelope?: string;
31
- ready?: boolean;
32
- }
1
+ import * as messages from '@cucumber/messages';
2
+ import { IRuntimeOptions } from '../index';
3
+ export interface IWorkerCommand {
4
+ initialize?: IWorkerCommandInitialize;
5
+ run?: IWorkerCommandRun;
6
+ finalize?: boolean;
7
+ }
8
+ export interface IWorkerCommandInitialize {
9
+ filterStacktraces: boolean;
10
+ requireModules: string[];
11
+ requirePaths: string[];
12
+ importPaths: string[];
13
+ supportCodeIds?: ICanonicalSupportCodeIds;
14
+ options: IRuntimeOptions;
15
+ }
16
+ export interface ICanonicalSupportCodeIds {
17
+ stepDefinitionIds: string[];
18
+ beforeTestCaseHookDefinitionIds: string[];
19
+ afterTestCaseHookDefinitionIds: string[];
20
+ }
21
+ export interface IWorkerCommandRun {
22
+ retries: number;
23
+ skip: boolean;
24
+ elapsed: messages.Duration;
25
+ pickle: messages.Pickle;
26
+ testCase: messages.TestCase;
27
+ gherkinDocument: messages.GherkinDocument;
28
+ }
29
+ export interface ICoordinatorReport {
30
+ jsonEnvelope?: string;
31
+ ready?: boolean;
32
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=command_types.js.map
@@ -1,72 +1,72 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { ChildProcess } from 'child_process';
4
- import * as messages from '@cucumber/messages';
5
- import { EventEmitter } from 'events';
6
- import { EventDataCollector } from '../../formatter/helpers';
7
- import { IRuntime, IRuntimeOptions } from '..';
8
- import { ISupportCodeLibrary } from '../../support_code_library_builder/types';
9
- import { ICoordinatorReport } from './command_types';
10
- import { IdGenerator } from '@cucumber/messages';
11
- import { ILogger } from '../../logger';
12
- export interface INewCoordinatorOptions {
13
- cwd: string;
14
- logger: ILogger;
15
- eventBroadcaster: EventEmitter;
16
- eventDataCollector: EventDataCollector;
17
- options: IRuntimeOptions;
18
- newId: IdGenerator.NewId;
19
- pickleIds: string[];
20
- supportCodeLibrary: ISupportCodeLibrary;
21
- requireModules: string[];
22
- requirePaths: string[];
23
- importPaths: string[];
24
- numberOfWorkers: number;
25
- }
26
- declare const enum WorkerState {
27
- 'idle' = 0,
28
- 'closed' = 1,
29
- 'running' = 2,
30
- 'new' = 3
31
- }
32
- interface IWorker {
33
- state: WorkerState;
34
- process: ChildProcess;
35
- id: string;
36
- }
37
- interface IPicklePlacement {
38
- index: number;
39
- pickle: messages.Pickle;
40
- }
41
- export default class Coordinator implements IRuntime {
42
- private readonly cwd;
43
- private readonly eventBroadcaster;
44
- private readonly eventDataCollector;
45
- private readonly stopwatch;
46
- private onFinish;
47
- private readonly options;
48
- private readonly newId;
49
- private readonly pickleIds;
50
- private assembledTestCases;
51
- private inProgressPickles;
52
- private workers;
53
- private readonly supportCodeLibrary;
54
- private readonly requireModules;
55
- private readonly requirePaths;
56
- private readonly importPaths;
57
- private readonly numberOfWorkers;
58
- private readonly logger;
59
- private success;
60
- private idleInterventions;
61
- constructor({ cwd, logger, eventBroadcaster, eventDataCollector, pickleIds, options, newId, supportCodeLibrary, requireModules, requirePaths, importPaths, numberOfWorkers, }: INewCoordinatorOptions);
62
- parseWorkerMessage(worker: IWorker, message: ICoordinatorReport): void;
63
- awakenWorkers(triggeringWorker: IWorker): void;
64
- startWorker(id: string, total: number): void;
65
- onWorkerProcessClose(exitCode: number): void;
66
- parseTestCaseResult(testCaseFinished: messages.TestCaseFinished): void;
67
- start(): Promise<boolean>;
68
- nextPicklePlacement(): IPicklePlacement;
69
- placementAt(index: number): IPicklePlacement;
70
- giveWork(worker: IWorker, force?: boolean): void;
71
- }
72
- export {};
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { ChildProcess } from 'child_process';
4
+ import * as messages from '@cucumber/messages';
5
+ import { EventEmitter } from 'events';
6
+ import { EventDataCollector } from '../../formatter/helpers';
7
+ import { IRuntime, IRuntimeOptions } from '..';
8
+ import { ISupportCodeLibrary } from '../../support_code_library_builder/types';
9
+ import { ICoordinatorReport } from './command_types';
10
+ import { IdGenerator } from '@cucumber/messages';
11
+ import { ILogger } from '../../logger';
12
+ export interface INewCoordinatorOptions {
13
+ cwd: string;
14
+ logger: ILogger;
15
+ eventBroadcaster: EventEmitter;
16
+ eventDataCollector: EventDataCollector;
17
+ options: IRuntimeOptions;
18
+ newId: IdGenerator.NewId;
19
+ pickleIds: string[];
20
+ supportCodeLibrary: ISupportCodeLibrary;
21
+ requireModules: string[];
22
+ requirePaths: string[];
23
+ importPaths: string[];
24
+ numberOfWorkers: number;
25
+ }
26
+ declare const enum WorkerState {
27
+ 'idle' = 0,
28
+ 'closed' = 1,
29
+ 'running' = 2,
30
+ 'new' = 3
31
+ }
32
+ interface IWorker {
33
+ state: WorkerState;
34
+ process: ChildProcess;
35
+ id: string;
36
+ }
37
+ interface IPicklePlacement {
38
+ index: number;
39
+ pickle: messages.Pickle;
40
+ }
41
+ export default class Coordinator implements IRuntime {
42
+ private readonly cwd;
43
+ private readonly eventBroadcaster;
44
+ private readonly eventDataCollector;
45
+ private readonly stopwatch;
46
+ private onFinish;
47
+ private readonly options;
48
+ private readonly newId;
49
+ private readonly pickleIds;
50
+ private assembledTestCases;
51
+ private inProgressPickles;
52
+ private workers;
53
+ private readonly supportCodeLibrary;
54
+ private readonly requireModules;
55
+ private readonly requirePaths;
56
+ private readonly importPaths;
57
+ private readonly numberOfWorkers;
58
+ private readonly logger;
59
+ private success;
60
+ private idleInterventions;
61
+ constructor({ cwd, logger, eventBroadcaster, eventDataCollector, pickleIds, options, newId, supportCodeLibrary, requireModules, requirePaths, importPaths, numberOfWorkers, }: INewCoordinatorOptions);
62
+ parseWorkerMessage(worker: IWorker, message: ICoordinatorReport): void;
63
+ awakenWorkers(triggeringWorker: IWorker): void;
64
+ startWorker(id: string, total: number): void;
65
+ onWorkerProcessClose(exitCode: number): void;
66
+ parseTestCaseResult(testCaseFinished: messages.TestCaseFinished): void;
67
+ start(): Promise<boolean>;
68
+ nextPicklePlacement(): IPicklePlacement;
69
+ placementAt(index: number): IPicklePlacement;
70
+ giveWork(worker: IWorker, force?: boolean): void;
71
+ }
72
+ export {};