@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.
- package/bin/cucumber-js +0 -0
- package/bin/cucumber.js +0 -0
- package/lib/api/console_logger.d.ts +12 -12
- package/lib/api/console_logger.js +23 -23
- package/lib/api/convert_configuration.d.ts +4 -4
- package/lib/api/convert_configuration.js +64 -64
- package/lib/api/environment.d.ts +2 -2
- package/lib/api/environment.js +13 -13
- package/lib/api/formatters.d.ts +20 -20
- package/lib/api/formatters.js +60 -60
- package/lib/api/gherkin.d.ts +21 -21
- package/lib/api/gherkin.js +99 -99
- package/lib/api/index.d.ts +12 -12
- package/lib/api/index.js +27 -27
- package/lib/api/load_configuration.d.ts +9 -9
- package/lib/api/load_configuration.js +40 -40
- package/lib/api/load_sources.d.ts +9 -9
- package/lib/api/load_sources.js +52 -52
- package/lib/api/load_support.d.ts +10 -10
- package/lib/api/load_support.js +29 -29
- package/lib/api/paths.d.ts +8 -8
- package/lib/api/paths.js +101 -101
- package/lib/api/plugins.d.ts +4 -4
- package/lib/api/plugins.js +18 -18
- package/lib/api/run_cucumber.d.ts +11 -11
- package/lib/api/run_cucumber.js +114 -114
- package/lib/api/runtime.d.ts +21 -21
- package/lib/api/runtime.js +35 -35
- package/lib/api/support.d.ts +9 -9
- package/lib/api/support.js +25 -25
- package/lib/api/test_helpers.d.ts +3 -3
- package/lib/api/test_helpers.js +30 -30
- package/lib/api/types.d.ts +175 -175
- package/lib/api/types.js +2 -2
- package/lib/cli/helpers.d.ts +37 -37
- package/lib/cli/helpers.js +202 -202
- package/lib/cli/i18n.d.ts +2 -2
- package/lib/cli/i18n.js +69 -69
- package/lib/cli/index.d.ts +21 -21
- package/lib/cli/index.js +58 -58
- package/lib/cli/install_validator.d.ts +1 -1
- package/lib/cli/install_validator.js +13 -13
- package/lib/cli/run.d.ts +1 -1
- package/lib/cli/run.js +43 -43
- package/lib/cli/validate_node_engine_version.d.ts +10 -10
- package/lib/cli/validate_node_engine_version.js +23 -23
- package/lib/configuration/argv_parser.d.ts +20 -20
- package/lib/configuration/argv_parser.js +100 -100
- package/lib/configuration/check_schema.d.ts +2 -2
- package/lib/configuration/check_schema.js +59 -59
- package/lib/configuration/default_configuration.d.ts +2 -2
- package/lib/configuration/default_configuration.js +26 -26
- package/lib/configuration/from_file.d.ts +3 -3
- package/lib/configuration/from_file.js +84 -84
- package/lib/configuration/helpers.d.ts +1 -1
- package/lib/configuration/helpers.js +10 -10
- package/lib/configuration/index.d.ts +7 -7
- package/lib/configuration/index.js +28 -28
- package/lib/configuration/locate_file.d.ts +1 -1
- package/lib/configuration/locate_file.js +20 -20
- package/lib/configuration/merge_configurations.d.ts +2 -2
- package/lib/configuration/merge_configurations.js +47 -47
- package/lib/configuration/option_splitter.d.ts +3 -3
- package/lib/configuration/option_splitter.js +22 -22
- package/lib/configuration/types.d.ts +28 -28
- package/lib/configuration/types.js +2 -2
- package/lib/configuration/validate_configuration.d.ts +3 -3
- package/lib/configuration/validate_configuration.js +12 -12
- package/lib/filter_stack_trace.d.ts +3 -3
- package/lib/filter_stack_trace.js +37 -37
- package/lib/formatter/builder.d.ts +37 -37
- package/lib/formatter/builder.js +100 -100
- package/lib/formatter/bvt_formatter.d.ts +5 -0
- package/lib/formatter/bvt_formatter.js +21 -0
- package/lib/formatter/bvt_formatter.js.map +1 -0
- package/lib/formatter/feature_data_format.d.ts +14 -14
- package/lib/formatter/feature_data_format.js +80 -80
- package/lib/formatter/feature_data_format.js.map +1 -1
- package/lib/formatter/fixtures/typescript.d.ts +2 -2
- package/lib/formatter/fixtures/typescript.js +5 -5
- package/lib/formatter/get_color_fns.d.ts +15 -15
- package/lib/formatter/get_color_fns.js +55 -55
- package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
- package/lib/formatter/helpers/duration_helpers.js +8 -8
- package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
- package/lib/formatter/helpers/event_data_collector.js +125 -125
- package/lib/formatter/helpers/formatters.d.ts +6 -6
- package/lib/formatter/helpers/formatters.js +44 -42
- package/lib/formatter/helpers/formatters.js.map +1 -1
- package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
- package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
- package/lib/formatter/helpers/index.d.ts +10 -10
- package/lib/formatter/helpers/index.js +51 -51
- package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
- package/lib/formatter/helpers/issue_helpers.js +58 -58
- package/lib/formatter/helpers/keyword_type.d.ts +11 -11
- package/lib/formatter/helpers/keyword_type.js +31 -31
- package/lib/formatter/helpers/location_helpers.d.ts +2 -2
- package/lib/formatter/helpers/location_helpers.js +16 -16
- package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
- package/lib/formatter/helpers/pickle_parser.js +27 -27
- package/lib/formatter/helpers/report_generator.d.ts +91 -0
- package/lib/formatter/helpers/report_generator.js +235 -0
- package/lib/formatter/helpers/report_generator.js.map +1 -0
- package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
- package/lib/formatter/helpers/step_argument_formatter.js +47 -47
- package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
- package/lib/formatter/helpers/summary_helpers.js +95 -95
- package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
- package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
- package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
- package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
- package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
- package/lib/formatter/helpers/usage_helpers/index.js +110 -110
- package/lib/formatter/html_formatter.d.ts +7 -7
- package/lib/formatter/html_formatter.js +29 -29
- package/lib/formatter/index.d.ts +53 -53
- package/lib/formatter/index.js +20 -20
- package/lib/formatter/json_formatter.d.ts +78 -78
- package/lib/formatter/json_formatter.js +229 -229
- package/lib/formatter/junit_formatter.d.ts +17 -17
- package/lib/formatter/junit_formatter.js +180 -180
- package/lib/formatter/message_formatter.d.ts +5 -5
- package/lib/formatter/message_formatter.js +14 -14
- package/lib/formatter/progress_bar_formatter.d.ts +18 -18
- package/lib/formatter/progress_bar_formatter.js +98 -98
- package/lib/formatter/progress_formatter.d.ts +9 -9
- package/lib/formatter/progress_formatter.js +58 -58
- package/lib/formatter/rerun_formatter.d.ts +13 -13
- package/lib/formatter/rerun_formatter.js +79 -79
- package/lib/formatter/snippets_formatter.d.ts +6 -6
- package/lib/formatter/snippets_formatter.js +60 -60
- package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
- package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
- package/lib/formatter/summary_formatter.d.ts +14 -14
- package/lib/formatter/summary_formatter.js +67 -67
- package/lib/formatter/usage_formatter.d.ts +6 -6
- package/lib/formatter/usage_formatter.js +97 -97
- package/lib/formatter/usage_json_formatter.d.ts +7 -7
- package/lib/formatter/usage_json_formatter.js +33 -33
- package/lib/index.d.ts +58 -58
- package/lib/index.js +108 -108
- package/lib/logger.d.ts +5 -5
- package/lib/logger.js +2 -2
- package/lib/models/data_table.d.ts +10 -10
- package/lib/models/data_table.js +45 -45
- package/lib/models/definition.d.ts +55 -55
- package/lib/models/definition.js +21 -21
- package/lib/models/gherkin_step_keyword.d.ts +1 -1
- package/lib/models/gherkin_step_keyword.js +2 -2
- package/lib/models/pickle_order.d.ts +1 -1
- package/lib/models/pickle_order.js +2 -2
- package/lib/models/step_definition.d.ts +11 -11
- package/lib/models/step_definition.js +36 -36
- package/lib/models/test_case_hook_definition.d.ts +10 -10
- package/lib/models/test_case_hook_definition.js +26 -26
- package/lib/models/test_run_hook_definition.d.ts +3 -3
- package/lib/models/test_run_hook_definition.js +9 -9
- package/lib/models/test_step_hook_definition.d.ts +9 -9
- package/lib/models/test_step_hook_definition.js +25 -25
- package/lib/pickle_filter.d.ts +42 -42
- package/lib/pickle_filter.js +98 -98
- package/lib/plugin/index.d.ts +2 -2
- package/lib/plugin/index.js +18 -18
- package/lib/plugin/plugin_manager.d.ts +13 -13
- package/lib/plugin/plugin_manager.js +35 -35
- package/lib/plugin/types.d.ts +14 -14
- package/lib/plugin/types.js +2 -2
- package/lib/publish/http_stream.d.ts +30 -30
- package/lib/publish/http_stream.js +111 -111
- package/lib/publish/index.d.ts +2 -2
- package/lib/publish/index.js +4 -4
- package/lib/publish/publish_plugin.d.ts +2 -2
- package/lib/publish/publish_plugin.js +47 -47
- package/lib/runtime/assemble_test_cases.d.ts +13 -13
- package/lib/runtime/assemble_test_cases.js +87 -87
- package/lib/runtime/attachment_manager/index.d.ts +33 -33
- package/lib/runtime/attachment_manager/index.js +118 -118
- package/lib/runtime/format_error.d.ts +2 -2
- package/lib/runtime/format_error.js +35 -35
- package/lib/runtime/helpers.d.ts +6 -6
- package/lib/runtime/helpers.js +100 -100
- package/lib/runtime/index.d.ts +40 -40
- package/lib/runtime/index.js +75 -75
- package/lib/runtime/parallel/command_types.d.ts +32 -32
- package/lib/runtime/parallel/command_types.js +2 -2
- package/lib/runtime/parallel/coordinator.d.ts +72 -72
- package/lib/runtime/parallel/coordinator.js +221 -221
- package/lib/runtime/parallel/run_worker.d.ts +1 -1
- package/lib/runtime/parallel/run_worker.js +28 -28
- package/lib/runtime/parallel/worker.d.ts +26 -26
- package/lib/runtime/parallel/worker.js +86 -86
- package/lib/runtime/run_test_run_hooks.d.ts +3 -3
- package/lib/runtime/run_test_run_hooks.js +27 -27
- package/lib/runtime/step_runner.d.ts +16 -16
- package/lib/runtime/step_runner.js +87 -87
- package/lib/runtime/stopwatch.d.ts +12 -12
- package/lib/runtime/stopwatch.js +33 -33
- package/lib/runtime/test_case_runner.d.ts +54 -54
- package/lib/runtime/test_case_runner.js +267 -267
- package/lib/step_arguments.d.ts +6 -6
- package/lib/step_arguments.js +18 -18
- package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
- package/lib/support_code_library_builder/build_parameter_type.js +12 -12
- package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
- package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
- package/lib/support_code_library_builder/index.d.ts +74 -74
- package/lib/support_code_library_builder/index.js +296 -296
- package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
- package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
- package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
- package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
- package/lib/support_code_library_builder/types.d.ts +88 -88
- package/lib/support_code_library_builder/types.js +2 -2
- package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
- package/lib/support_code_library_builder/validate_arguments.js +72 -72
- package/lib/support_code_library_builder/world.d.ts +18 -18
- package/lib/support_code_library_builder/world.js +10 -10
- package/lib/time.d.ts +18 -18
- package/lib/time.js +60 -60
- package/lib/try_require.d.ts +7 -7
- package/lib/try_require.js +22 -22
- package/lib/types/index.d.ts +4 -4
- package/lib/types/index.js +2 -2
- package/lib/uncaught_exception_manager.d.ts +7 -7
- package/lib/uncaught_exception_manager.js +11 -11
- package/lib/user_code_runner.d.ts +14 -14
- package/lib/user_code_runner.js +81 -81
- package/lib/value_checker.d.ts +3 -3
- package/lib/value_checker.js +18 -18
- package/lib/version.d.ts +1 -1
- package/lib/version.js +5 -5
- package/lib/version.js.map +1 -1
- 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
|