@dev-blinq/cucumber-js 1.0.11 → 1.0.12

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