@dev-blinq/cucumber-js 1.0.34 → 1.0.36

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/bin/download-install.js +0 -4
  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 +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/runtime.d.ts +21 -21
  29. package/lib/api/runtime.js +35 -35
  30. package/lib/api/support.d.ts +9 -9
  31. package/lib/api/support.js +25 -25
  32. package/lib/api/test_helpers.d.ts +3 -3
  33. package/lib/api/test_helpers.js +30 -30
  34. package/lib/api/types.d.ts +177 -177
  35. package/lib/api/types.js +2 -2
  36. package/lib/cli/helpers.d.ts +39 -39
  37. package/lib/cli/helpers.js +223 -223
  38. package/lib/cli/i18n.d.ts +2 -2
  39. package/lib/cli/i18n.js +69 -69
  40. package/lib/cli/index.d.ts +21 -21
  41. package/lib/cli/index.js +63 -63
  42. package/lib/cli/install_validator.d.ts +1 -1
  43. package/lib/cli/install_validator.js +13 -13
  44. package/lib/cli/run.d.ts +1 -1
  45. package/lib/cli/run.js +43 -43
  46. package/lib/cli/validate_node_engine_version.d.ts +10 -10
  47. package/lib/cli/validate_node_engine_version.js +23 -23
  48. package/lib/configuration/argv_parser.d.ts +20 -20
  49. package/lib/configuration/argv_parser.js +102 -102
  50. package/lib/configuration/check_schema.d.ts +2 -2
  51. package/lib/configuration/check_schema.js +59 -59
  52. package/lib/configuration/default_configuration.d.ts +2 -2
  53. package/lib/configuration/default_configuration.js +28 -28
  54. package/lib/configuration/from_file.d.ts +3 -3
  55. package/lib/configuration/from_file.js +84 -84
  56. package/lib/configuration/helpers.d.ts +1 -1
  57. package/lib/configuration/helpers.js +10 -10
  58. package/lib/configuration/index.d.ts +7 -7
  59. package/lib/configuration/index.js +28 -28
  60. package/lib/configuration/locate_file.d.ts +1 -1
  61. package/lib/configuration/locate_file.js +20 -20
  62. package/lib/configuration/merge_configurations.d.ts +2 -2
  63. package/lib/configuration/merge_configurations.js +47 -47
  64. package/lib/configuration/option_splitter.d.ts +3 -3
  65. package/lib/configuration/option_splitter.js +22 -22
  66. package/lib/configuration/types.d.ts +30 -30
  67. package/lib/configuration/types.js +2 -2
  68. package/lib/configuration/validate_configuration.d.ts +3 -3
  69. package/lib/configuration/validate_configuration.js +12 -12
  70. package/lib/filter_stack_trace.d.ts +3 -3
  71. package/lib/filter_stack_trace.js +37 -37
  72. package/lib/formatter/builder.d.ts +37 -37
  73. package/lib/formatter/builder.js +100 -100
  74. package/lib/formatter/bvt_analysis_formatter.d.ts +18 -18
  75. package/lib/formatter/bvt_analysis_formatter.js +192 -192
  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 +103 -103
  101. package/lib/formatter/helpers/report_generator.js +247 -247
  102. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  103. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  104. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  105. package/lib/formatter/helpers/summary_helpers.js +95 -95
  106. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  107. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  108. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  109. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  110. package/lib/formatter/helpers/upload_serivce.d.ts +9 -9
  111. package/lib/formatter/helpers/upload_serivce.js +46 -46
  112. package/lib/formatter/helpers/uploader.d.ts +11 -11
  113. package/lib/formatter/helpers/uploader.js +56 -56
  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 +2 -2
@@ -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;