@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,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SourcedParameterTypeRegistry = void 0;
4
- const cucumber_expressions_1 = require("@cucumber/cucumber-expressions");
5
- class SourcedParameterTypeRegistry extends cucumber_expressions_1.ParameterTypeRegistry {
6
- constructor() {
7
- super(...arguments);
8
- this.parameterTypeToSource = new WeakMap();
9
- }
10
- defineSourcedParameterType(parameterType, source) {
11
- this.defineParameterType(parameterType);
12
- this.parameterTypeToSource.set(parameterType, source);
13
- }
14
- lookupSource(parameterType) {
15
- return this.parameterTypeToSource.get(parameterType);
16
- }
17
- }
18
- exports.SourcedParameterTypeRegistry = SourcedParameterTypeRegistry;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourcedParameterTypeRegistry = void 0;
4
+ const cucumber_expressions_1 = require("@cucumber/cucumber-expressions");
5
+ class SourcedParameterTypeRegistry extends cucumber_expressions_1.ParameterTypeRegistry {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.parameterTypeToSource = new WeakMap();
9
+ }
10
+ defineSourcedParameterType(parameterType, source) {
11
+ this.defineParameterType(parameterType);
12
+ this.parameterTypeToSource.set(parameterType, source);
13
+ }
14
+ lookupSource(parameterType) {
15
+ return this.parameterTypeToSource.get(parameterType);
16
+ }
17
+ }
18
+ exports.SourcedParameterTypeRegistry = SourcedParameterTypeRegistry;
19
19
  //# sourceMappingURL=sourced_parameter_type_registry.js.map
@@ -1,88 +1,88 @@
1
- import * as messages from '@cucumber/messages';
2
- import TestCaseHookDefinition from '../models/test_case_hook_definition';
3
- import TestStepHookDefinition from '../models/test_step_hook_definition';
4
- import TestRunHookDefinition from '../models/test_run_hook_definition';
5
- import StepDefinition from '../models/step_definition';
6
- import { IWorld } from './world';
7
- import { SourcedParameterTypeRegistry } from './sourced_parameter_type_registry';
8
- export type DefineStepPattern = string | RegExp;
9
- export type ParallelAssignmentValidator = (pickle: messages.Pickle, runningPickles: messages.Pickle[]) => boolean;
10
- export interface ITestCaseHookParameter {
11
- gherkinDocument: messages.GherkinDocument;
12
- pickle: messages.Pickle;
13
- result?: messages.TestStepResult;
14
- willBeRetried?: boolean;
15
- testCaseStartedId: string;
16
- }
17
- export interface ITestStepHookParameter {
18
- gherkinDocument: messages.GherkinDocument;
19
- pickle: messages.Pickle;
20
- pickleStep: messages.PickleStep;
21
- result: messages.TestStepResult;
22
- testCaseStartedId: string;
23
- testStepId: string;
24
- }
25
- export type TestCaseHookFunction<WorldType> = (this: WorldType, arg: ITestCaseHookParameter) => any | Promise<any>;
26
- export type TestStepHookFunction<WorldType> = (this: WorldType, arg: ITestStepHookParameter) => any | Promise<any>;
27
- export type TestStepFunction<WorldType> = (this: WorldType, ...args: any[]) => any | Promise<any>;
28
- export interface IDefineStepOptions {
29
- timeout?: number;
30
- wrapperOptions?: any;
31
- }
32
- export interface IDefineTestCaseHookOptions {
33
- name?: string;
34
- tags?: string;
35
- timeout?: number;
36
- }
37
- export interface IDefineTestStepHookOptions {
38
- tags?: string;
39
- timeout?: number;
40
- }
41
- export interface IDefineTestRunHookOptions {
42
- timeout?: number;
43
- }
44
- export interface IParameterTypeDefinition<T> {
45
- name: string;
46
- regexp: readonly RegExp[] | readonly string[] | RegExp | string;
47
- transformer: (...match: string[]) => T;
48
- useForSnippets?: boolean;
49
- preferForRegexpMatch?: boolean;
50
- }
51
- export type IDefineStep = (<WorldType = IWorld>(pattern: DefineStepPattern, code: TestStepFunction<WorldType>) => void) & (<WorldType = IWorld>(pattern: DefineStepPattern, options: IDefineStepOptions, code: TestStepFunction<WorldType>) => void);
52
- export interface IDefineSupportCodeMethods {
53
- defineParameterType: (options: IParameterTypeDefinition<any>) => void;
54
- defineStep: IDefineStep;
55
- setDefaultTimeout: (milliseconds: number) => void;
56
- setDefinitionFunctionWrapper: (fn: Function) => void;
57
- setParallelCanAssign: (fn: ParallelAssignmentValidator) => void;
58
- setWorldConstructor: (fn: any) => void;
59
- After: (<WorldType = IWorld>(code: TestCaseHookFunction<WorldType>) => void) & (<WorldType = IWorld>(tags: string, code: TestCaseHookFunction<WorldType>) => void) & (<WorldType = IWorld>(options: IDefineTestCaseHookOptions, code: TestCaseHookFunction<WorldType>) => void);
60
- AfterStep: (<WorldType = IWorld>(code: TestStepHookFunction<WorldType>) => void) & (<WorldType = IWorld>(tags: string, code: TestStepHookFunction<WorldType>) => void) & (<WorldType = IWorld>(options: IDefineTestStepHookOptions, code: TestStepHookFunction<WorldType>) => void);
61
- AfterAll: ((code: Function) => void) & ((options: IDefineTestRunHookOptions, code: Function) => void);
62
- Before: (<WorldType = IWorld>(code: TestCaseHookFunction<WorldType>) => void) & (<WorldType = IWorld>(tags: string, code: TestCaseHookFunction<WorldType>) => void) & (<WorldType = IWorld>(options: IDefineTestCaseHookOptions, code: TestCaseHookFunction<WorldType>) => void);
63
- BeforeStep: (<WorldType = IWorld>(code: TestStepHookFunction<WorldType>) => void) & (<WorldType = IWorld>(tags: string, code: TestStepHookFunction<WorldType>) => void) & (<WorldType = IWorld>(options: IDefineTestStepHookOptions, code: TestStepHookFunction<WorldType>) => void);
64
- BeforeAll: ((code: Function) => void) & ((options: IDefineTestRunHookOptions, code: Function) => void);
65
- Given: IDefineStep;
66
- Then: IDefineStep;
67
- When: IDefineStep;
68
- }
69
- export interface ISupportCodeCoordinates {
70
- requireModules: string[];
71
- requirePaths: string[];
72
- importPaths: string[];
73
- }
74
- export interface ISupportCodeLibrary {
75
- readonly originalCoordinates: ISupportCodeCoordinates;
76
- readonly afterTestCaseHookDefinitions: TestCaseHookDefinition[];
77
- readonly afterTestStepHookDefinitions: TestStepHookDefinition[];
78
- readonly afterTestRunHookDefinitions: TestRunHookDefinition[];
79
- readonly beforeTestCaseHookDefinitions: TestCaseHookDefinition[];
80
- readonly beforeTestStepHookDefinitions: TestStepHookDefinition[];
81
- readonly beforeTestRunHookDefinitions: TestRunHookDefinition[];
82
- readonly defaultTimeout: number;
83
- readonly stepDefinitions: StepDefinition[];
84
- readonly undefinedParameterTypes: messages.UndefinedParameterType[];
85
- readonly parameterTypeRegistry: SourcedParameterTypeRegistry;
86
- readonly World: any;
87
- readonly parallelCanAssign: ParallelAssignmentValidator;
88
- }
1
+ import * as messages from '@cucumber/messages';
2
+ import TestCaseHookDefinition from '../models/test_case_hook_definition';
3
+ import TestStepHookDefinition from '../models/test_step_hook_definition';
4
+ import TestRunHookDefinition from '../models/test_run_hook_definition';
5
+ import StepDefinition from '../models/step_definition';
6
+ import { IWorld } from './world';
7
+ import { SourcedParameterTypeRegistry } from './sourced_parameter_type_registry';
8
+ export type DefineStepPattern = string | RegExp;
9
+ export type ParallelAssignmentValidator = (pickle: messages.Pickle, runningPickles: messages.Pickle[]) => boolean;
10
+ export interface ITestCaseHookParameter {
11
+ gherkinDocument: messages.GherkinDocument;
12
+ pickle: messages.Pickle;
13
+ result?: messages.TestStepResult;
14
+ willBeRetried?: boolean;
15
+ testCaseStartedId: string;
16
+ }
17
+ export interface ITestStepHookParameter {
18
+ gherkinDocument: messages.GherkinDocument;
19
+ pickle: messages.Pickle;
20
+ pickleStep: messages.PickleStep;
21
+ result: messages.TestStepResult;
22
+ testCaseStartedId: string;
23
+ testStepId: string;
24
+ }
25
+ export type TestCaseHookFunction<WorldType> = (this: WorldType, arg: ITestCaseHookParameter) => any | Promise<any>;
26
+ export type TestStepHookFunction<WorldType> = (this: WorldType, arg: ITestStepHookParameter) => any | Promise<any>;
27
+ export type TestStepFunction<WorldType> = (this: WorldType, ...args: any[]) => any | Promise<any>;
28
+ export interface IDefineStepOptions {
29
+ timeout?: number;
30
+ wrapperOptions?: any;
31
+ }
32
+ export interface IDefineTestCaseHookOptions {
33
+ name?: string;
34
+ tags?: string;
35
+ timeout?: number;
36
+ }
37
+ export interface IDefineTestStepHookOptions {
38
+ tags?: string;
39
+ timeout?: number;
40
+ }
41
+ export interface IDefineTestRunHookOptions {
42
+ timeout?: number;
43
+ }
44
+ export interface IParameterTypeDefinition<T> {
45
+ name: string;
46
+ regexp: readonly RegExp[] | readonly string[] | RegExp | string;
47
+ transformer: (...match: string[]) => T;
48
+ useForSnippets?: boolean;
49
+ preferForRegexpMatch?: boolean;
50
+ }
51
+ export type IDefineStep = (<WorldType = IWorld>(pattern: DefineStepPattern, code: TestStepFunction<WorldType>) => void) & (<WorldType = IWorld>(pattern: DefineStepPattern, options: IDefineStepOptions, code: TestStepFunction<WorldType>) => void);
52
+ export interface IDefineSupportCodeMethods {
53
+ defineParameterType: (options: IParameterTypeDefinition<any>) => void;
54
+ defineStep: IDefineStep;
55
+ setDefaultTimeout: (milliseconds: number) => void;
56
+ setDefinitionFunctionWrapper: (fn: Function) => void;
57
+ setParallelCanAssign: (fn: ParallelAssignmentValidator) => void;
58
+ setWorldConstructor: (fn: any) => void;
59
+ After: (<WorldType = IWorld>(code: TestCaseHookFunction<WorldType>) => void) & (<WorldType = IWorld>(tags: string, code: TestCaseHookFunction<WorldType>) => void) & (<WorldType = IWorld>(options: IDefineTestCaseHookOptions, code: TestCaseHookFunction<WorldType>) => void);
60
+ AfterStep: (<WorldType = IWorld>(code: TestStepHookFunction<WorldType>) => void) & (<WorldType = IWorld>(tags: string, code: TestStepHookFunction<WorldType>) => void) & (<WorldType = IWorld>(options: IDefineTestStepHookOptions, code: TestStepHookFunction<WorldType>) => void);
61
+ AfterAll: ((code: Function) => void) & ((options: IDefineTestRunHookOptions, code: Function) => void);
62
+ Before: (<WorldType = IWorld>(code: TestCaseHookFunction<WorldType>) => void) & (<WorldType = IWorld>(tags: string, code: TestCaseHookFunction<WorldType>) => void) & (<WorldType = IWorld>(options: IDefineTestCaseHookOptions, code: TestCaseHookFunction<WorldType>) => void);
63
+ BeforeStep: (<WorldType = IWorld>(code: TestStepHookFunction<WorldType>) => void) & (<WorldType = IWorld>(tags: string, code: TestStepHookFunction<WorldType>) => void) & (<WorldType = IWorld>(options: IDefineTestStepHookOptions, code: TestStepHookFunction<WorldType>) => void);
64
+ BeforeAll: ((code: Function) => void) & ((options: IDefineTestRunHookOptions, code: Function) => void);
65
+ Given: IDefineStep;
66
+ Then: IDefineStep;
67
+ When: IDefineStep;
68
+ }
69
+ export interface ISupportCodeCoordinates {
70
+ requireModules: string[];
71
+ requirePaths: string[];
72
+ importPaths: string[];
73
+ }
74
+ export interface ISupportCodeLibrary {
75
+ readonly originalCoordinates: ISupportCodeCoordinates;
76
+ readonly afterTestCaseHookDefinitions: TestCaseHookDefinition[];
77
+ readonly afterTestStepHookDefinitions: TestStepHookDefinition[];
78
+ readonly afterTestRunHookDefinitions: TestRunHookDefinition[];
79
+ readonly beforeTestCaseHookDefinitions: TestCaseHookDefinition[];
80
+ readonly beforeTestStepHookDefinitions: TestStepHookDefinition[];
81
+ readonly beforeTestRunHookDefinitions: TestRunHookDefinition[];
82
+ readonly defaultTimeout: number;
83
+ readonly stepDefinitions: StepDefinition[];
84
+ readonly undefinedParameterTypes: messages.UndefinedParameterType[];
85
+ readonly parameterTypeRegistry: SourcedParameterTypeRegistry;
86
+ readonly World: any;
87
+ readonly parallelCanAssign: ParallelAssignmentValidator;
88
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=types.js.map
@@ -1,12 +1,12 @@
1
- import { DefineStepPattern, IDefineStepOptions } from './types';
2
- interface IDefineStepArguments {
3
- pattern?: DefineStepPattern;
4
- options?: IDefineStepOptions;
5
- code?: Function;
6
- }
7
- export default function validateArguments({ args, fnName, location, }: {
8
- args?: IDefineStepArguments;
9
- fnName: string;
10
- location: string;
11
- }): void;
12
- export {};
1
+ import { DefineStepPattern, IDefineStepOptions } from './types';
2
+ interface IDefineStepArguments {
3
+ pattern?: DefineStepPattern;
4
+ options?: IDefineStepOptions;
5
+ code?: Function;
6
+ }
7
+ export default function validateArguments({ args, fnName, location, }: {
8
+ args?: IDefineStepArguments;
9
+ fnName: string;
10
+ location: string;
11
+ }): void;
12
+ export {};
@@ -1,73 +1,73 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const optionsValidation = {
4
- expectedType: 'object or function',
5
- predicate({ options }) {
6
- return typeof options === 'object';
7
- },
8
- };
9
- const optionsTimeoutValidation = {
10
- identifier: '"options.timeout"',
11
- expectedType: 'integer',
12
- predicate({ options }) {
13
- return options.timeout == null || typeof options.timeout === 'number';
14
- },
15
- };
16
- const fnValidation = {
17
- expectedType: 'function',
18
- predicate({ code }) {
19
- return typeof code === 'function';
20
- },
21
- };
22
- const validations = {
23
- defineTestRunHook: [
24
- { identifier: 'first argument', ...optionsValidation },
25
- optionsTimeoutValidation,
26
- { identifier: 'second argument', ...fnValidation },
27
- ],
28
- defineTestCaseHook: [
29
- { identifier: 'first argument', ...optionsValidation },
30
- {
31
- identifier: '"options.tags"',
32
- expectedType: 'string',
33
- predicate({ options }) {
34
- return options.tags == null || typeof options.tags === 'string';
35
- },
36
- },
37
- optionsTimeoutValidation,
38
- { identifier: 'second argument', ...fnValidation },
39
- ],
40
- defineTestStepHook: [
41
- { identifier: 'first argument', ...optionsValidation },
42
- {
43
- identifier: '"options.tags"',
44
- expectedType: 'string',
45
- predicate({ options }) {
46
- return options.tags == null || typeof options.tags === 'string';
47
- },
48
- },
49
- optionsTimeoutValidation,
50
- { identifier: 'second argument', ...fnValidation },
51
- ],
52
- defineStep: [
53
- {
54
- identifier: 'first argument',
55
- expectedType: 'string or regular expression',
56
- predicate({ pattern }) {
57
- return pattern instanceof RegExp || typeof pattern === 'string';
58
- },
59
- },
60
- { identifier: 'second argument', ...optionsValidation },
61
- optionsTimeoutValidation,
62
- { identifier: 'third argument', ...fnValidation },
63
- ],
64
- };
65
- function validateArguments({ args, fnName, location, }) {
66
- validations[fnName].forEach(({ identifier, expectedType, predicate }) => {
67
- if (!predicate(args)) {
68
- throw new Error(`${location}: Invalid ${identifier}: should be a ${expectedType}`);
69
- }
70
- });
71
- }
72
- exports.default = validateArguments;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const optionsValidation = {
4
+ expectedType: 'object or function',
5
+ predicate({ options }) {
6
+ return typeof options === 'object';
7
+ },
8
+ };
9
+ const optionsTimeoutValidation = {
10
+ identifier: '"options.timeout"',
11
+ expectedType: 'integer',
12
+ predicate({ options }) {
13
+ return options.timeout == null || typeof options.timeout === 'number';
14
+ },
15
+ };
16
+ const fnValidation = {
17
+ expectedType: 'function',
18
+ predicate({ code }) {
19
+ return typeof code === 'function';
20
+ },
21
+ };
22
+ const validations = {
23
+ defineTestRunHook: [
24
+ { identifier: 'first argument', ...optionsValidation },
25
+ optionsTimeoutValidation,
26
+ { identifier: 'second argument', ...fnValidation },
27
+ ],
28
+ defineTestCaseHook: [
29
+ { identifier: 'first argument', ...optionsValidation },
30
+ {
31
+ identifier: '"options.tags"',
32
+ expectedType: 'string',
33
+ predicate({ options }) {
34
+ return options.tags == null || typeof options.tags === 'string';
35
+ },
36
+ },
37
+ optionsTimeoutValidation,
38
+ { identifier: 'second argument', ...fnValidation },
39
+ ],
40
+ defineTestStepHook: [
41
+ { identifier: 'first argument', ...optionsValidation },
42
+ {
43
+ identifier: '"options.tags"',
44
+ expectedType: 'string',
45
+ predicate({ options }) {
46
+ return options.tags == null || typeof options.tags === 'string';
47
+ },
48
+ },
49
+ optionsTimeoutValidation,
50
+ { identifier: 'second argument', ...fnValidation },
51
+ ],
52
+ defineStep: [
53
+ {
54
+ identifier: 'first argument',
55
+ expectedType: 'string or regular expression',
56
+ predicate({ pattern }) {
57
+ return pattern instanceof RegExp || typeof pattern === 'string';
58
+ },
59
+ },
60
+ { identifier: 'second argument', ...optionsValidation },
61
+ optionsTimeoutValidation,
62
+ { identifier: 'third argument', ...fnValidation },
63
+ ],
64
+ };
65
+ function validateArguments({ args, fnName, location, }) {
66
+ validations[fnName].forEach(({ identifier, expectedType, predicate }) => {
67
+ if (!predicate(args)) {
68
+ throw new Error(`${location}: Invalid ${identifier}: should be a ${expectedType}`);
69
+ }
70
+ });
71
+ }
72
+ exports.default = validateArguments;
73
73
  //# sourceMappingURL=validate_arguments.js.map
@@ -1,18 +1,18 @@
1
- import { ICreateAttachment, ICreateLog } from '../runtime/attachment_manager';
2
- export interface IWorldOptions<ParametersType = any> {
3
- attach: ICreateAttachment;
4
- log: ICreateLog;
5
- parameters: ParametersType;
6
- }
7
- export interface IWorld<ParametersType = any> {
8
- readonly attach: ICreateAttachment;
9
- readonly log: ICreateLog;
10
- readonly parameters: ParametersType;
11
- [key: string]: any;
12
- }
13
- export default class World<ParametersType = any> implements IWorld<ParametersType> {
14
- readonly attach: ICreateAttachment;
15
- readonly log: ICreateLog;
16
- readonly parameters: ParametersType;
17
- constructor({ attach, log, parameters }: IWorldOptions<ParametersType>);
18
- }
1
+ import { ICreateAttachment, ICreateLog } from '../runtime/attachment_manager';
2
+ export interface IWorldOptions<ParametersType = any> {
3
+ attach: ICreateAttachment;
4
+ log: ICreateLog;
5
+ parameters: ParametersType;
6
+ }
7
+ export interface IWorld<ParametersType = any> {
8
+ readonly attach: ICreateAttachment;
9
+ readonly log: ICreateLog;
10
+ readonly parameters: ParametersType;
11
+ [key: string]: any;
12
+ }
13
+ export default class World<ParametersType = any> implements IWorld<ParametersType> {
14
+ readonly attach: ICreateAttachment;
15
+ readonly log: ICreateLog;
16
+ readonly parameters: ParametersType;
17
+ constructor({ attach, log, parameters }: IWorldOptions<ParametersType>);
18
+ }
@@ -1,11 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class World {
4
- constructor({ attach, log, parameters }) {
5
- this.attach = attach;
6
- this.log = log;
7
- this.parameters = parameters;
8
- }
9
- }
10
- exports.default = World;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class World {
4
+ constructor({ attach, log, parameters }) {
5
+ this.attach = attach;
6
+ this.log = log;
7
+ this.parameters = parameters;
8
+ }
9
+ }
10
+ exports.default = World;
11
11
  //# sourceMappingURL=world.js.map
package/lib/time.d.ts CHANGED
@@ -1,18 +1,18 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { performance } from 'perf_hooks';
4
- import * as messages from '@cucumber/messages';
5
- interface ProtectedTimingBuiltins {
6
- clearImmediate: typeof clearImmediate;
7
- clearInterval: typeof clearInterval;
8
- clearTimeout: typeof clearTimeout;
9
- Date: typeof Date;
10
- setImmediate: typeof setImmediate;
11
- setInterval: typeof setInterval;
12
- setTimeout: typeof setTimeout;
13
- performance: typeof performance;
14
- }
15
- declare const methods: Partial<ProtectedTimingBuiltins>;
16
- export declare function durationBetweenTimestamps(startedTimestamp: messages.Timestamp, finishedTimestamp: messages.Timestamp): messages.Duration;
17
- export declare function wrapPromiseWithTimeout<T>(promise: Promise<T>, timeoutInMilliseconds: number, timeoutMessage?: string): Promise<T>;
18
- export default methods;
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { performance } from 'perf_hooks';
4
+ import * as messages from '@cucumber/messages';
5
+ interface ProtectedTimingBuiltins {
6
+ clearImmediate: typeof clearImmediate;
7
+ clearInterval: typeof clearInterval;
8
+ clearTimeout: typeof clearTimeout;
9
+ Date: typeof Date;
10
+ setImmediate: typeof setImmediate;
11
+ setInterval: typeof setInterval;
12
+ setTimeout: typeof setTimeout;
13
+ performance: typeof performance;
14
+ }
15
+ declare const methods: Partial<ProtectedTimingBuiltins>;
16
+ export declare function durationBetweenTimestamps(startedTimestamp: messages.Timestamp, finishedTimestamp: messages.Timestamp): messages.Duration;
17
+ export declare function wrapPromiseWithTimeout<T>(promise: Promise<T>, timeoutInMilliseconds: number, timeoutMessage?: string): Promise<T>;
18
+ export default methods;
package/lib/time.js CHANGED
@@ -1,61 +1,61 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.wrapPromiseWithTimeout = exports.durationBetweenTimestamps = void 0;
27
- const perf_hooks_1 = require("perf_hooks");
28
- const messages = __importStar(require("@cucumber/messages"));
29
- const methods = {
30
- clearInterval: clearInterval.bind(global),
31
- clearTimeout: clearTimeout.bind(global),
32
- Date,
33
- setInterval: setInterval.bind(global),
34
- setTimeout: setTimeout.bind(global),
35
- performance: perf_hooks_1.performance,
36
- };
37
- if (typeof setImmediate !== 'undefined') {
38
- methods.setImmediate = setImmediate.bind(global);
39
- methods.clearImmediate = clearImmediate.bind(global);
40
- }
41
- function durationBetweenTimestamps(startedTimestamp, finishedTimestamp) {
42
- const durationMillis = messages.TimeConversion.timestampToMillisecondsSinceEpoch(finishedTimestamp) -
43
- messages.TimeConversion.timestampToMillisecondsSinceEpoch(startedTimestamp);
44
- return messages.TimeConversion.millisecondsToDuration(durationMillis);
45
- }
46
- exports.durationBetweenTimestamps = durationBetweenTimestamps;
47
- async function wrapPromiseWithTimeout(promise, timeoutInMilliseconds, timeoutMessage = '') {
48
- let timeoutId;
49
- if (timeoutMessage === '') {
50
- timeoutMessage = `Action did not complete within ${timeoutInMilliseconds} milliseconds`;
51
- }
52
- const timeoutPromise = new Promise((resolve, reject) => {
53
- timeoutId = methods.setTimeout(() => {
54
- reject(new Error(timeoutMessage));
55
- }, timeoutInMilliseconds);
56
- });
57
- return await Promise.race([promise, timeoutPromise]).finally(() => methods.clearTimeout(timeoutId));
58
- }
59
- exports.wrapPromiseWithTimeout = wrapPromiseWithTimeout;
60
- exports.default = methods;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.wrapPromiseWithTimeout = exports.durationBetweenTimestamps = void 0;
27
+ const perf_hooks_1 = require("perf_hooks");
28
+ const messages = __importStar(require("@cucumber/messages"));
29
+ const methods = {
30
+ clearInterval: clearInterval.bind(global),
31
+ clearTimeout: clearTimeout.bind(global),
32
+ Date,
33
+ setInterval: setInterval.bind(global),
34
+ setTimeout: setTimeout.bind(global),
35
+ performance: perf_hooks_1.performance,
36
+ };
37
+ if (typeof setImmediate !== 'undefined') {
38
+ methods.setImmediate = setImmediate.bind(global);
39
+ methods.clearImmediate = clearImmediate.bind(global);
40
+ }
41
+ function durationBetweenTimestamps(startedTimestamp, finishedTimestamp) {
42
+ const durationMillis = messages.TimeConversion.timestampToMillisecondsSinceEpoch(finishedTimestamp) -
43
+ messages.TimeConversion.timestampToMillisecondsSinceEpoch(startedTimestamp);
44
+ return messages.TimeConversion.millisecondsToDuration(durationMillis);
45
+ }
46
+ exports.durationBetweenTimestamps = durationBetweenTimestamps;
47
+ async function wrapPromiseWithTimeout(promise, timeoutInMilliseconds, timeoutMessage = '') {
48
+ let timeoutId;
49
+ if (timeoutMessage === '') {
50
+ timeoutMessage = `Action did not complete within ${timeoutInMilliseconds} milliseconds`;
51
+ }
52
+ const timeoutPromise = new Promise((resolve, reject) => {
53
+ timeoutId = methods.setTimeout(() => {
54
+ reject(new Error(timeoutMessage));
55
+ }, timeoutInMilliseconds);
56
+ });
57
+ return await Promise.race([promise, timeoutPromise]).finally(() => methods.clearTimeout(timeoutId));
58
+ }
59
+ exports.wrapPromiseWithTimeout = wrapPromiseWithTimeout;
60
+ exports.default = methods;
61
61
  //# sourceMappingURL=time.js.map
@@ -1,7 +1,7 @@
1
- /**
2
- * Provides a try guarded require call that will throw a more detailed error when
3
- * the ERR_REQUIRE_ESM error code is encountered.
4
- *
5
- * @param {string} path File path to require from.
6
- */
7
- export default function tryRequire(path: string): any;
1
+ /**
2
+ * Provides a try guarded require call that will throw a more detailed error when
3
+ * the ERR_REQUIRE_ESM error code is encountered.
4
+ *
5
+ * @param {string} path File path to require from.
6
+ */
7
+ export default function tryRequire(path: string): any;