@dev-blinq/cucumber-js 1.0.6 → 1.0.8

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 +5 -0
  74. package/lib/formatter/bvt_formatter.js +21 -0
  75. package/lib/formatter/bvt_formatter.js.map +1 -0
  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/feature_data_format.js.map +1 -1
  79. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  80. package/lib/formatter/fixtures/typescript.js +5 -5
  81. package/lib/formatter/get_color_fns.d.ts +15 -15
  82. package/lib/formatter/get_color_fns.js +55 -55
  83. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  84. package/lib/formatter/helpers/duration_helpers.js +8 -8
  85. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  86. package/lib/formatter/helpers/event_data_collector.js +125 -125
  87. package/lib/formatter/helpers/formatters.d.ts +6 -6
  88. package/lib/formatter/helpers/formatters.js +44 -42
  89. package/lib/formatter/helpers/formatters.js.map +1 -1
  90. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  91. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  92. package/lib/formatter/helpers/index.d.ts +10 -10
  93. package/lib/formatter/helpers/index.js +51 -51
  94. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  95. package/lib/formatter/helpers/issue_helpers.js +58 -58
  96. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  97. package/lib/formatter/helpers/keyword_type.js +31 -31
  98. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  99. package/lib/formatter/helpers/location_helpers.js +16 -16
  100. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  101. package/lib/formatter/helpers/pickle_parser.js +27 -27
  102. package/lib/formatter/helpers/report_generator.d.ts +91 -0
  103. package/lib/formatter/helpers/report_generator.js +235 -0
  104. package/lib/formatter/helpers/report_generator.js.map +1 -0
  105. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  106. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  107. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  108. package/lib/formatter/helpers/summary_helpers.js +95 -95
  109. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  110. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  111. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  112. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  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 +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