@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,46 +1,46 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const snippet_syntax_1 = require("./snippet_syntax");
4
- const CALLBACK_NAME = 'callback';
5
- class JavaScriptSnippetSyntax {
6
- constructor(snippetInterface) {
7
- this.snippetInterface = snippetInterface;
8
- }
9
- build({ comment, generatedExpressions, functionName, stepParameterNames, }) {
10
- let functionKeyword = 'function ';
11
- if (this.snippetInterface === snippet_syntax_1.SnippetInterface.AsyncAwait) {
12
- functionKeyword = 'async ' + functionKeyword;
13
- }
14
- let implementation;
15
- if (this.snippetInterface === snippet_syntax_1.SnippetInterface.Callback) {
16
- implementation = `${CALLBACK_NAME}(null, 'pending');`;
17
- }
18
- else if (this.snippetInterface === snippet_syntax_1.SnippetInterface.Promise) {
19
- implementation = "return Promise.resolve('pending');";
20
- }
21
- else {
22
- implementation = "return 'pending';";
23
- }
24
- const definitionChoices = generatedExpressions.map((generatedExpression, index) => {
25
- const prefix = index === 0 ? '' : '// ';
26
- const allParameterNames = generatedExpression.parameterNames.concat(stepParameterNames);
27
- if (this.snippetInterface === snippet_syntax_1.SnippetInterface.Callback) {
28
- allParameterNames.push(CALLBACK_NAME);
29
- }
30
- return `${prefix + functionName}('${this.escapeSpecialCharacters(generatedExpression)}', ${functionKeyword}(${allParameterNames.join(', ')}) {\n`;
31
- });
32
- return (`${definitionChoices.join('')} // ${comment}\n` +
33
- ` ${implementation}\n` +
34
- '});');
35
- }
36
- escapeSpecialCharacters(generatedExpression) {
37
- let source = generatedExpression.source;
38
- // double up any backslashes because we're in a javascript string
39
- source = source.replace(/\\/g, '\\\\');
40
- // escape any single quotes because that's our quote delimiter
41
- source = source.replace(/'/g, "\\'");
42
- return source;
43
- }
44
- }
45
- exports.default = JavaScriptSnippetSyntax;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const snippet_syntax_1 = require("./snippet_syntax");
4
+ const CALLBACK_NAME = 'callback';
5
+ class JavaScriptSnippetSyntax {
6
+ constructor(snippetInterface) {
7
+ this.snippetInterface = snippetInterface;
8
+ }
9
+ build({ comment, generatedExpressions, functionName, stepParameterNames, }) {
10
+ let functionKeyword = 'function ';
11
+ if (this.snippetInterface === snippet_syntax_1.SnippetInterface.AsyncAwait) {
12
+ functionKeyword = 'async ' + functionKeyword;
13
+ }
14
+ let implementation;
15
+ if (this.snippetInterface === snippet_syntax_1.SnippetInterface.Callback) {
16
+ implementation = `${CALLBACK_NAME}(null, 'pending');`;
17
+ }
18
+ else if (this.snippetInterface === snippet_syntax_1.SnippetInterface.Promise) {
19
+ implementation = "return Promise.resolve('pending');";
20
+ }
21
+ else {
22
+ implementation = "return 'pending';";
23
+ }
24
+ const definitionChoices = generatedExpressions.map((generatedExpression, index) => {
25
+ const prefix = index === 0 ? '' : '// ';
26
+ const allParameterNames = generatedExpression.parameterNames.concat(stepParameterNames);
27
+ if (this.snippetInterface === snippet_syntax_1.SnippetInterface.Callback) {
28
+ allParameterNames.push(CALLBACK_NAME);
29
+ }
30
+ return `${prefix + functionName}('${this.escapeSpecialCharacters(generatedExpression)}', ${functionKeyword}(${allParameterNames.join(', ')}) {\n`;
31
+ });
32
+ return (`${definitionChoices.join('')} // ${comment}\n` +
33
+ ` ${implementation}\n` +
34
+ '});');
35
+ }
36
+ escapeSpecialCharacters(generatedExpression) {
37
+ let source = generatedExpression.source;
38
+ // double up any backslashes because we're in a javascript string
39
+ source = source.replace(/\\/g, '\\\\');
40
+ // escape any single quotes because that's our quote delimiter
41
+ source = source.replace(/'/g, "\\'");
42
+ return source;
43
+ }
44
+ }
45
+ exports.default = JavaScriptSnippetSyntax;
46
46
  //# sourceMappingURL=javascript_snippet_syntax.js.map
@@ -1,16 +1,16 @@
1
- import { GeneratedExpression } from '@cucumber/cucumber-expressions';
2
- export declare enum SnippetInterface {
3
- AsyncAwait = "async-await",
4
- Callback = "callback",
5
- Promise = "promise",
6
- Synchronous = "synchronous"
7
- }
8
- export interface ISnippetSyntaxBuildOptions {
9
- comment: string;
10
- functionName: string;
11
- generatedExpressions: readonly GeneratedExpression[];
12
- stepParameterNames: string[];
13
- }
14
- export interface ISnippetSnytax {
15
- build: (options: ISnippetSyntaxBuildOptions) => string;
16
- }
1
+ import { GeneratedExpression } from '@cucumber/cucumber-expressions';
2
+ export declare enum SnippetInterface {
3
+ AsyncAwait = "async-await",
4
+ Callback = "callback",
5
+ Promise = "promise",
6
+ Synchronous = "synchronous"
7
+ }
8
+ export interface ISnippetSyntaxBuildOptions {
9
+ comment: string;
10
+ functionName: string;
11
+ generatedExpressions: readonly GeneratedExpression[];
12
+ stepParameterNames: string[];
13
+ }
14
+ export interface ISnippetSnytax {
15
+ build: (options: ISnippetSyntaxBuildOptions) => string;
16
+ }
@@ -1,11 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SnippetInterface = void 0;
4
- var SnippetInterface;
5
- (function (SnippetInterface) {
6
- SnippetInterface["AsyncAwait"] = "async-await";
7
- SnippetInterface["Callback"] = "callback";
8
- SnippetInterface["Promise"] = "promise";
9
- SnippetInterface["Synchronous"] = "synchronous";
10
- })(SnippetInterface = exports.SnippetInterface || (exports.SnippetInterface = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SnippetInterface = void 0;
4
+ var SnippetInterface;
5
+ (function (SnippetInterface) {
6
+ SnippetInterface["AsyncAwait"] = "async-await";
7
+ SnippetInterface["Callback"] = "callback";
8
+ SnippetInterface["Promise"] = "promise";
9
+ SnippetInterface["Synchronous"] = "synchronous";
10
+ })(SnippetInterface = exports.SnippetInterface || (exports.SnippetInterface = {}));
11
11
  //# sourceMappingURL=snippet_syntax.js.map
@@ -1,14 +1,14 @@
1
- import Formatter, { IFormatterOptions } from './';
2
- import * as messages from '@cucumber/messages';
3
- import { ITestCaseAttempt } from './helpers/event_data_collector';
4
- interface ILogIssuesRequest {
5
- issues: ITestCaseAttempt[];
6
- title: string;
7
- }
8
- export default class SummaryFormatter extends Formatter {
9
- static readonly documentation: string;
10
- constructor(options: IFormatterOptions);
11
- logSummary(testRunDuration: messages.Duration): void;
12
- logIssues({ issues, title }: ILogIssuesRequest): void;
13
- }
14
- export {};
1
+ import Formatter, { IFormatterOptions } from './';
2
+ import * as messages from '@cucumber/messages';
3
+ import { ITestCaseAttempt } from './helpers/event_data_collector';
4
+ interface ILogIssuesRequest {
5
+ issues: ITestCaseAttempt[];
6
+ title: string;
7
+ }
8
+ export default class SummaryFormatter extends Formatter {
9
+ static readonly documentation: string;
10
+ constructor(options: IFormatterOptions);
11
+ logSummary(testRunDuration: messages.Duration): void;
12
+ logIssues({ issues, title }: ILogIssuesRequest): void;
13
+ }
14
+ export {};
@@ -1,68 +1,68 @@
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
- const helpers_1 = require("./helpers");
7
- const _1 = __importDefault(require("./"));
8
- const value_checker_1 = require("../value_checker");
9
- const issue_helpers_1 = require("./helpers/issue_helpers");
10
- const time_1 = require("../time");
11
- class SummaryFormatter extends _1.default {
12
- constructor(options) {
13
- super(options);
14
- let testRunStartedTimestamp;
15
- options.eventBroadcaster.on('envelope', (envelope) => {
16
- if ((0, value_checker_1.doesHaveValue)(envelope.testRunStarted)) {
17
- testRunStartedTimestamp = envelope.testRunStarted.timestamp;
18
- }
19
- if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
20
- const testRunFinishedTimestamp = envelope.testRunFinished.timestamp;
21
- this.logSummary((0, time_1.durationBetweenTimestamps)(testRunStartedTimestamp, testRunFinishedTimestamp));
22
- }
23
- });
24
- }
25
- logSummary(testRunDuration) {
26
- const failures = [];
27
- const warnings = [];
28
- const testCaseAttempts = this.eventDataCollector.getTestCaseAttempts();
29
- testCaseAttempts.forEach((testCaseAttempt) => {
30
- if ((0, helpers_1.isFailure)(testCaseAttempt.worstTestStepResult, testCaseAttempt.willBeRetried)) {
31
- failures.push(testCaseAttempt);
32
- }
33
- else if ((0, helpers_1.isWarning)(testCaseAttempt.worstTestStepResult, testCaseAttempt.willBeRetried)) {
34
- warnings.push(testCaseAttempt);
35
- }
36
- });
37
- if (this.eventDataCollector.undefinedParameterTypes.length > 0) {
38
- this.log((0, issue_helpers_1.formatUndefinedParameterTypes)(this.eventDataCollector.undefinedParameterTypes));
39
- }
40
- if (failures.length > 0) {
41
- this.logIssues({ issues: failures, title: 'Failures' });
42
- }
43
- if (warnings.length > 0) {
44
- this.logIssues({ issues: warnings, title: 'Warnings' });
45
- }
46
- this.log((0, helpers_1.formatSummary)({
47
- colorFns: this.colorFns,
48
- testCaseAttempts,
49
- testRunDuration,
50
- }));
51
- }
52
- logIssues({ issues, title }) {
53
- this.log(`${title}:\n\n`);
54
- issues.forEach((testCaseAttempt, index) => {
55
- this.log((0, helpers_1.formatIssue)({
56
- colorFns: this.colorFns,
57
- number: index + 1,
58
- snippetBuilder: this.snippetBuilder,
59
- supportCodeLibrary: this.supportCodeLibrary,
60
- testCaseAttempt,
61
- printAttachments: this.printAttachments,
62
- }));
63
- });
64
- }
65
- }
66
- exports.default = SummaryFormatter;
67
- SummaryFormatter.documentation = 'Summary output of feature and scenarios';
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
+ const helpers_1 = require("./helpers");
7
+ const _1 = __importDefault(require("./"));
8
+ const value_checker_1 = require("../value_checker");
9
+ const issue_helpers_1 = require("./helpers/issue_helpers");
10
+ const time_1 = require("../time");
11
+ class SummaryFormatter extends _1.default {
12
+ constructor(options) {
13
+ super(options);
14
+ let testRunStartedTimestamp;
15
+ options.eventBroadcaster.on('envelope', (envelope) => {
16
+ if ((0, value_checker_1.doesHaveValue)(envelope.testRunStarted)) {
17
+ testRunStartedTimestamp = envelope.testRunStarted.timestamp;
18
+ }
19
+ if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
20
+ const testRunFinishedTimestamp = envelope.testRunFinished.timestamp;
21
+ this.logSummary((0, time_1.durationBetweenTimestamps)(testRunStartedTimestamp, testRunFinishedTimestamp));
22
+ }
23
+ });
24
+ }
25
+ logSummary(testRunDuration) {
26
+ const failures = [];
27
+ const warnings = [];
28
+ const testCaseAttempts = this.eventDataCollector.getTestCaseAttempts();
29
+ testCaseAttempts.forEach((testCaseAttempt) => {
30
+ if ((0, helpers_1.isFailure)(testCaseAttempt.worstTestStepResult, testCaseAttempt.willBeRetried)) {
31
+ failures.push(testCaseAttempt);
32
+ }
33
+ else if ((0, helpers_1.isWarning)(testCaseAttempt.worstTestStepResult, testCaseAttempt.willBeRetried)) {
34
+ warnings.push(testCaseAttempt);
35
+ }
36
+ });
37
+ if (this.eventDataCollector.undefinedParameterTypes.length > 0) {
38
+ this.log((0, issue_helpers_1.formatUndefinedParameterTypes)(this.eventDataCollector.undefinedParameterTypes));
39
+ }
40
+ if (failures.length > 0) {
41
+ this.logIssues({ issues: failures, title: 'Failures' });
42
+ }
43
+ if (warnings.length > 0) {
44
+ this.logIssues({ issues: warnings, title: 'Warnings' });
45
+ }
46
+ this.log((0, helpers_1.formatSummary)({
47
+ colorFns: this.colorFns,
48
+ testCaseAttempts,
49
+ testRunDuration,
50
+ }));
51
+ }
52
+ logIssues({ issues, title }) {
53
+ this.log(`${title}:\n\n`);
54
+ issues.forEach((testCaseAttempt, index) => {
55
+ this.log((0, helpers_1.formatIssue)({
56
+ colorFns: this.colorFns,
57
+ number: index + 1,
58
+ snippetBuilder: this.snippetBuilder,
59
+ supportCodeLibrary: this.supportCodeLibrary,
60
+ testCaseAttempt,
61
+ printAttachments: this.printAttachments,
62
+ }));
63
+ });
64
+ }
65
+ }
66
+ exports.default = SummaryFormatter;
67
+ SummaryFormatter.documentation = 'Summary output of feature and scenarios';
68
68
  //# sourceMappingURL=summary_formatter.js.map
@@ -1,6 +1,6 @@
1
- import Formatter, { IFormatterOptions } from './';
2
- export default class UsageFormatter extends Formatter {
3
- static readonly documentation: string;
4
- constructor(options: IFormatterOptions);
5
- logUsage(): void;
6
- }
1
+ import Formatter, { IFormatterOptions } from './';
2
+ export default class UsageFormatter extends Formatter {
3
+ static readonly documentation: string;
4
+ constructor(options: IFormatterOptions);
5
+ logUsage(): void;
6
+ }
@@ -1,98 +1,98 @@
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 helpers_1 = require("./helpers");
30
- const _1 = __importDefault(require("./"));
31
- const cli_table3_1 = __importDefault(require("cli-table3"));
32
- const value_checker_1 = require("../value_checker");
33
- const messages = __importStar(require("@cucumber/messages"));
34
- class UsageFormatter extends _1.default {
35
- constructor(options) {
36
- super(options);
37
- options.eventBroadcaster.on('envelope', (envelope) => {
38
- if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
39
- this.logUsage();
40
- }
41
- });
42
- }
43
- logUsage() {
44
- const usage = (0, helpers_1.getUsage)({
45
- stepDefinitions: this.supportCodeLibrary.stepDefinitions,
46
- eventDataCollector: this.eventDataCollector,
47
- });
48
- if (usage.length === 0) {
49
- this.log('No step definitions');
50
- return;
51
- }
52
- const table = new cli_table3_1.default({
53
- head: ['Pattern / Text', 'Duration', 'Location'],
54
- style: {
55
- border: [],
56
- head: [],
57
- },
58
- });
59
- usage.forEach(({ line, matches, meanDuration, pattern, patternType, uri }) => {
60
- let formattedPattern = pattern;
61
- if (patternType === 'RegularExpression') {
62
- formattedPattern = '/' + formattedPattern + '/';
63
- }
64
- const col1 = [formattedPattern];
65
- const col2 = [];
66
- if (matches.length > 0) {
67
- if ((0, value_checker_1.doesHaveValue)(meanDuration)) {
68
- col2.push(`${messages.TimeConversion.durationToMilliseconds(meanDuration).toFixed(2)}ms`);
69
- }
70
- else {
71
- col2.push('-');
72
- }
73
- }
74
- else {
75
- col2.push('UNUSED');
76
- }
77
- const col3 = [(0, helpers_1.formatLocation)({ line, uri })];
78
- matches.slice(0, 5).forEach((match) => {
79
- col1.push(` ${match.text}`);
80
- if ((0, value_checker_1.doesHaveValue)(match.duration)) {
81
- col2.push(`${messages.TimeConversion.durationToMilliseconds(match.duration).toFixed(2)}ms`);
82
- }
83
- else {
84
- col2.push('-');
85
- }
86
- col3.push((0, helpers_1.formatLocation)(match));
87
- });
88
- if (matches.length > 5) {
89
- col1.push(` ${(matches.length - 5).toString()} more`);
90
- }
91
- table.push([col1.join('\n'), col2.join('\n'), col3.join('\n')]);
92
- });
93
- this.log(`${table.toString()}\n`);
94
- }
95
- }
96
- exports.default = UsageFormatter;
97
- UsageFormatter.documentation = 'Prints where step definitions are used. The slowest step definitions (with duration) are listed first. If --dry-run is used the duration is not shown, and step definitions are sorted by filename instead.';
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 helpers_1 = require("./helpers");
30
+ const _1 = __importDefault(require("./"));
31
+ const cli_table3_1 = __importDefault(require("cli-table3"));
32
+ const value_checker_1 = require("../value_checker");
33
+ const messages = __importStar(require("@cucumber/messages"));
34
+ class UsageFormatter extends _1.default {
35
+ constructor(options) {
36
+ super(options);
37
+ options.eventBroadcaster.on('envelope', (envelope) => {
38
+ if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
39
+ this.logUsage();
40
+ }
41
+ });
42
+ }
43
+ logUsage() {
44
+ const usage = (0, helpers_1.getUsage)({
45
+ stepDefinitions: this.supportCodeLibrary.stepDefinitions,
46
+ eventDataCollector: this.eventDataCollector,
47
+ });
48
+ if (usage.length === 0) {
49
+ this.log('No step definitions');
50
+ return;
51
+ }
52
+ const table = new cli_table3_1.default({
53
+ head: ['Pattern / Text', 'Duration', 'Location'],
54
+ style: {
55
+ border: [],
56
+ head: [],
57
+ },
58
+ });
59
+ usage.forEach(({ line, matches, meanDuration, pattern, patternType, uri }) => {
60
+ let formattedPattern = pattern;
61
+ if (patternType === 'RegularExpression') {
62
+ formattedPattern = '/' + formattedPattern + '/';
63
+ }
64
+ const col1 = [formattedPattern];
65
+ const col2 = [];
66
+ if (matches.length > 0) {
67
+ if ((0, value_checker_1.doesHaveValue)(meanDuration)) {
68
+ col2.push(`${messages.TimeConversion.durationToMilliseconds(meanDuration).toFixed(2)}ms`);
69
+ }
70
+ else {
71
+ col2.push('-');
72
+ }
73
+ }
74
+ else {
75
+ col2.push('UNUSED');
76
+ }
77
+ const col3 = [(0, helpers_1.formatLocation)({ line, uri })];
78
+ matches.slice(0, 5).forEach((match) => {
79
+ col1.push(` ${match.text}`);
80
+ if ((0, value_checker_1.doesHaveValue)(match.duration)) {
81
+ col2.push(`${messages.TimeConversion.durationToMilliseconds(match.duration).toFixed(2)}ms`);
82
+ }
83
+ else {
84
+ col2.push('-');
85
+ }
86
+ col3.push((0, helpers_1.formatLocation)(match));
87
+ });
88
+ if (matches.length > 5) {
89
+ col1.push(` ${(matches.length - 5).toString()} more`);
90
+ }
91
+ table.push([col1.join('\n'), col2.join('\n'), col3.join('\n')]);
92
+ });
93
+ this.log(`${table.toString()}\n`);
94
+ }
95
+ }
96
+ exports.default = UsageFormatter;
97
+ UsageFormatter.documentation = 'Prints where step definitions are used. The slowest step definitions (with duration) are listed first. If --dry-run is used the duration is not shown, and step definitions are sorted by filename instead.';
98
98
  //# sourceMappingURL=usage_formatter.js.map
@@ -1,7 +1,7 @@
1
- import Formatter, { IFormatterOptions } from './';
2
- export default class UsageJsonFormatter extends Formatter {
3
- static readonly documentation: string;
4
- constructor(options: IFormatterOptions);
5
- logUsage(): void;
6
- replacer(key: string, value: any): any;
7
- }
1
+ import Formatter, { IFormatterOptions } from './';
2
+ export default class UsageJsonFormatter extends Formatter {
3
+ static readonly documentation: string;
4
+ constructor(options: IFormatterOptions);
5
+ logUsage(): void;
6
+ replacer(key: string, value: any): any;
7
+ }
@@ -1,34 +1,34 @@
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
- const helpers_1 = require("./helpers");
7
- const _1 = __importDefault(require("./"));
8
- const value_checker_1 = require("../value_checker");
9
- class UsageJsonFormatter extends _1.default {
10
- constructor(options) {
11
- super(options);
12
- options.eventBroadcaster.on('envelope', (envelope) => {
13
- if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
14
- this.logUsage();
15
- }
16
- });
17
- }
18
- logUsage() {
19
- const usage = (0, helpers_1.getUsage)({
20
- stepDefinitions: this.supportCodeLibrary.stepDefinitions,
21
- eventDataCollector: this.eventDataCollector,
22
- });
23
- this.log(JSON.stringify(usage, this.replacer, 2));
24
- }
25
- replacer(key, value) {
26
- if (key === 'seconds') {
27
- return parseInt(value);
28
- }
29
- return value;
30
- }
31
- }
32
- exports.default = UsageJsonFormatter;
33
- UsageJsonFormatter.documentation = 'Does what the Usage Formatter does, but outputs JSON, which can be output to a file and then consumed by other tools.';
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
+ const helpers_1 = require("./helpers");
7
+ const _1 = __importDefault(require("./"));
8
+ const value_checker_1 = require("../value_checker");
9
+ class UsageJsonFormatter extends _1.default {
10
+ constructor(options) {
11
+ super(options);
12
+ options.eventBroadcaster.on('envelope', (envelope) => {
13
+ if ((0, value_checker_1.doesHaveValue)(envelope.testRunFinished)) {
14
+ this.logUsage();
15
+ }
16
+ });
17
+ }
18
+ logUsage() {
19
+ const usage = (0, helpers_1.getUsage)({
20
+ stepDefinitions: this.supportCodeLibrary.stepDefinitions,
21
+ eventDataCollector: this.eventDataCollector,
22
+ });
23
+ this.log(JSON.stringify(usage, this.replacer, 2));
24
+ }
25
+ replacer(key, value) {
26
+ if (key === 'seconds') {
27
+ return parseInt(value);
28
+ }
29
+ return value;
30
+ }
31
+ }
32
+ exports.default = UsageJsonFormatter;
33
+ UsageJsonFormatter.documentation = 'Does what the Usage Formatter does, but outputs JSON, which can be output to a file and then consumed by other tools.';
34
34
  //# sourceMappingURL=usage_json_formatter.js.map