@dev-blinq/cucumber-js 1.0.10 → 1.0.12

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