@dev-blinq/cucumber-js 1.0.36 → 1.0.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/bin/cucumber-js +0 -0
  2. package/bin/cucumber.js +0 -0
  3. package/lib/api/console_logger.d.ts +12 -12
  4. package/lib/api/console_logger.js +23 -23
  5. package/lib/api/convert_configuration.d.ts +4 -4
  6. package/lib/api/convert_configuration.js +64 -65
  7. package/lib/api/convert_configuration.js.map +1 -1
  8. package/lib/api/environment.d.ts +2 -2
  9. package/lib/api/environment.js +13 -13
  10. package/lib/api/formatters.d.ts +20 -20
  11. package/lib/api/formatters.js +60 -60
  12. package/lib/api/gherkin.d.ts +21 -21
  13. package/lib/api/gherkin.js +99 -99
  14. package/lib/api/index.d.ts +12 -12
  15. package/lib/api/index.js +27 -27
  16. package/lib/api/load_configuration.d.ts +9 -9
  17. package/lib/api/load_configuration.js +40 -40
  18. package/lib/api/load_sources.d.ts +9 -9
  19. package/lib/api/load_sources.js +52 -52
  20. package/lib/api/load_support.d.ts +10 -10
  21. package/lib/api/load_support.js +29 -29
  22. package/lib/api/paths.d.ts +8 -8
  23. package/lib/api/paths.js +101 -101
  24. package/lib/api/plugins.d.ts +4 -4
  25. package/lib/api/plugins.js +18 -18
  26. package/lib/api/run_cucumber.d.ts +11 -11
  27. package/lib/api/run_cucumber.js +114 -114
  28. package/lib/api/run_cucumber.js.map +1 -1
  29. package/lib/api/runtime.d.ts +21 -21
  30. package/lib/api/runtime.js +35 -35
  31. package/lib/api/support.d.ts +9 -9
  32. package/lib/api/support.js +25 -25
  33. package/lib/api/test_helpers.d.ts +3 -3
  34. package/lib/api/test_helpers.js +30 -30
  35. package/lib/api/types.d.ts +175 -177
  36. package/lib/api/types.js +2 -2
  37. package/lib/api/types.js.map +1 -1
  38. package/lib/cli/helpers.d.ts +37 -39
  39. package/lib/cli/helpers.js +202 -223
  40. package/lib/cli/helpers.js.map +1 -1
  41. package/lib/cli/i18n.d.ts +2 -2
  42. package/lib/cli/i18n.js +69 -69
  43. package/lib/cli/index.d.ts +21 -21
  44. package/lib/cli/index.js +58 -63
  45. package/lib/cli/index.js.map +1 -1
  46. package/lib/cli/install_validator.d.ts +1 -1
  47. package/lib/cli/install_validator.js +13 -13
  48. package/lib/cli/run.d.ts +1 -1
  49. package/lib/cli/run.js +43 -43
  50. package/lib/cli/validate_node_engine_version.d.ts +10 -10
  51. package/lib/cli/validate_node_engine_version.js +23 -23
  52. package/lib/configuration/argv_parser.d.ts +20 -20
  53. package/lib/configuration/argv_parser.js +100 -102
  54. package/lib/configuration/argv_parser.js.map +1 -1
  55. package/lib/configuration/check_schema.d.ts +2 -2
  56. package/lib/configuration/check_schema.js +59 -59
  57. package/lib/configuration/default_configuration.d.ts +2 -2
  58. package/lib/configuration/default_configuration.js +26 -28
  59. package/lib/configuration/default_configuration.js.map +1 -1
  60. package/lib/configuration/from_file.d.ts +3 -3
  61. package/lib/configuration/from_file.js +84 -84
  62. package/lib/configuration/helpers.d.ts +1 -1
  63. package/lib/configuration/helpers.js +10 -10
  64. package/lib/configuration/index.d.ts +7 -7
  65. package/lib/configuration/index.js +28 -28
  66. package/lib/configuration/locate_file.d.ts +1 -1
  67. package/lib/configuration/locate_file.js +20 -20
  68. package/lib/configuration/merge_configurations.d.ts +2 -2
  69. package/lib/configuration/merge_configurations.js +47 -47
  70. package/lib/configuration/option_splitter.d.ts +3 -3
  71. package/lib/configuration/option_splitter.js +22 -22
  72. package/lib/configuration/types.d.ts +28 -30
  73. package/lib/configuration/types.js +2 -2
  74. package/lib/configuration/types.js.map +1 -1
  75. package/lib/configuration/validate_configuration.d.ts +3 -3
  76. package/lib/configuration/validate_configuration.js +12 -12
  77. package/lib/filter_stack_trace.d.ts +3 -3
  78. package/lib/filter_stack_trace.js +37 -37
  79. package/lib/formatter/builder.d.ts +37 -37
  80. package/lib/formatter/builder.js +100 -100
  81. package/lib/formatter/bvt_formatter.d.ts +9 -0
  82. package/lib/formatter/{helpers/uploader.js → bvt_formatter.js} +62 -57
  83. package/lib/formatter/bvt_formatter.js.map +1 -0
  84. package/lib/formatter/feature_data_format.d.ts +14 -14
  85. package/lib/formatter/feature_data_format.js +80 -80
  86. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  87. package/lib/formatter/fixtures/typescript.js +5 -5
  88. package/lib/formatter/get_color_fns.d.ts +15 -15
  89. package/lib/formatter/get_color_fns.js +55 -55
  90. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  91. package/lib/formatter/helpers/duration_helpers.js +8 -8
  92. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  93. package/lib/formatter/helpers/event_data_collector.js +125 -125
  94. package/lib/formatter/helpers/formatters.d.ts +6 -6
  95. package/lib/formatter/helpers/formatters.js +44 -44
  96. package/lib/formatter/helpers/formatters.js.map +1 -1
  97. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  98. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  99. package/lib/formatter/helpers/index.d.ts +10 -10
  100. package/lib/formatter/helpers/index.js +51 -51
  101. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  102. package/lib/formatter/helpers/issue_helpers.js +58 -58
  103. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  104. package/lib/formatter/helpers/keyword_type.js +31 -31
  105. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  106. package/lib/formatter/helpers/location_helpers.js +16 -16
  107. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  108. package/lib/formatter/helpers/pickle_parser.js +27 -27
  109. package/lib/formatter/helpers/report_generator.d.ts +95 -103
  110. package/lib/formatter/helpers/report_generator.js +310 -247
  111. package/lib/formatter/helpers/report_generator.js.map +1 -1
  112. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  113. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  114. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  115. package/lib/formatter/helpers/summary_helpers.js +95 -95
  116. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  117. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  118. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  119. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  120. package/lib/formatter/helpers/upload_serivce.d.ts +9 -9
  121. package/lib/formatter/helpers/upload_serivce.js +46 -46
  122. package/lib/formatter/helpers/upload_serivce.js.map +1 -1
  123. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  124. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  125. package/lib/formatter/html_formatter.d.ts +7 -7
  126. package/lib/formatter/html_formatter.js +29 -29
  127. package/lib/formatter/index.d.ts +53 -53
  128. package/lib/formatter/index.js +20 -20
  129. package/lib/formatter/json_formatter.d.ts +78 -78
  130. package/lib/formatter/json_formatter.js +229 -229
  131. package/lib/formatter/junit_formatter.d.ts +17 -17
  132. package/lib/formatter/junit_formatter.js +180 -180
  133. package/lib/formatter/message_formatter.d.ts +5 -5
  134. package/lib/formatter/message_formatter.js +14 -14
  135. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  136. package/lib/formatter/progress_bar_formatter.js +98 -98
  137. package/lib/formatter/progress_formatter.d.ts +9 -9
  138. package/lib/formatter/progress_formatter.js +58 -58
  139. package/lib/formatter/rerun_formatter.d.ts +13 -13
  140. package/lib/formatter/rerun_formatter.js +79 -79
  141. package/lib/formatter/snippets_formatter.d.ts +6 -6
  142. package/lib/formatter/snippets_formatter.js +60 -60
  143. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  144. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  145. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  146. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  147. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  148. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  149. package/lib/formatter/summary_formatter.d.ts +14 -14
  150. package/lib/formatter/summary_formatter.js +67 -67
  151. package/lib/formatter/usage_formatter.d.ts +6 -6
  152. package/lib/formatter/usage_formatter.js +97 -97
  153. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  154. package/lib/formatter/usage_json_formatter.js +33 -33
  155. package/lib/index.d.ts +58 -58
  156. package/lib/index.js +108 -108
  157. package/lib/logger.d.ts +5 -5
  158. package/lib/logger.js +2 -2
  159. package/lib/models/data_table.d.ts +10 -10
  160. package/lib/models/data_table.js +45 -45
  161. package/lib/models/definition.d.ts +55 -55
  162. package/lib/models/definition.js +21 -21
  163. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  164. package/lib/models/gherkin_step_keyword.js +2 -2
  165. package/lib/models/pickle_order.d.ts +1 -1
  166. package/lib/models/pickle_order.js +2 -2
  167. package/lib/models/step_definition.d.ts +11 -11
  168. package/lib/models/step_definition.js +36 -36
  169. package/lib/models/test_case_hook_definition.d.ts +10 -10
  170. package/lib/models/test_case_hook_definition.js +26 -26
  171. package/lib/models/test_run_hook_definition.d.ts +3 -3
  172. package/lib/models/test_run_hook_definition.js +9 -9
  173. package/lib/models/test_step_hook_definition.d.ts +9 -9
  174. package/lib/models/test_step_hook_definition.js +25 -25
  175. package/lib/pickle_filter.d.ts +42 -42
  176. package/lib/pickle_filter.js +98 -98
  177. package/lib/plugin/index.d.ts +2 -2
  178. package/lib/plugin/index.js +18 -18
  179. package/lib/plugin/plugin_manager.d.ts +13 -13
  180. package/lib/plugin/plugin_manager.js +35 -35
  181. package/lib/plugin/types.d.ts +14 -14
  182. package/lib/plugin/types.js +2 -2
  183. package/lib/publish/http_stream.d.ts +30 -30
  184. package/lib/publish/http_stream.js +111 -111
  185. package/lib/publish/index.d.ts +2 -2
  186. package/lib/publish/index.js +4 -4
  187. package/lib/publish/publish_plugin.d.ts +2 -2
  188. package/lib/publish/publish_plugin.js +47 -47
  189. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  190. package/lib/runtime/assemble_test_cases.js +87 -87
  191. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  192. package/lib/runtime/attachment_manager/index.js +118 -118
  193. package/lib/runtime/format_error.d.ts +2 -2
  194. package/lib/runtime/format_error.js +35 -35
  195. package/lib/runtime/helpers.d.ts +6 -6
  196. package/lib/runtime/helpers.js +100 -100
  197. package/lib/runtime/index.d.ts +40 -40
  198. package/lib/runtime/index.js +75 -75
  199. package/lib/runtime/parallel/command_types.d.ts +32 -32
  200. package/lib/runtime/parallel/command_types.js +2 -2
  201. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  202. package/lib/runtime/parallel/coordinator.js +221 -221
  203. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  204. package/lib/runtime/parallel/run_worker.js +28 -28
  205. package/lib/runtime/parallel/worker.d.ts +26 -26
  206. package/lib/runtime/parallel/worker.js +86 -86
  207. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  208. package/lib/runtime/run_test_run_hooks.js +27 -27
  209. package/lib/runtime/step_runner.d.ts +16 -16
  210. package/lib/runtime/step_runner.js +87 -87
  211. package/lib/runtime/stopwatch.d.ts +12 -12
  212. package/lib/runtime/stopwatch.js +33 -33
  213. package/lib/runtime/test_case_runner.d.ts +54 -54
  214. package/lib/runtime/test_case_runner.js +267 -267
  215. package/lib/step_arguments.d.ts +6 -6
  216. package/lib/step_arguments.js +18 -18
  217. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  218. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  219. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  220. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  221. package/lib/support_code_library_builder/index.d.ts +74 -74
  222. package/lib/support_code_library_builder/index.js +296 -296
  223. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  224. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  225. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  226. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  227. package/lib/support_code_library_builder/types.d.ts +88 -88
  228. package/lib/support_code_library_builder/types.js +2 -2
  229. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  230. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  231. package/lib/support_code_library_builder/world.d.ts +18 -18
  232. package/lib/support_code_library_builder/world.js +10 -10
  233. package/lib/time.d.ts +18 -18
  234. package/lib/time.js +60 -60
  235. package/lib/try_require.d.ts +7 -7
  236. package/lib/try_require.js +22 -22
  237. package/lib/types/index.d.ts +4 -4
  238. package/lib/types/index.js +2 -2
  239. package/lib/uncaught_exception_manager.d.ts +7 -7
  240. package/lib/uncaught_exception_manager.js +11 -11
  241. package/lib/user_code_runner.d.ts +14 -14
  242. package/lib/user_code_runner.js +81 -81
  243. package/lib/value_checker.d.ts +3 -3
  244. package/lib/value_checker.js +18 -18
  245. package/lib/version.d.ts +1 -1
  246. package/lib/version.js +5 -5
  247. package/lib/version.js.map +1 -1
  248. package/package.json +2 -4
  249. package/bin/download-install.js +0 -126
  250. package/lib/formatter/bvt_analysis_formatter.d.ts +0 -18
  251. package/lib/formatter/bvt_analysis_formatter.js +0 -193
  252. package/lib/formatter/bvt_analysis_formatter.js.map +0 -1
  253. package/lib/formatter/helpers/uploader.d.ts +0 -11
  254. package/lib/formatter/helpers/uploader.js.map +0 -1
@@ -1,88 +1,88 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assembleTestCases = void 0;
4
- const value_checker_1 = require("../value_checker");
5
- async function assembleTestCases({ eventBroadcaster, newId, pickles, supportCodeLibrary, }) {
6
- const result = {};
7
- for (const pickle of pickles) {
8
- const { id: pickleId } = pickle;
9
- const testCaseId = newId();
10
- const fromBeforeHooks = makeBeforeHookSteps({
11
- supportCodeLibrary,
12
- pickle,
13
- newId,
14
- });
15
- const fromStepDefinitions = makeSteps({
16
- pickle,
17
- supportCodeLibrary,
18
- newId,
19
- });
20
- const fromAfterHooks = makeAfterHookSteps({
21
- supportCodeLibrary,
22
- pickle,
23
- newId,
24
- });
25
- const testCase = {
26
- pickleId,
27
- id: testCaseId,
28
- testSteps: [
29
- ...fromBeforeHooks,
30
- ...fromStepDefinitions,
31
- ...fromAfterHooks,
32
- ],
33
- };
34
- eventBroadcaster.emit('envelope', { testCase });
35
- result[pickleId] = testCase;
36
- }
37
- return result;
38
- }
39
- exports.assembleTestCases = assembleTestCases;
40
- function makeAfterHookSteps({ supportCodeLibrary, pickle, newId, }) {
41
- return supportCodeLibrary.afterTestCaseHookDefinitions
42
- .slice(0)
43
- .reverse()
44
- .filter((hookDefinition) => hookDefinition.appliesToTestCase(pickle))
45
- .map((hookDefinition) => ({
46
- id: newId(),
47
- hookId: hookDefinition.id,
48
- }));
49
- }
50
- function makeBeforeHookSteps({ supportCodeLibrary, pickle, newId, }) {
51
- return supportCodeLibrary.beforeTestCaseHookDefinitions
52
- .filter((hookDefinition) => hookDefinition.appliesToTestCase(pickle))
53
- .map((hookDefinition) => ({
54
- id: newId(),
55
- hookId: hookDefinition.id,
56
- }));
57
- }
58
- function makeSteps({ pickle, supportCodeLibrary, newId, }) {
59
- return pickle.steps.map((pickleStep) => {
60
- const stepDefinitions = supportCodeLibrary.stepDefinitions.filter((stepDefinition) => stepDefinition.matchesStepName(pickleStep.text));
61
- return {
62
- id: newId(),
63
- pickleStepId: pickleStep.id,
64
- stepDefinitionIds: stepDefinitions.map((stepDefinition) => stepDefinition.id),
65
- stepMatchArgumentsLists: stepDefinitions.map((stepDefinition) => {
66
- const result = stepDefinition.expression.match(pickleStep.text);
67
- return {
68
- stepMatchArguments: result.map((arg) => {
69
- return {
70
- group: mapArgumentGroup(arg.group),
71
- parameterTypeName: arg.parameterType.name,
72
- };
73
- }),
74
- };
75
- }),
76
- };
77
- });
78
- }
79
- function mapArgumentGroup(group) {
80
- return {
81
- start: group.start,
82
- value: group.value,
83
- children: (0, value_checker_1.doesHaveValue)(group.children)
84
- ? group.children.map((child) => mapArgumentGroup(child))
85
- : undefined,
86
- };
87
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assembleTestCases = void 0;
4
+ const value_checker_1 = require("../value_checker");
5
+ async function assembleTestCases({ eventBroadcaster, newId, pickles, supportCodeLibrary, }) {
6
+ const result = {};
7
+ for (const pickle of pickles) {
8
+ const { id: pickleId } = pickle;
9
+ const testCaseId = newId();
10
+ const fromBeforeHooks = makeBeforeHookSteps({
11
+ supportCodeLibrary,
12
+ pickle,
13
+ newId,
14
+ });
15
+ const fromStepDefinitions = makeSteps({
16
+ pickle,
17
+ supportCodeLibrary,
18
+ newId,
19
+ });
20
+ const fromAfterHooks = makeAfterHookSteps({
21
+ supportCodeLibrary,
22
+ pickle,
23
+ newId,
24
+ });
25
+ const testCase = {
26
+ pickleId,
27
+ id: testCaseId,
28
+ testSteps: [
29
+ ...fromBeforeHooks,
30
+ ...fromStepDefinitions,
31
+ ...fromAfterHooks,
32
+ ],
33
+ };
34
+ eventBroadcaster.emit('envelope', { testCase });
35
+ result[pickleId] = testCase;
36
+ }
37
+ return result;
38
+ }
39
+ exports.assembleTestCases = assembleTestCases;
40
+ function makeAfterHookSteps({ supportCodeLibrary, pickle, newId, }) {
41
+ return supportCodeLibrary.afterTestCaseHookDefinitions
42
+ .slice(0)
43
+ .reverse()
44
+ .filter((hookDefinition) => hookDefinition.appliesToTestCase(pickle))
45
+ .map((hookDefinition) => ({
46
+ id: newId(),
47
+ hookId: hookDefinition.id,
48
+ }));
49
+ }
50
+ function makeBeforeHookSteps({ supportCodeLibrary, pickle, newId, }) {
51
+ return supportCodeLibrary.beforeTestCaseHookDefinitions
52
+ .filter((hookDefinition) => hookDefinition.appliesToTestCase(pickle))
53
+ .map((hookDefinition) => ({
54
+ id: newId(),
55
+ hookId: hookDefinition.id,
56
+ }));
57
+ }
58
+ function makeSteps({ pickle, supportCodeLibrary, newId, }) {
59
+ return pickle.steps.map((pickleStep) => {
60
+ const stepDefinitions = supportCodeLibrary.stepDefinitions.filter((stepDefinition) => stepDefinition.matchesStepName(pickleStep.text));
61
+ return {
62
+ id: newId(),
63
+ pickleStepId: pickleStep.id,
64
+ stepDefinitionIds: stepDefinitions.map((stepDefinition) => stepDefinition.id),
65
+ stepMatchArgumentsLists: stepDefinitions.map((stepDefinition) => {
66
+ const result = stepDefinition.expression.match(pickleStep.text);
67
+ return {
68
+ stepMatchArguments: result.map((arg) => {
69
+ return {
70
+ group: mapArgumentGroup(arg.group),
71
+ parameterTypeName: arg.parameterType.name,
72
+ };
73
+ }),
74
+ };
75
+ }),
76
+ };
77
+ });
78
+ }
79
+ function mapArgumentGroup(group) {
80
+ return {
81
+ start: group.start,
82
+ value: group.value,
83
+ children: (0, value_checker_1.doesHaveValue)(group.children)
84
+ ? group.children.map((child) => mapArgumentGroup(child))
85
+ : undefined,
86
+ };
87
+ }
88
88
  //# sourceMappingURL=assemble_test_cases.js.map
@@ -1,33 +1,33 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { Readable } from 'stream';
4
- import * as messages from '@cucumber/messages';
5
- export interface IAttachmentMedia {
6
- encoding: messages.AttachmentContentEncoding;
7
- contentType: string;
8
- }
9
- export interface IAttachment {
10
- data: string;
11
- media: IAttachmentMedia;
12
- fileName?: string;
13
- }
14
- export type IAttachFunction = (attachment: IAttachment) => void;
15
- export interface ICreateAttachmentOptions {
16
- mediaType: string;
17
- fileName?: string;
18
- }
19
- export type ICreateStringAttachment = (data: string, mediaTypeOrOptions?: string | ICreateAttachmentOptions) => void;
20
- export type ICreateBufferAttachment = (data: Buffer, mediaTypeOrOptions: string | ICreateAttachmentOptions) => void;
21
- export type ICreateStreamAttachment = (data: Readable, mediaTypeOrOptions: string | ICreateAttachmentOptions) => Promise<void>;
22
- export type ICreateStreamAttachmentWithCallback = (data: Readable, mediaTypeOrOptions: string | ICreateAttachmentOptions, callback: () => void) => void;
23
- export type ICreateAttachment = ICreateStringAttachment & ICreateBufferAttachment & ICreateStreamAttachment & ICreateStreamAttachmentWithCallback;
24
- export type ICreateLog = (text: string) => void;
25
- export default class AttachmentManager {
26
- private readonly onAttachment;
27
- constructor(onAttachment: IAttachFunction);
28
- log(text: string): void | Promise<void>;
29
- create(data: Buffer | Readable | string, mediaTypeOrOptions?: string | ICreateAttachmentOptions, callback?: () => void): void | Promise<void>;
30
- createBufferAttachment(data: Buffer, mediaType: string, fileName?: string): void;
31
- createStreamAttachment(data: Readable, mediaType: string, fileName?: string, callback?: () => void): void | Promise<void>;
32
- createStringAttachment(data: string, media: IAttachmentMedia, fileName?: string): void;
33
- }
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { Readable } from 'stream';
4
+ import * as messages from '@cucumber/messages';
5
+ export interface IAttachmentMedia {
6
+ encoding: messages.AttachmentContentEncoding;
7
+ contentType: string;
8
+ }
9
+ export interface IAttachment {
10
+ data: string;
11
+ media: IAttachmentMedia;
12
+ fileName?: string;
13
+ }
14
+ export type IAttachFunction = (attachment: IAttachment) => void;
15
+ export interface ICreateAttachmentOptions {
16
+ mediaType: string;
17
+ fileName?: string;
18
+ }
19
+ export type ICreateStringAttachment = (data: string, mediaTypeOrOptions?: string | ICreateAttachmentOptions) => void;
20
+ export type ICreateBufferAttachment = (data: Buffer, mediaTypeOrOptions: string | ICreateAttachmentOptions) => void;
21
+ export type ICreateStreamAttachment = (data: Readable, mediaTypeOrOptions: string | ICreateAttachmentOptions) => Promise<void>;
22
+ export type ICreateStreamAttachmentWithCallback = (data: Readable, mediaTypeOrOptions: string | ICreateAttachmentOptions, callback: () => void) => void;
23
+ export type ICreateAttachment = ICreateStringAttachment & ICreateBufferAttachment & ICreateStreamAttachment & ICreateStreamAttachmentWithCallback;
24
+ export type ICreateLog = (text: string) => void;
25
+ export default class AttachmentManager {
26
+ private readonly onAttachment;
27
+ constructor(onAttachment: IAttachFunction);
28
+ log(text: string): void | Promise<void>;
29
+ create(data: Buffer | Readable | string, mediaTypeOrOptions?: string | ICreateAttachmentOptions, callback?: () => void): void | Promise<void>;
30
+ createBufferAttachment(data: Buffer, mediaType: string, fileName?: string): void;
31
+ createStreamAttachment(data: Readable, mediaType: string, fileName?: string, callback?: () => void): void | Promise<void>;
32
+ createStringAttachment(data: string, media: IAttachmentMedia, fileName?: string): void;
33
+ }
@@ -1,119 +1,119 @@
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
- const is_stream_1 = __importDefault(require("is-stream"));
30
- const messages = __importStar(require("@cucumber/messages"));
31
- const value_checker_1 = require("../../value_checker");
32
- class AttachmentManager {
33
- constructor(onAttachment) {
34
- this.onAttachment = onAttachment;
35
- }
36
- log(text) {
37
- return this.create(text, 'text/x.cucumber.log+plain');
38
- }
39
- create(data, mediaTypeOrOptions, callback) {
40
- const options = normaliseOptions(mediaTypeOrOptions);
41
- if (Buffer.isBuffer(data)) {
42
- if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
43
- throw Error('Buffer attachments must specify a media type');
44
- }
45
- this.createBufferAttachment(data, options.mediaType, options.fileName);
46
- }
47
- else if (is_stream_1.default.readable(data)) {
48
- if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
49
- throw Error('Stream attachments must specify a media type');
50
- }
51
- return this.createStreamAttachment(data, options.mediaType, options.fileName, callback);
52
- }
53
- else if (typeof data === 'string') {
54
- if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
55
- options.mediaType = 'text/plain';
56
- }
57
- if (options.mediaType.startsWith('base64:')) {
58
- this.createStringAttachment(data, {
59
- encoding: messages.AttachmentContentEncoding.BASE64,
60
- contentType: options.mediaType.replace('base64:', ''),
61
- }, options.fileName);
62
- }
63
- else {
64
- this.createStringAttachment(data, {
65
- encoding: messages.AttachmentContentEncoding.IDENTITY,
66
- contentType: options.mediaType,
67
- }, options.fileName);
68
- }
69
- }
70
- else {
71
- throw Error('Invalid attachment data: must be a buffer, readable stream, or string');
72
- }
73
- }
74
- createBufferAttachment(data, mediaType, fileName) {
75
- this.createStringAttachment(data.toString('base64'), {
76
- encoding: messages.AttachmentContentEncoding.BASE64,
77
- contentType: mediaType,
78
- }, fileName);
79
- }
80
- createStreamAttachment(data, mediaType, fileName, callback) {
81
- const promise = new Promise((resolve, reject) => {
82
- const buffers = [];
83
- data.on('data', (chunk) => {
84
- buffers.push(chunk);
85
- });
86
- data.on('end', () => {
87
- this.createBufferAttachment(Buffer.concat(buffers), mediaType, fileName);
88
- resolve();
89
- });
90
- data.on('error', reject);
91
- });
92
- if ((0, value_checker_1.doesHaveValue)(callback)) {
93
- promise.then(callback, callback);
94
- }
95
- else {
96
- return promise;
97
- }
98
- }
99
- createStringAttachment(data, media, fileName) {
100
- this.onAttachment({
101
- data,
102
- media,
103
- ...(fileName ? { fileName } : {}),
104
- });
105
- }
106
- }
107
- exports.default = AttachmentManager;
108
- function normaliseOptions(mediaTypeOrOptions) {
109
- if (!mediaTypeOrOptions) {
110
- return {};
111
- }
112
- if (typeof mediaTypeOrOptions === 'string') {
113
- return {
114
- mediaType: mediaTypeOrOptions,
115
- };
116
- }
117
- return mediaTypeOrOptions;
118
- }
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
+ const is_stream_1 = __importDefault(require("is-stream"));
30
+ const messages = __importStar(require("@cucumber/messages"));
31
+ const value_checker_1 = require("../../value_checker");
32
+ class AttachmentManager {
33
+ constructor(onAttachment) {
34
+ this.onAttachment = onAttachment;
35
+ }
36
+ log(text) {
37
+ return this.create(text, 'text/x.cucumber.log+plain');
38
+ }
39
+ create(data, mediaTypeOrOptions, callback) {
40
+ const options = normaliseOptions(mediaTypeOrOptions);
41
+ if (Buffer.isBuffer(data)) {
42
+ if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
43
+ throw Error('Buffer attachments must specify a media type');
44
+ }
45
+ this.createBufferAttachment(data, options.mediaType, options.fileName);
46
+ }
47
+ else if (is_stream_1.default.readable(data)) {
48
+ if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
49
+ throw Error('Stream attachments must specify a media type');
50
+ }
51
+ return this.createStreamAttachment(data, options.mediaType, options.fileName, callback);
52
+ }
53
+ else if (typeof data === 'string') {
54
+ if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
55
+ options.mediaType = 'text/plain';
56
+ }
57
+ if (options.mediaType.startsWith('base64:')) {
58
+ this.createStringAttachment(data, {
59
+ encoding: messages.AttachmentContentEncoding.BASE64,
60
+ contentType: options.mediaType.replace('base64:', ''),
61
+ }, options.fileName);
62
+ }
63
+ else {
64
+ this.createStringAttachment(data, {
65
+ encoding: messages.AttachmentContentEncoding.IDENTITY,
66
+ contentType: options.mediaType,
67
+ }, options.fileName);
68
+ }
69
+ }
70
+ else {
71
+ throw Error('Invalid attachment data: must be a buffer, readable stream, or string');
72
+ }
73
+ }
74
+ createBufferAttachment(data, mediaType, fileName) {
75
+ this.createStringAttachment(data.toString('base64'), {
76
+ encoding: messages.AttachmentContentEncoding.BASE64,
77
+ contentType: mediaType,
78
+ }, fileName);
79
+ }
80
+ createStreamAttachment(data, mediaType, fileName, callback) {
81
+ const promise = new Promise((resolve, reject) => {
82
+ const buffers = [];
83
+ data.on('data', (chunk) => {
84
+ buffers.push(chunk);
85
+ });
86
+ data.on('end', () => {
87
+ this.createBufferAttachment(Buffer.concat(buffers), mediaType, fileName);
88
+ resolve();
89
+ });
90
+ data.on('error', reject);
91
+ });
92
+ if ((0, value_checker_1.doesHaveValue)(callback)) {
93
+ promise.then(callback, callback);
94
+ }
95
+ else {
96
+ return promise;
97
+ }
98
+ }
99
+ createStringAttachment(data, media, fileName) {
100
+ this.onAttachment({
101
+ data,
102
+ media,
103
+ ...(fileName ? { fileName } : {}),
104
+ });
105
+ }
106
+ }
107
+ exports.default = AttachmentManager;
108
+ function normaliseOptions(mediaTypeOrOptions) {
109
+ if (!mediaTypeOrOptions) {
110
+ return {};
111
+ }
112
+ if (typeof mediaTypeOrOptions === 'string') {
113
+ return {
114
+ mediaType: mediaTypeOrOptions,
115
+ };
116
+ }
117
+ return mediaTypeOrOptions;
118
+ }
119
119
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import { TestStepResult } from '@cucumber/messages';
2
- export declare function formatError(error: Error, filterStackTraces: boolean): Pick<TestStepResult, 'message' | 'exception'>;
1
+ import { TestStepResult } from '@cucumber/messages';
2
+ export declare function formatError(error: Error, filterStackTraces: boolean): Pick<TestStepResult, 'message' | 'exception'>;
@@ -1,36 +1,36 @@
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.formatError = void 0;
7
- const assertion_error_formatter_1 = require("assertion-error-formatter");
8
- const error_stack_parser_1 = __importDefault(require("error-stack-parser"));
9
- const filter_stack_trace_1 = require("../filter_stack_trace");
10
- function formatError(error, filterStackTraces) {
11
- let filteredStack;
12
- if (filterStackTraces) {
13
- try {
14
- filteredStack = (0, filter_stack_trace_1.filterStackTrace)(error_stack_parser_1.default.parse(error))
15
- .map((f) => f.source)
16
- .join('\n');
17
- }
18
- catch (_a) {
19
- // if we weren't able to parse and filter, we'll settle for the original
20
- }
21
- }
22
- const message = (0, assertion_error_formatter_1.format)(error, {
23
- colorFns: {
24
- errorStack: (stack) => filteredStack ? `\n${filteredStack}` : stack,
25
- },
26
- });
27
- return {
28
- message,
29
- exception: {
30
- type: error.name || 'Error',
31
- message: typeof error === 'string' ? error : error.message,
32
- },
33
- };
34
- }
35
- exports.formatError = formatError;
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.formatError = void 0;
7
+ const assertion_error_formatter_1 = require("assertion-error-formatter");
8
+ const error_stack_parser_1 = __importDefault(require("error-stack-parser"));
9
+ const filter_stack_trace_1 = require("../filter_stack_trace");
10
+ function formatError(error, filterStackTraces) {
11
+ let filteredStack;
12
+ if (filterStackTraces) {
13
+ try {
14
+ filteredStack = (0, filter_stack_trace_1.filterStackTrace)(error_stack_parser_1.default.parse(error))
15
+ .map((f) => f.source)
16
+ .join('\n');
17
+ }
18
+ catch (_a) {
19
+ // if we weren't able to parse and filter, we'll settle for the original
20
+ }
21
+ }
22
+ const message = (0, assertion_error_formatter_1.format)(error, {
23
+ colorFns: {
24
+ errorStack: (stack) => filteredStack ? `\n${filteredStack}` : stack,
25
+ },
26
+ });
27
+ return {
28
+ message,
29
+ exception: {
30
+ type: error.name || 'Error',
31
+ message: typeof error === 'string' ? error : error.message,
32
+ },
33
+ };
34
+ }
35
+ exports.formatError = formatError;
36
36
  //# sourceMappingURL=format_error.js.map
@@ -1,6 +1,6 @@
1
- import StepDefinition from '../models/step_definition';
2
- import * as messages from '@cucumber/messages';
3
- import { IRuntimeOptions } from '.';
4
- export declare function getAmbiguousStepException(stepDefinitions: StepDefinition[]): string;
5
- export declare function retriesForPickle(pickle: messages.Pickle, options: IRuntimeOptions): number;
6
- export declare function shouldCauseFailure(status: messages.TestStepResultStatus, options: IRuntimeOptions): boolean;
1
+ import StepDefinition from '../models/step_definition';
2
+ import * as messages from '@cucumber/messages';
3
+ import { IRuntimeOptions } from '.';
4
+ export declare function getAmbiguousStepException(stepDefinitions: StepDefinition[]): string;
5
+ export declare function retriesForPickle(pickle: messages.Pickle, options: IRuntimeOptions): number;
6
+ export declare function shouldCauseFailure(status: messages.TestStepResultStatus, options: IRuntimeOptions): boolean;