@dev-blinq/cucumber-js 1.0.36 → 1.0.37-stage

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 (251) hide show
  1. package/bin/cucumber-js +0 -0
  2. package/bin/cucumber.js +0 -0
  3. package/bin/download-install.js +51 -10
  4. package/lib/api/console_logger.d.ts +12 -12
  5. package/lib/api/console_logger.js +23 -23
  6. package/lib/api/convert_configuration.d.ts +4 -4
  7. package/lib/api/convert_configuration.js +65 -65
  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 +145 -99
  14. package/lib/api/gherkin.js.map +1 -1
  15. package/lib/api/index.d.ts +12 -12
  16. package/lib/api/index.js +27 -27
  17. package/lib/api/load_configuration.d.ts +9 -9
  18. package/lib/api/load_configuration.js +40 -40
  19. package/lib/api/load_sources.d.ts +9 -9
  20. package/lib/api/load_sources.js +52 -52
  21. package/lib/api/load_support.d.ts +10 -10
  22. package/lib/api/load_support.js +29 -29
  23. package/lib/api/paths.d.ts +8 -8
  24. package/lib/api/paths.js +101 -101
  25. package/lib/api/plugins.d.ts +4 -4
  26. package/lib/api/plugins.js +18 -18
  27. package/lib/api/run_cucumber.d.ts +11 -11
  28. package/lib/api/run_cucumber.js +114 -114
  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 +177 -177
  36. package/lib/api/types.js +2 -2
  37. package/lib/cli/helpers.d.ts +39 -39
  38. package/lib/cli/helpers.js +223 -223
  39. package/lib/cli/i18n.d.ts +2 -2
  40. package/lib/cli/i18n.js +69 -69
  41. package/lib/cli/index.d.ts +21 -21
  42. package/lib/cli/index.js +63 -63
  43. package/lib/cli/install_validator.d.ts +1 -1
  44. package/lib/cli/install_validator.js +13 -13
  45. package/lib/cli/run.d.ts +1 -1
  46. package/lib/cli/run.js +43 -43
  47. package/lib/cli/validate_node_engine_version.d.ts +10 -10
  48. package/lib/cli/validate_node_engine_version.js +23 -23
  49. package/lib/configuration/argv_parser.d.ts +20 -20
  50. package/lib/configuration/argv_parser.js +102 -102
  51. package/lib/configuration/axios_client.d.ts +1 -0
  52. package/lib/configuration/axios_client.js +40 -0
  53. package/lib/configuration/axios_client.js.map +1 -0
  54. package/lib/configuration/check_schema.d.ts +2 -2
  55. package/lib/configuration/check_schema.js +59 -59
  56. package/lib/configuration/default_configuration.d.ts +2 -2
  57. package/lib/configuration/default_configuration.js +28 -28
  58. package/lib/configuration/from_file.d.ts +3 -3
  59. package/lib/configuration/from_file.js +84 -84
  60. package/lib/configuration/helpers.d.ts +1 -1
  61. package/lib/configuration/helpers.js +10 -10
  62. package/lib/configuration/index.d.ts +7 -7
  63. package/lib/configuration/index.js +28 -28
  64. package/lib/configuration/locate_file.d.ts +1 -1
  65. package/lib/configuration/locate_file.js +20 -20
  66. package/lib/configuration/merge_configurations.d.ts +2 -2
  67. package/lib/configuration/merge_configurations.js +47 -47
  68. package/lib/configuration/option_splitter.d.ts +3 -3
  69. package/lib/configuration/option_splitter.js +22 -22
  70. package/lib/configuration/types.d.ts +30 -30
  71. package/lib/configuration/types.js +2 -2
  72. package/lib/configuration/validate_configuration.d.ts +3 -3
  73. package/lib/configuration/validate_configuration.js +12 -12
  74. package/lib/filter_stack_trace.d.ts +3 -3
  75. package/lib/filter_stack_trace.js +37 -37
  76. package/lib/formatter/api.d.ts +2 -0
  77. package/lib/formatter/api.js +53 -0
  78. package/lib/formatter/api.js.map +1 -0
  79. package/lib/formatter/builder.d.ts +37 -37
  80. package/lib/formatter/builder.js +100 -100
  81. package/lib/formatter/bvt_analysis_formatter.d.ts +19 -18
  82. package/lib/formatter/bvt_analysis_formatter.js +243 -192
  83. package/lib/formatter/bvt_analysis_formatter.js.map +1 -1
  84. package/lib/formatter/feature_data_format.d.ts +23 -14
  85. package/lib/formatter/feature_data_format.js +178 -80
  86. package/lib/formatter/feature_data_format.js.map +1 -1
  87. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  88. package/lib/formatter/fixtures/typescript.js +5 -5
  89. package/lib/formatter/get_color_fns.d.ts +15 -15
  90. package/lib/formatter/get_color_fns.js +55 -55
  91. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  92. package/lib/formatter/helpers/duration_helpers.js +8 -8
  93. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  94. package/lib/formatter/helpers/event_data_collector.js +125 -125
  95. package/lib/formatter/helpers/formatters.d.ts +6 -6
  96. package/lib/formatter/helpers/formatters.js +44 -44
  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 +135 -103
  110. package/lib/formatter/helpers/report_generator.js +433 -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 +14 -9
  121. package/lib/formatter/helpers/upload_serivce.js +171 -46
  122. package/lib/formatter/helpers/upload_serivce.js.map +1 -1
  123. package/lib/formatter/helpers/uploader.d.ts +11 -11
  124. package/lib/formatter/helpers/uploader.js +130 -56
  125. package/lib/formatter/helpers/uploader.js.map +1 -1
  126. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  127. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  128. package/lib/formatter/html_formatter.d.ts +7 -7
  129. package/lib/formatter/html_formatter.js +29 -29
  130. package/lib/formatter/index.d.ts +53 -53
  131. package/lib/formatter/index.js +20 -20
  132. package/lib/formatter/json_formatter.d.ts +78 -78
  133. package/lib/formatter/json_formatter.js +229 -229
  134. package/lib/formatter/junit_formatter.d.ts +17 -17
  135. package/lib/formatter/junit_formatter.js +180 -180
  136. package/lib/formatter/message_formatter.d.ts +5 -5
  137. package/lib/formatter/message_formatter.js +14 -14
  138. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  139. package/lib/formatter/progress_bar_formatter.js +98 -98
  140. package/lib/formatter/progress_formatter.d.ts +9 -9
  141. package/lib/formatter/progress_formatter.js +58 -58
  142. package/lib/formatter/rerun_formatter.d.ts +13 -13
  143. package/lib/formatter/rerun_formatter.js +79 -79
  144. package/lib/formatter/snippets_formatter.d.ts +6 -6
  145. package/lib/formatter/snippets_formatter.js +60 -60
  146. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  147. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  148. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  149. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  150. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  151. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  152. package/lib/formatter/summary_formatter.d.ts +14 -14
  153. package/lib/formatter/summary_formatter.js +67 -67
  154. package/lib/formatter/usage_formatter.d.ts +6 -6
  155. package/lib/formatter/usage_formatter.js +97 -97
  156. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  157. package/lib/formatter/usage_json_formatter.js +33 -33
  158. package/lib/index.d.ts +58 -58
  159. package/lib/index.js +108 -108
  160. package/lib/logger.d.ts +5 -5
  161. package/lib/logger.js +2 -2
  162. package/lib/models/data_table.d.ts +10 -10
  163. package/lib/models/data_table.js +45 -45
  164. package/lib/models/definition.d.ts +55 -55
  165. package/lib/models/definition.js +21 -21
  166. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  167. package/lib/models/gherkin_step_keyword.js +2 -2
  168. package/lib/models/pickle_order.d.ts +1 -1
  169. package/lib/models/pickle_order.js +2 -2
  170. package/lib/models/step_definition.d.ts +11 -11
  171. package/lib/models/step_definition.js +36 -36
  172. package/lib/models/test_case_hook_definition.d.ts +10 -10
  173. package/lib/models/test_case_hook_definition.js +26 -26
  174. package/lib/models/test_run_hook_definition.d.ts +3 -3
  175. package/lib/models/test_run_hook_definition.js +9 -9
  176. package/lib/models/test_step_hook_definition.d.ts +9 -9
  177. package/lib/models/test_step_hook_definition.js +25 -25
  178. package/lib/pickle_filter.d.ts +42 -42
  179. package/lib/pickle_filter.js +98 -98
  180. package/lib/plugin/index.d.ts +2 -2
  181. package/lib/plugin/index.js +18 -18
  182. package/lib/plugin/plugin_manager.d.ts +13 -13
  183. package/lib/plugin/plugin_manager.js +35 -35
  184. package/lib/plugin/types.d.ts +14 -14
  185. package/lib/plugin/types.js +2 -2
  186. package/lib/publish/http_stream.d.ts +30 -30
  187. package/lib/publish/http_stream.js +111 -111
  188. package/lib/publish/index.d.ts +2 -2
  189. package/lib/publish/index.js +4 -4
  190. package/lib/publish/publish_plugin.d.ts +2 -2
  191. package/lib/publish/publish_plugin.js +47 -47
  192. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  193. package/lib/runtime/assemble_test_cases.js +87 -87
  194. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  195. package/lib/runtime/attachment_manager/index.js +118 -118
  196. package/lib/runtime/format_error.d.ts +2 -2
  197. package/lib/runtime/format_error.js +35 -35
  198. package/lib/runtime/helpers.d.ts +6 -6
  199. package/lib/runtime/helpers.js +100 -100
  200. package/lib/runtime/index.d.ts +40 -40
  201. package/lib/runtime/index.js +75 -75
  202. package/lib/runtime/parallel/command_types.d.ts +32 -32
  203. package/lib/runtime/parallel/command_types.js +2 -2
  204. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  205. package/lib/runtime/parallel/coordinator.js +221 -221
  206. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  207. package/lib/runtime/parallel/run_worker.js +28 -28
  208. package/lib/runtime/parallel/worker.d.ts +26 -26
  209. package/lib/runtime/parallel/worker.js +86 -86
  210. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  211. package/lib/runtime/run_test_run_hooks.js +27 -27
  212. package/lib/runtime/step_runner.d.ts +16 -16
  213. package/lib/runtime/step_runner.js +87 -87
  214. package/lib/runtime/stopwatch.d.ts +12 -12
  215. package/lib/runtime/stopwatch.js +33 -33
  216. package/lib/runtime/test_case_runner.d.ts +54 -54
  217. package/lib/runtime/test_case_runner.js +267 -267
  218. package/lib/step_arguments.d.ts +6 -6
  219. package/lib/step_arguments.js +18 -18
  220. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  221. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  222. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  223. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  224. package/lib/support_code_library_builder/index.d.ts +74 -74
  225. package/lib/support_code_library_builder/index.js +296 -296
  226. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  227. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  228. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  229. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  230. package/lib/support_code_library_builder/types.d.ts +88 -88
  231. package/lib/support_code_library_builder/types.js +2 -2
  232. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  233. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  234. package/lib/support_code_library_builder/world.d.ts +18 -18
  235. package/lib/support_code_library_builder/world.js +10 -10
  236. package/lib/time.d.ts +18 -18
  237. package/lib/time.js +60 -60
  238. package/lib/try_require.d.ts +7 -7
  239. package/lib/try_require.js +22 -22
  240. package/lib/types/index.d.ts +4 -4
  241. package/lib/types/index.js +2 -2
  242. package/lib/uncaught_exception_manager.d.ts +7 -7
  243. package/lib/uncaught_exception_manager.js +11 -11
  244. package/lib/user_code_runner.d.ts +14 -14
  245. package/lib/user_code_runner.js +81 -81
  246. package/lib/value_checker.d.ts +3 -3
  247. package/lib/value_checker.js +18 -18
  248. package/lib/version.d.ts +1 -1
  249. package/lib/version.js +5 -5
  250. package/lib/version.js.map +1 -1
  251. package/package.json +4 -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;