@dev-blinq/cucumber-js 1.0.11 → 1.0.14

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 (246) 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_analysis_formatter.d.ts +18 -0
  74. package/lib/formatter/bvt_analysis_formatter.js +207 -0
  75. package/lib/formatter/bvt_analysis_formatter.js.map +1 -0
  76. package/lib/formatter/bvt_formatter.d.ts +6 -9
  77. package/lib/formatter/bvt_formatter.js +24 -62
  78. package/lib/formatter/bvt_formatter.js.map +1 -1
  79. package/lib/formatter/feature_data_format.d.ts +14 -14
  80. package/lib/formatter/feature_data_format.js +80 -80
  81. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  82. package/lib/formatter/fixtures/typescript.js +5 -5
  83. package/lib/formatter/get_color_fns.d.ts +15 -15
  84. package/lib/formatter/get_color_fns.js +55 -55
  85. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  86. package/lib/formatter/helpers/duration_helpers.js +8 -8
  87. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  88. package/lib/formatter/helpers/event_data_collector.js +125 -125
  89. package/lib/formatter/helpers/formatters.d.ts +6 -6
  90. package/lib/formatter/helpers/formatters.js +46 -44
  91. package/lib/formatter/helpers/formatters.js.map +1 -1
  92. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  93. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  94. package/lib/formatter/helpers/index.d.ts +10 -10
  95. package/lib/formatter/helpers/index.js +51 -51
  96. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  97. package/lib/formatter/helpers/issue_helpers.js +58 -58
  98. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  99. package/lib/formatter/helpers/keyword_type.js +31 -31
  100. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  101. package/lib/formatter/helpers/location_helpers.js +16 -16
  102. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  103. package/lib/formatter/helpers/pickle_parser.js +27 -27
  104. package/lib/formatter/helpers/report_generator.d.ts +96 -91
  105. package/lib/formatter/helpers/report_generator.js +247 -247
  106. package/lib/formatter/helpers/report_generator.js.map +1 -1
  107. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  108. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  109. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  110. package/lib/formatter/helpers/summary_helpers.js +95 -95
  111. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  112. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  113. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  114. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  115. package/lib/formatter/helpers/upload_serivce.d.ts +9 -9
  116. package/lib/formatter/helpers/upload_serivce.js +46 -46
  117. package/lib/formatter/helpers/upload_serivce.js.map +1 -1
  118. package/lib/formatter/helpers/uploader.d.ts +8 -0
  119. package/lib/formatter/helpers/uploader.js +51 -0
  120. package/lib/formatter/helpers/uploader.js.map +1 -0
  121. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  122. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  123. package/lib/formatter/html_formatter.d.ts +7 -7
  124. package/lib/formatter/html_formatter.js +29 -29
  125. package/lib/formatter/index.d.ts +53 -53
  126. package/lib/formatter/index.js +20 -20
  127. package/lib/formatter/json_formatter.d.ts +78 -78
  128. package/lib/formatter/json_formatter.js +229 -229
  129. package/lib/formatter/junit_formatter.d.ts +17 -17
  130. package/lib/formatter/junit_formatter.js +180 -180
  131. package/lib/formatter/message_formatter.d.ts +5 -5
  132. package/lib/formatter/message_formatter.js +14 -14
  133. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  134. package/lib/formatter/progress_bar_formatter.js +98 -98
  135. package/lib/formatter/progress_formatter.d.ts +9 -9
  136. package/lib/formatter/progress_formatter.js +58 -58
  137. package/lib/formatter/rerun_formatter.d.ts +13 -13
  138. package/lib/formatter/rerun_formatter.js +79 -79
  139. package/lib/formatter/snippets_formatter.d.ts +6 -6
  140. package/lib/formatter/snippets_formatter.js +60 -60
  141. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  142. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  143. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  144. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  145. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  146. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  147. package/lib/formatter/summary_formatter.d.ts +14 -14
  148. package/lib/formatter/summary_formatter.js +67 -67
  149. package/lib/formatter/usage_formatter.d.ts +6 -6
  150. package/lib/formatter/usage_formatter.js +97 -97
  151. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  152. package/lib/formatter/usage_json_formatter.js +33 -33
  153. package/lib/index.d.ts +58 -58
  154. package/lib/index.js +108 -108
  155. package/lib/logger.d.ts +5 -5
  156. package/lib/logger.js +2 -2
  157. package/lib/models/data_table.d.ts +10 -10
  158. package/lib/models/data_table.js +45 -45
  159. package/lib/models/definition.d.ts +55 -55
  160. package/lib/models/definition.js +21 -21
  161. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  162. package/lib/models/gherkin_step_keyword.js +2 -2
  163. package/lib/models/pickle_order.d.ts +1 -1
  164. package/lib/models/pickle_order.js +2 -2
  165. package/lib/models/step_definition.d.ts +11 -11
  166. package/lib/models/step_definition.js +36 -36
  167. package/lib/models/test_case_hook_definition.d.ts +10 -10
  168. package/lib/models/test_case_hook_definition.js +26 -26
  169. package/lib/models/test_run_hook_definition.d.ts +3 -3
  170. package/lib/models/test_run_hook_definition.js +9 -9
  171. package/lib/models/test_step_hook_definition.d.ts +9 -9
  172. package/lib/models/test_step_hook_definition.js +25 -25
  173. package/lib/pickle_filter.d.ts +42 -42
  174. package/lib/pickle_filter.js +98 -98
  175. package/lib/plugin/index.d.ts +2 -2
  176. package/lib/plugin/index.js +18 -18
  177. package/lib/plugin/plugin_manager.d.ts +13 -13
  178. package/lib/plugin/plugin_manager.js +35 -35
  179. package/lib/plugin/types.d.ts +14 -14
  180. package/lib/plugin/types.js +2 -2
  181. package/lib/publish/http_stream.d.ts +30 -30
  182. package/lib/publish/http_stream.js +111 -111
  183. package/lib/publish/index.d.ts +2 -2
  184. package/lib/publish/index.js +4 -4
  185. package/lib/publish/publish_plugin.d.ts +2 -2
  186. package/lib/publish/publish_plugin.js +47 -47
  187. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  188. package/lib/runtime/assemble_test_cases.js +87 -87
  189. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  190. package/lib/runtime/attachment_manager/index.js +118 -118
  191. package/lib/runtime/format_error.d.ts +2 -2
  192. package/lib/runtime/format_error.js +35 -35
  193. package/lib/runtime/helpers.d.ts +6 -6
  194. package/lib/runtime/helpers.js +100 -100
  195. package/lib/runtime/index.d.ts +40 -40
  196. package/lib/runtime/index.js +75 -75
  197. package/lib/runtime/parallel/command_types.d.ts +32 -32
  198. package/lib/runtime/parallel/command_types.js +2 -2
  199. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  200. package/lib/runtime/parallel/coordinator.js +221 -221
  201. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  202. package/lib/runtime/parallel/run_worker.js +28 -28
  203. package/lib/runtime/parallel/worker.d.ts +26 -26
  204. package/lib/runtime/parallel/worker.js +86 -86
  205. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  206. package/lib/runtime/run_test_run_hooks.js +27 -27
  207. package/lib/runtime/step_runner.d.ts +16 -16
  208. package/lib/runtime/step_runner.js +87 -87
  209. package/lib/runtime/stopwatch.d.ts +12 -12
  210. package/lib/runtime/stopwatch.js +33 -33
  211. package/lib/runtime/test_case_runner.d.ts +54 -54
  212. package/lib/runtime/test_case_runner.js +267 -267
  213. package/lib/step_arguments.d.ts +6 -6
  214. package/lib/step_arguments.js +18 -18
  215. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  216. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  217. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  218. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  219. package/lib/support_code_library_builder/index.d.ts +74 -74
  220. package/lib/support_code_library_builder/index.js +296 -296
  221. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  222. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  223. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  224. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  225. package/lib/support_code_library_builder/types.d.ts +88 -88
  226. package/lib/support_code_library_builder/types.js +2 -2
  227. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  228. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  229. package/lib/support_code_library_builder/world.d.ts +18 -18
  230. package/lib/support_code_library_builder/world.js +10 -10
  231. package/lib/time.d.ts +18 -18
  232. package/lib/time.js +60 -60
  233. package/lib/try_require.d.ts +7 -7
  234. package/lib/try_require.js +22 -22
  235. package/lib/types/index.d.ts +4 -4
  236. package/lib/types/index.js +2 -2
  237. package/lib/uncaught_exception_manager.d.ts +7 -7
  238. package/lib/uncaught_exception_manager.js +11 -11
  239. package/lib/user_code_runner.d.ts +14 -14
  240. package/lib/user_code_runner.js +81 -81
  241. package/lib/value_checker.d.ts +3 -3
  242. package/lib/value_checker.js +18 -18
  243. package/lib/version.d.ts +1 -1
  244. package/lib/version.js +5 -5
  245. package/lib/version.js.map +1 -1
  246. package/package.json +3 -1
@@ -1,48 +1,48 @@
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.formatStepArgument = void 0;
7
- const cli_table3_1 = __importDefault(require("cli-table3"));
8
- const step_arguments_1 = require("../../step_arguments");
9
- function formatDataTable(dataTable) {
10
- const table = new cli_table3_1.default({
11
- chars: {
12
- bottom: '',
13
- 'bottom-left': '',
14
- 'bottom-mid': '',
15
- 'bottom-right': '',
16
- left: '|',
17
- 'left-mid': '',
18
- mid: '',
19
- 'mid-mid': '',
20
- middle: '|',
21
- right: '|',
22
- 'right-mid': '',
23
- top: '',
24
- 'top-left': '',
25
- 'top-mid': '',
26
- 'top-right': '',
27
- },
28
- style: {
29
- border: [],
30
- 'padding-left': 1,
31
- 'padding-right': 1,
32
- },
33
- });
34
- const rows = dataTable.rows.map((row) => row.cells.map((cell) => cell.value.replace(/\\/g, '\\\\').replace(/\n/g, '\\n')));
35
- table.push(...rows);
36
- return table.toString();
37
- }
38
- function formatDocString(docString) {
39
- return `"""\n${docString.content}\n"""`;
40
- }
41
- function formatStepArgument(arg) {
42
- return (0, step_arguments_1.parseStepArgument)(arg, {
43
- dataTable: formatDataTable,
44
- docString: formatDocString,
45
- });
46
- }
47
- exports.formatStepArgument = formatStepArgument;
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.formatStepArgument = void 0;
7
+ const cli_table3_1 = __importDefault(require("cli-table3"));
8
+ const step_arguments_1 = require("../../step_arguments");
9
+ function formatDataTable(dataTable) {
10
+ const table = new cli_table3_1.default({
11
+ chars: {
12
+ bottom: '',
13
+ 'bottom-left': '',
14
+ 'bottom-mid': '',
15
+ 'bottom-right': '',
16
+ left: '|',
17
+ 'left-mid': '',
18
+ mid: '',
19
+ 'mid-mid': '',
20
+ middle: '|',
21
+ right: '|',
22
+ 'right-mid': '',
23
+ top: '',
24
+ 'top-left': '',
25
+ 'top-mid': '',
26
+ 'top-right': '',
27
+ },
28
+ style: {
29
+ border: [],
30
+ 'padding-left': 1,
31
+ 'padding-right': 1,
32
+ },
33
+ });
34
+ const rows = dataTable.rows.map((row) => row.cells.map((cell) => cell.value.replace(/\\/g, '\\\\').replace(/\n/g, '\\n')));
35
+ table.push(...rows);
36
+ return table.toString();
37
+ }
38
+ function formatDocString(docString) {
39
+ return `"""\n${docString.content}\n"""`;
40
+ }
41
+ function formatStepArgument(arg) {
42
+ return (0, step_arguments_1.parseStepArgument)(arg, {
43
+ dataTable: formatDataTable,
44
+ docString: formatDocString,
45
+ });
46
+ }
47
+ exports.formatStepArgument = formatStepArgument;
48
48
  //# sourceMappingURL=step_argument_formatter.js.map
@@ -1,9 +1,9 @@
1
- import { IColorFns } from '../get_color_fns';
2
- import { ITestCaseAttempt } from './event_data_collector';
3
- import * as messages from '@cucumber/messages';
4
- export interface IFormatSummaryRequest {
5
- colorFns: IColorFns;
6
- testCaseAttempts: ITestCaseAttempt[];
7
- testRunDuration: messages.Duration;
8
- }
9
- export declare function formatSummary({ colorFns, testCaseAttempts, testRunDuration, }: IFormatSummaryRequest): string;
1
+ import { IColorFns } from '../get_color_fns';
2
+ import { ITestCaseAttempt } from './event_data_collector';
3
+ import * as messages from '@cucumber/messages';
4
+ export interface IFormatSummaryRequest {
5
+ colorFns: IColorFns;
6
+ testCaseAttempts: ITestCaseAttempt[];
7
+ testRunDuration: messages.Duration;
8
+ }
9
+ export declare function formatSummary({ colorFns, testCaseAttempts, testRunDuration, }: IFormatSummaryRequest): string;
@@ -1,96 +1,96 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.formatSummary = void 0;
27
- const messages = __importStar(require("@cucumber/messages"));
28
- const value_checker_1 = require("../../value_checker");
29
- const luxon_1 = require("luxon");
30
- const STATUS_REPORT_ORDER = [
31
- messages.TestStepResultStatus.FAILED,
32
- messages.TestStepResultStatus.AMBIGUOUS,
33
- messages.TestStepResultStatus.UNDEFINED,
34
- messages.TestStepResultStatus.PENDING,
35
- messages.TestStepResultStatus.SKIPPED,
36
- messages.TestStepResultStatus.PASSED,
37
- ];
38
- function formatSummary({ colorFns, testCaseAttempts, testRunDuration, }) {
39
- const testCaseResults = [];
40
- const testStepResults = [];
41
- let totalStepDuration = messages.TimeConversion.millisecondsToDuration(0);
42
- testCaseAttempts.forEach(({ testCase, willBeRetried, worstTestStepResult, stepResults }) => {
43
- Object.values(stepResults).forEach((stepResult) => {
44
- totalStepDuration = messages.TimeConversion.addDurations(totalStepDuration, stepResult.duration);
45
- });
46
- if (!willBeRetried) {
47
- testCaseResults.push(worstTestStepResult);
48
- testCase.testSteps.forEach((testStep) => {
49
- if ((0, value_checker_1.doesHaveValue)(testStep.pickleStepId)) {
50
- testStepResults.push(stepResults[testStep.id]);
51
- }
52
- });
53
- }
54
- });
55
- const scenarioSummary = getCountSummary({
56
- colorFns,
57
- objects: testCaseResults,
58
- type: 'scenario',
59
- });
60
- const stepSummary = getCountSummary({
61
- colorFns,
62
- objects: testStepResults,
63
- type: 'step',
64
- });
65
- const durationSummary = `${getDurationSummary(testRunDuration)} (executing steps: ${getDurationSummary(totalStepDuration)})\n`;
66
- return [scenarioSummary, stepSummary, durationSummary].join('\n');
67
- }
68
- exports.formatSummary = formatSummary;
69
- function getCountSummary({ colorFns, objects, type, }) {
70
- const counts = {};
71
- STATUS_REPORT_ORDER.forEach((x) => (counts[x] = 0));
72
- objects.forEach((x) => (counts[x.status] += 1));
73
- const total = Object.values(counts).reduce((acc, x) => acc + x, 0);
74
- let text = `${total.toString()} ${type}${total === 1 ? '' : 's'}`;
75
- if (total > 0) {
76
- const details = [];
77
- STATUS_REPORT_ORDER.forEach((status) => {
78
- if (counts[status] > 0) {
79
- details.push(colorFns.forStatus(status)(`${counts[status].toString()} ${status.toLowerCase()}`));
80
- }
81
- });
82
- text += ` (${details.join(', ')})`;
83
- }
84
- return text;
85
- }
86
- function getDurationSummary(durationMsg) {
87
- const start = new Date(0);
88
- const end = new Date(messages.TimeConversion.durationToMilliseconds(durationMsg));
89
- const duration = luxon_1.Interval.fromDateTimes(start, end).toDuration([
90
- 'minutes',
91
- 'seconds',
92
- 'milliseconds',
93
- ]);
94
- return duration.toFormat("m'm'ss.SSS's'");
95
- }
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.formatSummary = void 0;
27
+ const messages = __importStar(require("@cucumber/messages"));
28
+ const value_checker_1 = require("../../value_checker");
29
+ const luxon_1 = require("luxon");
30
+ const STATUS_REPORT_ORDER = [
31
+ messages.TestStepResultStatus.FAILED,
32
+ messages.TestStepResultStatus.AMBIGUOUS,
33
+ messages.TestStepResultStatus.UNDEFINED,
34
+ messages.TestStepResultStatus.PENDING,
35
+ messages.TestStepResultStatus.SKIPPED,
36
+ messages.TestStepResultStatus.PASSED,
37
+ ];
38
+ function formatSummary({ colorFns, testCaseAttempts, testRunDuration, }) {
39
+ const testCaseResults = [];
40
+ const testStepResults = [];
41
+ let totalStepDuration = messages.TimeConversion.millisecondsToDuration(0);
42
+ testCaseAttempts.forEach(({ testCase, willBeRetried, worstTestStepResult, stepResults }) => {
43
+ Object.values(stepResults).forEach((stepResult) => {
44
+ totalStepDuration = messages.TimeConversion.addDurations(totalStepDuration, stepResult.duration);
45
+ });
46
+ if (!willBeRetried) {
47
+ testCaseResults.push(worstTestStepResult);
48
+ testCase.testSteps.forEach((testStep) => {
49
+ if ((0, value_checker_1.doesHaveValue)(testStep.pickleStepId)) {
50
+ testStepResults.push(stepResults[testStep.id]);
51
+ }
52
+ });
53
+ }
54
+ });
55
+ const scenarioSummary = getCountSummary({
56
+ colorFns,
57
+ objects: testCaseResults,
58
+ type: 'scenario',
59
+ });
60
+ const stepSummary = getCountSummary({
61
+ colorFns,
62
+ objects: testStepResults,
63
+ type: 'step',
64
+ });
65
+ const durationSummary = `${getDurationSummary(testRunDuration)} (executing steps: ${getDurationSummary(totalStepDuration)})\n`;
66
+ return [scenarioSummary, stepSummary, durationSummary].join('\n');
67
+ }
68
+ exports.formatSummary = formatSummary;
69
+ function getCountSummary({ colorFns, objects, type, }) {
70
+ const counts = {};
71
+ STATUS_REPORT_ORDER.forEach((x) => (counts[x] = 0));
72
+ objects.forEach((x) => (counts[x.status] += 1));
73
+ const total = Object.values(counts).reduce((acc, x) => acc + x, 0);
74
+ let text = `${total.toString()} ${type}${total === 1 ? '' : 's'}`;
75
+ if (total > 0) {
76
+ const details = [];
77
+ STATUS_REPORT_ORDER.forEach((status) => {
78
+ if (counts[status] > 0) {
79
+ details.push(colorFns.forStatus(status)(`${counts[status].toString()} ${status.toLowerCase()}`));
80
+ }
81
+ });
82
+ text += ` (${details.join(', ')})`;
83
+ }
84
+ return text;
85
+ }
86
+ function getDurationSummary(durationMsg) {
87
+ const start = new Date(0);
88
+ const end = new Date(messages.TimeConversion.durationToMilliseconds(durationMsg));
89
+ const duration = luxon_1.Interval.fromDateTimes(start, end).toDuration([
90
+ 'minutes',
91
+ 'seconds',
92
+ 'milliseconds',
93
+ ]);
94
+ return duration.toFormat("m'm'ss.SSS's'");
95
+ }
96
96
  //# sourceMappingURL=summary_helpers.js.map
@@ -1,12 +1,12 @@
1
- import { IColorFns } from '../get_color_fns';
2
- import { ITestCaseAttempt } from './event_data_collector';
3
- import StepDefinitionSnippetBuilder from '../step_definition_snippet_builder';
4
- import { ISupportCodeLibrary } from '../../support_code_library_builder/types';
5
- export interface IFormatTestCaseAttemptRequest {
6
- colorFns: IColorFns;
7
- testCaseAttempt: ITestCaseAttempt;
8
- snippetBuilder: StepDefinitionSnippetBuilder;
9
- supportCodeLibrary: ISupportCodeLibrary;
10
- printAttachments?: boolean;
11
- }
12
- export declare function formatTestCaseAttempt({ colorFns, snippetBuilder, supportCodeLibrary, testCaseAttempt, printAttachments, }: IFormatTestCaseAttemptRequest): string;
1
+ import { IColorFns } from '../get_color_fns';
2
+ import { ITestCaseAttempt } from './event_data_collector';
3
+ import StepDefinitionSnippetBuilder from '../step_definition_snippet_builder';
4
+ import { ISupportCodeLibrary } from '../../support_code_library_builder/types';
5
+ export interface IFormatTestCaseAttemptRequest {
6
+ colorFns: IColorFns;
7
+ testCaseAttempt: ITestCaseAttempt;
8
+ snippetBuilder: StepDefinitionSnippetBuilder;
9
+ supportCodeLibrary: ISupportCodeLibrary;
10
+ printAttachments?: boolean;
11
+ }
12
+ export declare function formatTestCaseAttempt({ colorFns, snippetBuilder, supportCodeLibrary, testCaseAttempt, printAttachments, }: IFormatTestCaseAttemptRequest): string;
@@ -1,114 +1,114 @@
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.formatTestCaseAttempt = void 0;
30
- const indent_string_1 = __importDefault(require("indent-string"));
31
- const messages = __importStar(require("@cucumber/messages"));
32
- const figures_1 = __importDefault(require("figures"));
33
- const location_helpers_1 = require("./location_helpers");
34
- const test_case_attempt_parser_1 = require("./test_case_attempt_parser");
35
- const step_argument_formatter_1 = require("./step_argument_formatter");
36
- const value_checker_1 = require("../../value_checker");
37
- const CHARACTERS = new Map([
38
- [messages.TestStepResultStatus.AMBIGUOUS, figures_1.default.cross],
39
- [messages.TestStepResultStatus.FAILED, figures_1.default.cross],
40
- [messages.TestStepResultStatus.PASSED, figures_1.default.tick],
41
- [messages.TestStepResultStatus.PENDING, '?'],
42
- [messages.TestStepResultStatus.SKIPPED, '-'],
43
- [messages.TestStepResultStatus.UNDEFINED, '?'],
44
- ]);
45
- function getStepMessage(testStep) {
46
- switch (testStep.result.status) {
47
- case messages.TestStepResultStatus.AMBIGUOUS:
48
- case messages.TestStepResultStatus.FAILED:
49
- return testStep.result.message;
50
- case messages.TestStepResultStatus.UNDEFINED:
51
- return `${'Undefined. Implement with the following snippet:' + '\n\n'}${(0, indent_string_1.default)(testStep.snippet, 2)}\n`;
52
- case messages.TestStepResultStatus.PENDING:
53
- return 'Pending';
54
- }
55
- return '';
56
- }
57
- function formatStep({ colorFns, testStep, printAttachments, }) {
58
- const { name, result: { status }, actionLocation, attachments, } = testStep;
59
- const colorFn = colorFns.forStatus(status);
60
- const identifier = testStep.keyword + (0, value_checker_1.valueOrDefault)(testStep.text, '');
61
- let text = colorFn(`${CHARACTERS.get(status)} ${identifier}`);
62
- if ((0, value_checker_1.doesHaveValue)(name)) {
63
- text += colorFn(` (${name})`);
64
- }
65
- if ((0, value_checker_1.doesHaveValue)(actionLocation)) {
66
- text += ` # ${colorFns.location((0, location_helpers_1.formatLocation)(actionLocation))}`;
67
- }
68
- text += '\n';
69
- if ((0, value_checker_1.doesHaveValue)(testStep.argument)) {
70
- const argumentsText = (0, step_argument_formatter_1.formatStepArgument)(testStep.argument);
71
- text += (0, indent_string_1.default)(`${colorFn(argumentsText)}\n`, 4);
72
- }
73
- if ((0, value_checker_1.valueOrDefault)(printAttachments, true)) {
74
- attachments.forEach(({ body, mediaType, fileName }) => {
75
- let message = '';
76
- if (mediaType === 'text/plain') {
77
- message = `: ${body}`;
78
- }
79
- else if (fileName) {
80
- message = `: ${fileName}`;
81
- }
82
- text += (0, indent_string_1.default)(`Attachment (${mediaType})${message}\n`, 4);
83
- });
84
- }
85
- const message = getStepMessage(testStep);
86
- if (message !== '') {
87
- text += `${(0, indent_string_1.default)(colorFn(message), 4)}\n`;
88
- }
89
- return text;
90
- }
91
- function formatTestCaseAttempt({ colorFns, snippetBuilder, supportCodeLibrary, testCaseAttempt, printAttachments, }) {
92
- const parsed = (0, test_case_attempt_parser_1.parseTestCaseAttempt)({
93
- snippetBuilder,
94
- testCaseAttempt,
95
- supportCodeLibrary,
96
- });
97
- let text = `Scenario: ${parsed.testCase.name}`;
98
- text += getAttemptText(parsed.testCase.attempt, testCaseAttempt.willBeRetried);
99
- text += ` # ${colorFns.location((0, location_helpers_1.formatLocation)(parsed.testCase.sourceLocation))}\n`;
100
- parsed.testSteps.forEach((testStep) => {
101
- text += formatStep({ colorFns, testStep, printAttachments });
102
- });
103
- return `${text}\n`;
104
- }
105
- exports.formatTestCaseAttempt = formatTestCaseAttempt;
106
- function getAttemptText(attempt, willBeRetried) {
107
- if (attempt > 0 || willBeRetried) {
108
- const numberStr = (attempt + 1).toString();
109
- const retriedStr = willBeRetried ? ', retried' : '';
110
- return ` (attempt ${numberStr}${retriedStr})`;
111
- }
112
- return '';
113
- }
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.formatTestCaseAttempt = void 0;
30
+ const indent_string_1 = __importDefault(require("indent-string"));
31
+ const messages = __importStar(require("@cucumber/messages"));
32
+ const figures_1 = __importDefault(require("figures"));
33
+ const location_helpers_1 = require("./location_helpers");
34
+ const test_case_attempt_parser_1 = require("./test_case_attempt_parser");
35
+ const step_argument_formatter_1 = require("./step_argument_formatter");
36
+ const value_checker_1 = require("../../value_checker");
37
+ const CHARACTERS = new Map([
38
+ [messages.TestStepResultStatus.AMBIGUOUS, figures_1.default.cross],
39
+ [messages.TestStepResultStatus.FAILED, figures_1.default.cross],
40
+ [messages.TestStepResultStatus.PASSED, figures_1.default.tick],
41
+ [messages.TestStepResultStatus.PENDING, '?'],
42
+ [messages.TestStepResultStatus.SKIPPED, '-'],
43
+ [messages.TestStepResultStatus.UNDEFINED, '?'],
44
+ ]);
45
+ function getStepMessage(testStep) {
46
+ switch (testStep.result.status) {
47
+ case messages.TestStepResultStatus.AMBIGUOUS:
48
+ case messages.TestStepResultStatus.FAILED:
49
+ return testStep.result.message;
50
+ case messages.TestStepResultStatus.UNDEFINED:
51
+ return `${'Undefined. Implement with the following snippet:' + '\n\n'}${(0, indent_string_1.default)(testStep.snippet, 2)}\n`;
52
+ case messages.TestStepResultStatus.PENDING:
53
+ return 'Pending';
54
+ }
55
+ return '';
56
+ }
57
+ function formatStep({ colorFns, testStep, printAttachments, }) {
58
+ const { name, result: { status }, actionLocation, attachments, } = testStep;
59
+ const colorFn = colorFns.forStatus(status);
60
+ const identifier = testStep.keyword + (0, value_checker_1.valueOrDefault)(testStep.text, '');
61
+ let text = colorFn(`${CHARACTERS.get(status)} ${identifier}`);
62
+ if ((0, value_checker_1.doesHaveValue)(name)) {
63
+ text += colorFn(` (${name})`);
64
+ }
65
+ if ((0, value_checker_1.doesHaveValue)(actionLocation)) {
66
+ text += ` # ${colorFns.location((0, location_helpers_1.formatLocation)(actionLocation))}`;
67
+ }
68
+ text += '\n';
69
+ if ((0, value_checker_1.doesHaveValue)(testStep.argument)) {
70
+ const argumentsText = (0, step_argument_formatter_1.formatStepArgument)(testStep.argument);
71
+ text += (0, indent_string_1.default)(`${colorFn(argumentsText)}\n`, 4);
72
+ }
73
+ if ((0, value_checker_1.valueOrDefault)(printAttachments, true)) {
74
+ attachments.forEach(({ body, mediaType, fileName }) => {
75
+ let message = '';
76
+ if (mediaType === 'text/plain') {
77
+ message = `: ${body}`;
78
+ }
79
+ else if (fileName) {
80
+ message = `: ${fileName}`;
81
+ }
82
+ text += (0, indent_string_1.default)(`Attachment (${mediaType})${message}\n`, 4);
83
+ });
84
+ }
85
+ const message = getStepMessage(testStep);
86
+ if (message !== '') {
87
+ text += `${(0, indent_string_1.default)(colorFn(message), 4)}\n`;
88
+ }
89
+ return text;
90
+ }
91
+ function formatTestCaseAttempt({ colorFns, snippetBuilder, supportCodeLibrary, testCaseAttempt, printAttachments, }) {
92
+ const parsed = (0, test_case_attempt_parser_1.parseTestCaseAttempt)({
93
+ snippetBuilder,
94
+ testCaseAttempt,
95
+ supportCodeLibrary,
96
+ });
97
+ let text = `Scenario: ${parsed.testCase.name}`;
98
+ text += getAttemptText(parsed.testCase.attempt, testCaseAttempt.willBeRetried);
99
+ text += ` # ${colorFns.location((0, location_helpers_1.formatLocation)(parsed.testCase.sourceLocation))}\n`;
100
+ parsed.testSteps.forEach((testStep) => {
101
+ text += formatStep({ colorFns, testStep, printAttachments });
102
+ });
103
+ return `${text}\n`;
104
+ }
105
+ exports.formatTestCaseAttempt = formatTestCaseAttempt;
106
+ function getAttemptText(attempt, willBeRetried) {
107
+ if (attempt > 0 || willBeRetried) {
108
+ const numberStr = (attempt + 1).toString();
109
+ const retriedStr = willBeRetried ? ', retried' : '';
110
+ return ` (attempt ${numberStr}${retriedStr})`;
111
+ }
112
+ return '';
113
+ }
114
114
  //# sourceMappingURL=test_case_attempt_formatter.js.map
@@ -1,32 +1,32 @@
1
- import * as messages from '@cucumber/messages';
2
- import { ITestCaseAttempt } from './event_data_collector';
3
- import StepDefinitionSnippetBuilder from '../step_definition_snippet_builder';
4
- import { ISupportCodeLibrary } from '../../support_code_library_builder/types';
5
- import { ILineAndUri } from '../../types';
6
- export interface IParsedTestStep {
7
- actionLocation?: ILineAndUri;
8
- argument?: messages.PickleStepArgument;
9
- attachments: messages.Attachment[];
10
- keyword: string;
11
- name?: string;
12
- result: messages.TestStepResult;
13
- snippet?: string;
14
- sourceLocation?: ILineAndUri;
15
- text?: string;
16
- }
17
- export interface IParsedTestCase {
18
- attempt: number;
19
- name: string;
20
- sourceLocation?: ILineAndUri;
21
- worstTestStepResult: messages.TestStepResult;
22
- }
23
- export interface IParsedTestCaseAttempt {
24
- testCase: IParsedTestCase;
25
- testSteps: IParsedTestStep[];
26
- }
27
- export interface IParseTestCaseAttemptRequest {
28
- testCaseAttempt: ITestCaseAttempt;
29
- snippetBuilder: StepDefinitionSnippetBuilder;
30
- supportCodeLibrary: ISupportCodeLibrary;
31
- }
32
- export declare function parseTestCaseAttempt({ testCaseAttempt, snippetBuilder, supportCodeLibrary, }: IParseTestCaseAttemptRequest): IParsedTestCaseAttempt;
1
+ import * as messages from '@cucumber/messages';
2
+ import { ITestCaseAttempt } from './event_data_collector';
3
+ import StepDefinitionSnippetBuilder from '../step_definition_snippet_builder';
4
+ import { ISupportCodeLibrary } from '../../support_code_library_builder/types';
5
+ import { ILineAndUri } from '../../types';
6
+ export interface IParsedTestStep {
7
+ actionLocation?: ILineAndUri;
8
+ argument?: messages.PickleStepArgument;
9
+ attachments: messages.Attachment[];
10
+ keyword: string;
11
+ name?: string;
12
+ result: messages.TestStepResult;
13
+ snippet?: string;
14
+ sourceLocation?: ILineAndUri;
15
+ text?: string;
16
+ }
17
+ export interface IParsedTestCase {
18
+ attempt: number;
19
+ name: string;
20
+ sourceLocation?: ILineAndUri;
21
+ worstTestStepResult: messages.TestStepResult;
22
+ }
23
+ export interface IParsedTestCaseAttempt {
24
+ testCase: IParsedTestCase;
25
+ testSteps: IParsedTestStep[];
26
+ }
27
+ export interface IParseTestCaseAttemptRequest {
28
+ testCaseAttempt: ITestCaseAttempt;
29
+ snippetBuilder: StepDefinitionSnippetBuilder;
30
+ supportCodeLibrary: ISupportCodeLibrary;
31
+ }
32
+ export declare function parseTestCaseAttempt({ testCaseAttempt, snippetBuilder, supportCodeLibrary, }: IParseTestCaseAttemptRequest): IParsedTestCaseAttempt;