@serenity-js/cucumber 2.31.0 → 2.32.2
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/CHANGELOG.md +39 -0
- package/lib/cli/CucumberCLIAdapter.d.ts +2 -2
- package/lib/cli/CucumberCLIAdapter.js +2 -2
- package/lib/cli/CucumberCLIAdapter.js.map +1 -1
- package/lib/cli/CucumberFormat.js +1 -1
- package/lib/cli/CucumberFormat.js.map +1 -1
- package/lib/cli/CucumberOptions.d.ts +3 -2
- package/lib/cli/CucumberOptions.js +5 -3
- package/lib/cli/CucumberOptions.js.map +1 -1
- package/lib/listeners/legacy/CucumberEventProtocolAdapter.js +12 -12
- package/lib/listeners/legacy/CucumberEventProtocolAdapter.js.map +1 -1
- package/lib/listeners/legacy/cucumber-3.js +1 -1
- package/lib/listeners/legacy/cucumber-3.js.map +1 -1
- package/lib/listeners/legacy/cucumber-4.js +1 -1
- package/lib/listeners/legacy/cucumber-4.js.map +1 -1
- package/package.json +6 -6
- package/src/cli/CucumberCLIAdapter.ts +3 -2
- package/src/cli/CucumberOptions.ts +8 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,45 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.32.2](https://github.com/serenity-js/serenity-js/compare/v2.32.1...v2.32.2) (2021-10-04)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @serenity-js/cucumber
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [2.32.1](https://github.com/serenity-js/serenity-js/compare/v2.32.0...v2.32.1) (2021-09-17)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **deps:** update dependency @cucumber/messages to v17 ([3514a91](https://github.com/serenity-js/serenity-js/commit/3514a91b75382e3cbd03c044e8db051622d61a8a))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [2.32.0](https://github.com/serenity-js/serenity-js/compare/v2.31.1...v2.32.0) (2021-09-08)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @serenity-js/cucumber
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## [2.31.1](https://github.com/serenity-js/serenity-js/compare/v2.31.0...v2.31.1) (2021-08-27)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Bug Fixes
|
|
37
|
+
|
|
38
|
+
* **cucumber:** don't pass the "rerun" file to Cucumber if it doesn't exist ([b08eca2](https://github.com/serenity-js/serenity-js/commit/b08eca2b849194835385d0966b0f4a9895fe1d24)), closes [#971](https://github.com/serenity-js/serenity-js/issues/971) [protractor-cucumber-framework/protractor-cucumber-framework#219](https://github.com/protractor-cucumber-framework/protractor-cucumber-framework/issues/219)
|
|
39
|
+
* **cucumber:** fixed duplicate "rerun" param passed to Cucumber ([8d93788](https://github.com/serenity-js/serenity-js/commit/8d937885ce1f230c41cb3b40c0e7026c859cbad6)), closes [#971](https://github.com/serenity-js/serenity-js/issues/971)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
6
45
|
# [2.31.0](https://github.com/serenity-js/serenity-js/compare/v2.30.3...v2.31.0) (2021-08-23)
|
|
7
46
|
|
|
8
47
|
**Note:** Version bump only for package @serenity-js/cucumber
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ModuleLoader, TestRunnerAdapter } from '@serenity-js/core/lib/io';
|
|
1
|
+
import { FileSystem, ModuleLoader, TestRunnerAdapter } from '@serenity-js/core/lib/io';
|
|
2
2
|
import { Outcome } from '@serenity-js/core/lib/model';
|
|
3
3
|
import { CucumberConfig } from './CucumberConfig';
|
|
4
4
|
import { SerenityFormatterOutput } from './output';
|
|
@@ -20,7 +20,7 @@ export declare class CucumberCLIAdapter implements TestRunnerAdapter {
|
|
|
20
20
|
*
|
|
21
21
|
* @see {@link CucumberConfig}
|
|
22
22
|
*/
|
|
23
|
-
constructor(config: CucumberConfig, loader: ModuleLoader, output: SerenityFormatterOutput);
|
|
23
|
+
constructor(config: CucumberConfig, loader: ModuleLoader, fileSystem: FileSystem, output: SerenityFormatterOutput);
|
|
24
24
|
/**
|
|
25
25
|
* @desc
|
|
26
26
|
* Scenario success threshold for this test runner, calculated based on {@link CucumberConfig}
|
|
@@ -19,11 +19,11 @@ class CucumberCLIAdapter {
|
|
|
19
19
|
*
|
|
20
20
|
* @see {@link CucumberConfig}
|
|
21
21
|
*/
|
|
22
|
-
constructor(config, loader, output) {
|
|
22
|
+
constructor(config, loader, fileSystem, output) {
|
|
23
23
|
this.loader = loader;
|
|
24
24
|
this.output = output;
|
|
25
25
|
this.pathsToScenarios = [];
|
|
26
|
-
this.options = new CucumberOptions_1.CucumberOptions(config);
|
|
26
|
+
this.options = new CucumberOptions_1.CucumberOptions(fileSystem, config);
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* @desc
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CucumberCLIAdapter.js","sourceRoot":"","sources":["../../src/cli/CucumberCLIAdapter.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"CucumberCLIAdapter.js","sourceRoot":"","sources":["../../src/cli/CucumberCLIAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ class CucumberFormat {
|
|
|
15
15
|
*/
|
|
16
16
|
constructor(value) {
|
|
17
17
|
this.value = value;
|
|
18
|
-
[this.formatter, this.output] = CucumberFormat.split(tiny_types_1.ensure('format', value, tiny_types_1.isString(), tiny_types_1.isNotBlank()));
|
|
18
|
+
[this.formatter, this.output] = CucumberFormat.split((0, tiny_types_1.ensure)('format', value, (0, tiny_types_1.isString)(), (0, tiny_types_1.isNotBlank)()));
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* @see https://github.com/cucumber/cucumber-js/blob/master/src/cli/option_splitter.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CucumberFormat.js","sourceRoot":"","sources":["../../src/cli/CucumberFormat.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AAEzD;;;;;GAKG;AACH,MAAa,cAAc;IAIvB;;;OAGG;IACH,YAA4B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QACrC,CAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAE,GAAG,cAAc,CAAC,KAAK,CAClD,mBAAM,
|
|
1
|
+
{"version":3,"file":"CucumberFormat.js","sourceRoot":"","sources":["../../src/cli/CucumberFormat.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AAEzD;;;;;GAKG;AACH,MAAa,cAAc;IAIvB;;;OAGG;IACH,YAA4B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QACrC,CAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAE,GAAG,cAAc,CAAC,KAAK,CAClD,IAAA,mBAAM,EAAC,QAAQ,EAAE,KAAK,EAAE,IAAA,qBAAQ,GAAE,EAAE,IAAA,uBAAU,GAAE,CAAC,CACpD,CAAC;IACN,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAc,EAAE,IAAY,EAAE,CAAS,EAAE,EAAE;YACpE,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;gBACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAC7C;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACnB;QAED,OAAO,MAA0B,CAAC;IACtC,CAAC;CACJ;AApCD,wCAoCC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,CAAS;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { Version } from '@serenity-js/core/lib/io';
|
|
1
|
+
import { FileSystem, Version } from '@serenity-js/core/lib/io';
|
|
2
2
|
import { CucumberConfig } from './CucumberConfig';
|
|
3
3
|
/**
|
|
4
4
|
* @private
|
|
5
5
|
*/
|
|
6
6
|
export declare class CucumberOptions {
|
|
7
|
+
private readonly fileSystem;
|
|
7
8
|
private readonly config;
|
|
8
|
-
constructor(config: CucumberConfig);
|
|
9
|
+
constructor(fileSystem: FileSystem, config: CucumberConfig);
|
|
9
10
|
isStrict(): boolean;
|
|
10
11
|
asArgumentsForCucumber(version: Version): string[];
|
|
11
12
|
private optionToValues;
|
|
@@ -6,14 +6,14 @@ const io_1 = require("@serenity-js/core/lib/io");
|
|
|
6
6
|
* @private
|
|
7
7
|
*/
|
|
8
8
|
class CucumberOptions {
|
|
9
|
-
constructor(config) {
|
|
9
|
+
constructor(fileSystem, config) {
|
|
10
|
+
this.fileSystem = fileSystem;
|
|
10
11
|
this.config = config;
|
|
11
12
|
}
|
|
12
13
|
isStrict() {
|
|
13
14
|
return this.asBoolean('strict', true);
|
|
14
15
|
}
|
|
15
16
|
asArgumentsForCucumber(version) {
|
|
16
|
-
var _a;
|
|
17
17
|
return Object.keys(this.config)
|
|
18
18
|
.reduce((acc, option) => isNotEmpty(this.config[option])
|
|
19
19
|
? acc.concat(this.optionToValues(option, this.config[option], version))
|
|
@@ -21,13 +21,15 @@ class CucumberOptions {
|
|
|
21
21
|
// Cucumber ignores the first two arguments anyway, but let's add them for completeness
|
|
22
22
|
// https://github.com/cucumber/cucumber-js/blob/d74bc45ba98132bdd0af62e0e52d1fe9ff017006/src/cli/helpers.js#L15
|
|
23
23
|
['node', 'cucumber-js'])
|
|
24
|
-
.concat(
|
|
24
|
+
.concat(this.config.rerun && this.fileSystem.exists(io_1.Path.from(this.config.rerun)) ? this.config.rerun : []);
|
|
25
25
|
}
|
|
26
26
|
optionToValues(option, value, version) {
|
|
27
27
|
const cliOption = this.asCliOptionName(option);
|
|
28
28
|
switch (true) {
|
|
29
29
|
case cliOption === 'tags' && version.isAtLeast(new io_1.Version('2.0.0')) && value !== false:
|
|
30
30
|
return this.valuesToArgs(cliOption, this.tagsToCucumberExpressions(listOf(value)));
|
|
31
|
+
case cliOption === 'rerun':
|
|
32
|
+
return []; // ignore since we're appending the rerun file anyway
|
|
31
33
|
case typeof value === 'boolean':
|
|
32
34
|
return listOf(this.flagToArg(cliOption, value));
|
|
33
35
|
case this.isObject(value):
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CucumberOptions.js","sourceRoot":"","sources":["../../src/cli/CucumberOptions.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"CucumberOptions.js","sourceRoot":"","sources":["../../src/cli/CucumberOptions.ts"],"names":[],"mappings":";;;AAAA,iDAAqE;AAIrE;;GAEG;AACH,MAAa,eAAe;IACxB,YACqB,UAAsB,EACtB,MAAsB;QADtB,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAgB;IAE3C,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,sBAAsB,CAAC,OAAgB;QAEnC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;aAC1B,MAAM,CACH,CAAC,GAAG,EAAE,MAA4B,EAAE,EAAE,CAClC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;YACvE,CAAC,CAAC,GAAG;QAEb,uFAAuF;QACvF,gHAAgH;QAChH,CAAE,MAAM,EAAE,aAAa,CAAE,CAC5B;aACA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpH,CAAC;IAEO,cAAc,CAAiC,MAAS,EAAE,KAAwB,EAAE,OAAgB;QACxG,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE/C,QAAQ,IAAI,EAAE;YACV,KAAK,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,YAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,KAAK;gBACnF,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAA0B,CAAC,CAAC,CAAC,CAAC;YAC5G,KAAK,SAAS,KAAK,OAAO;gBACtB,OAAO,EAAE,CAAC,CAAE,qDAAqD;YACrE,KAAK,OAAO,KAAK,KAAK,SAAS;gBAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAgB,CAAC,CAAC,CAAC;YAC/D,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACrB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7E;gBACI,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,KAA0B,CAAC,CAAC,CAAC;SAC/E;IACL,CAAC;IAEO,SAAS,CAAiC,GAAM,EAAE,YAAqB;QAC3E,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YACvC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAY,CAAC;SACtC;QAED,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE;YAChD,OAAO,CAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAY,CAAC;SACjD;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,QAAQ,CAAC,KAAU;QACvB,OAAO,OAAO,KAAK,KAAK,QAAQ;eACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK;eAC9B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAAC;IACvE,CAAC;IAED;;;;;;;;OAQG;IACK,eAAe,CAAC,MAAc;QAClC,OAAO,MAAM;aACR,OAAO,CAAC,6BAA6B,EAAE,OAAO,CAAC;aAC/C,WAAW,EAAE,CAAC;IACvB,CAAC;IAEO,yBAAyB,CAAC,IAAc;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAE,GAAG,CAAC,OAAO,CAAC;aAChC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACrC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAEO,SAAS,CAAC,MAAc,EAAE,KAAc;QAC5C,QAAQ,IAAI,EAAE;YACV,KAAK,CAAC,CAAE,KAAK;gBACT,OAAO,KAAM,MAAO,EAAE,CAAC;YAC3B,KAAK,SAAS,CAAC,MAAM,CAAC,IAAI,CAAE,KAAK;gBAC7B,OAAO,KAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAE,EAAE,CAAC;YAC/C;gBACI,OAAO,QAAS,MAAO,EAAE,CAAC;SACjC;IACL,CAAC;IAEO,YAAY,CAAC,MAAc,EAAE,MAAyB;QAC1D,OAAO,MAAM,CAAC,MAAM,CAAC;aAChB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAE,KAAM,MAAO,EAAE,EAAE,KAAK,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ;AAnGD,0CAmGC;AAED,SAAS,SAAS,CAAC,UAAkB;IACjC,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,iHAAiH;AACjH,SAAS,OAAO,CAAC,IAAY;IACzB,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,UAAU,CAAC,KAAU;IAC1B,OAAO,KAAK,KAAK,SAAS;WACnB,KAAK,KAAK,IAAI;WACd,KAAK,KAAK,EAAE;WACZ,CAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,MAAM,CAAI,aAAsB;IACrC,OAAO,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -15,14 +15,14 @@ function cucumberEventProtocolAdapter({ serenity, notifier, mapper, cache }) {
|
|
|
15
15
|
constructor({ eventBroadcaster, log }) {
|
|
16
16
|
this.log = log;
|
|
17
17
|
eventBroadcaster.on('gherkin-document', ({ uri, document }) => {
|
|
18
|
-
tiny_types_1.ensure('gherkin-document :: uri', uri, tiny_types_1.isDefined());
|
|
19
|
-
tiny_types_1.ensure('gherkin-document :: document', document, tiny_types_1.isDefined());
|
|
18
|
+
(0, tiny_types_1.ensure)('gherkin-document :: uri', uri, (0, tiny_types_1.isDefined)());
|
|
19
|
+
(0, tiny_types_1.ensure)('gherkin-document :: document', document, (0, tiny_types_1.isDefined)());
|
|
20
20
|
const path = new io_1.Path(uri);
|
|
21
21
|
cache.set(path, mapper.map(document, path)); // eslint-disable-line unicorn/no-array-method-this-argument
|
|
22
22
|
});
|
|
23
23
|
eventBroadcaster.on('test-case-prepared', ({ steps, sourceLocation }) => {
|
|
24
|
-
tiny_types_1.ensure('test-case-prepared :: steps', steps, tiny_types_1.isDefined());
|
|
25
|
-
tiny_types_1.ensure('test-case-prepared :: sourceLocation', sourceLocation, tiny_types_1.isDefined());
|
|
24
|
+
(0, tiny_types_1.ensure)('test-case-prepared :: steps', steps, (0, tiny_types_1.isDefined)());
|
|
25
|
+
(0, tiny_types_1.ensure)('test-case-prepared :: sourceLocation', sourceLocation, (0, tiny_types_1.isDefined)());
|
|
26
26
|
const path = new io_1.Path(sourceLocation.uri), map = cache.get(path), scenario = map.get(gherkin_1.Scenario).onLine(sourceLocation.line);
|
|
27
27
|
if (scenario.outline) {
|
|
28
28
|
const outline = map.get(gherkin_1.ScenarioOutline).onLine(scenario.outline.line);
|
|
@@ -31,7 +31,7 @@ function cucumberEventProtocolAdapter({ serenity, notifier, mapper, cache }) {
|
|
|
31
31
|
map.set(new gherkin_1.Scenario(scenario.location, scenario.name, scenario.description, interleaveStepsAndHooks(scenario.steps, steps), scenario.tags, scenario.outline)).onLine(sourceLocation.line);
|
|
32
32
|
});
|
|
33
33
|
eventBroadcaster.on('test-case-started', ({ sourceLocation }) => {
|
|
34
|
-
tiny_types_1.ensure('test-case-started :: sourceLocation', sourceLocation, tiny_types_1.isDefined());
|
|
34
|
+
(0, tiny_types_1.ensure)('test-case-started :: sourceLocation', sourceLocation, (0, tiny_types_1.isDefined)());
|
|
35
35
|
const map = cache.get(new io_1.Path(sourceLocation.uri)), scenario = map.get(gherkin_1.Scenario).onLine(sourceLocation.line), sceneId = serenity.assignNewSceneId();
|
|
36
36
|
if (scenario.outline) {
|
|
37
37
|
const outline = map.get(gherkin_1.ScenarioOutline).onLine(scenario.outline.line);
|
|
@@ -40,25 +40,25 @@ function cucumberEventProtocolAdapter({ serenity, notifier, mapper, cache }) {
|
|
|
40
40
|
notifier.scenarioStarts(sceneId, scenario, map.getFirst(gherkin_1.Feature));
|
|
41
41
|
});
|
|
42
42
|
eventBroadcaster.on('test-step-started', ({ index, testCase }) => {
|
|
43
|
-
tiny_types_1.ensure('test-step-started :: index', index, tiny_types_1.isDefined());
|
|
44
|
-
tiny_types_1.ensure('test-step-started :: testCase', testCase, tiny_types_1.isDefined());
|
|
43
|
+
(0, tiny_types_1.ensure)('test-step-started :: index', index, (0, tiny_types_1.isDefined)());
|
|
44
|
+
(0, tiny_types_1.ensure)('test-step-started :: testCase', testCase, (0, tiny_types_1.isDefined)());
|
|
45
45
|
const map = cache.get(new io_1.Path(testCase.sourceLocation.uri)), scenario = map.get(gherkin_1.Scenario).onLine(testCase.sourceLocation.line), step = scenario.steps[index];
|
|
46
46
|
if (step instanceof gherkin_1.Step) { // ignore hooks
|
|
47
47
|
notifier.stepStarts(step);
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
eventBroadcaster.on('test-step-finished', ({ index, result, testCase }) => {
|
|
51
|
-
tiny_types_1.ensure('test-step-finished :: index', index, tiny_types_1.isDefined());
|
|
52
|
-
tiny_types_1.ensure('test-step-finished :: result', result, tiny_types_1.isDefined());
|
|
53
|
-
tiny_types_1.ensure('test-step-finished :: testCase', testCase, tiny_types_1.isDefined());
|
|
51
|
+
(0, tiny_types_1.ensure)('test-step-finished :: index', index, (0, tiny_types_1.isDefined)());
|
|
52
|
+
(0, tiny_types_1.ensure)('test-step-finished :: result', result, (0, tiny_types_1.isDefined)());
|
|
53
|
+
(0, tiny_types_1.ensure)('test-step-finished :: testCase', testCase, (0, tiny_types_1.isDefined)());
|
|
54
54
|
const map = cache.get(new io_1.Path(testCase.sourceLocation.uri)), scenario = map.get(gherkin_1.Scenario).onLine(testCase.sourceLocation.line), step = scenario.steps[index];
|
|
55
55
|
if (step instanceof gherkin_1.Step) { // ignore hooks
|
|
56
56
|
notifier.stepFinished(step, this.outcomeFrom(result));
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
59
|
eventBroadcaster.on('test-case-finished', ({ result, sourceLocation }) => {
|
|
60
|
-
tiny_types_1.ensure('test-case-finished :: result', result, tiny_types_1.isDefined());
|
|
61
|
-
tiny_types_1.ensure('test-case-finished :: sourceLocation', sourceLocation, tiny_types_1.isDefined());
|
|
60
|
+
(0, tiny_types_1.ensure)('test-case-finished :: result', result, (0, tiny_types_1.isDefined)());
|
|
61
|
+
(0, tiny_types_1.ensure)('test-case-finished :: sourceLocation', sourceLocation, (0, tiny_types_1.isDefined)());
|
|
62
62
|
const map = cache.get(new io_1.Path(sourceLocation.uri)), scenario = map.get(gherkin_1.Scenario).onLine(sourceLocation.line), nonHookSteps = scenario.steps.filter(step => step instanceof gherkin_1.Step);
|
|
63
63
|
const outcome = nonHookSteps.length > 0
|
|
64
64
|
? this.outcomeFrom(result)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CucumberEventProtocolAdapter.js","sourceRoot":"","sources":["../../../src/listeners/legacy/CucumberEventProtocolAdapter.ts"],"names":[],"mappings":";;;AAAA,yDAAgH;AAChH,iDAAqF;AACrF,uDASqC;AACrC,2CAA+C;AAE/C,yCAA4D;AAG5D,uCAA2E;AAY3E;;GAEG;AACH,SAAgB,4BAA4B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAgB;IAC5F,OAAO,MAAM,4BAA4B;QAKrC,YAAY,EAAE,gBAAgB,EAAE,GAAG,EAA4B;YAC3D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YAEf,gBAAgB,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC1D,mBAAM,
|
|
1
|
+
{"version":3,"file":"CucumberEventProtocolAdapter.js","sourceRoot":"","sources":["../../../src/listeners/legacy/CucumberEventProtocolAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,6 @@ module.exports = function (dependencies) {
|
|
|
17
17
|
});
|
|
18
18
|
});
|
|
19
19
|
});
|
|
20
|
-
return CucumberEventProtocolAdapter_1.cucumberEventProtocolAdapter(dependencies);
|
|
20
|
+
return (0, CucumberEventProtocolAdapter_1.cucumberEventProtocolAdapter)(dependencies);
|
|
21
21
|
};
|
|
22
22
|
//# sourceMappingURL=cucumber-3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cucumber-3.js","sourceRoot":"","sources":["../../../src/listeners/legacy/cucumber-3.ts"],"names":[],"mappings":";AAAA,iFAA8E;AAI9E,iBAAS,UAAU,YAA0B;IAEzC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QACvE,SAAS,CAAC;YACN,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,UAAU,KAAK;YACjB,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CACzC,YAAY,CAAC,YAAY,CAAC,UAAU,CAChC,KAAK,CAAC,MAAM,CAAC,MAAM,EACnB,KAAK,CAAC,MAAM,CAAC,SAAS,CACzB,CACJ,CAAC;YAEF,OAAO,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC;YACL,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YAExC,OAAO,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE;iBACxC,IAAI,CAAC,GAAG,EAAE;gBACP,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC5C,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,2DAA4B,
|
|
1
|
+
{"version":3,"file":"cucumber-3.js","sourceRoot":"","sources":["../../../src/listeners/legacy/cucumber-3.ts"],"names":[],"mappings":";AAAA,iFAA8E;AAI9E,iBAAS,UAAU,YAA0B;IAEzC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QACvE,SAAS,CAAC;YACN,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,UAAU,KAAK;YACjB,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CACzC,YAAY,CAAC,YAAY,CAAC,UAAU,CAChC,KAAK,CAAC,MAAM,CAAC,MAAM,EACnB,KAAK,CAAC,MAAM,CAAC,SAAS,CACzB,CACJ,CAAC;YAEF,OAAO,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC;YACL,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YAExC,OAAO,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE;iBACxC,IAAI,CAAC,GAAG,EAAE;gBACP,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC5C,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,2DAA4B,EAAC,YAAY,CAAC,CAAC;AACtD,CAAC,CAAC"}
|
|
@@ -16,6 +16,6 @@ module.exports = function (dependencies) {
|
|
|
16
16
|
dependencies.notifier.testRunFinished();
|
|
17
17
|
});
|
|
18
18
|
});
|
|
19
|
-
return CucumberEventProtocolAdapter_1.cucumberEventProtocolAdapter(dependencies);
|
|
19
|
+
return (0, CucumberEventProtocolAdapter_1.cucumberEventProtocolAdapter)(dependencies);
|
|
20
20
|
};
|
|
21
21
|
//# sourceMappingURL=cucumber-4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cucumber-4.js","sourceRoot":"","sources":["../../../src/listeners/legacy/cucumber-4.ts"],"names":[],"mappings":";AAAA,iFAA8E;AAI9E,iBAAS,UAAU,YAA0B;IACzC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC;IAE7D,SAAS,CAAC;QACN,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,KAAK;QACjB,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CACzC,YAAY,CAAC,YAAY,CAAC,UAAU,CAChC,KAAK,CAAC,MAAM,CAAC,MAAM,EACnB,KAAK,CAAC,MAAM,CAAC,SAAS,CACzB,CACJ,CAAC;QAEF,OAAO,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC;QACL,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAExC,OAAO,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE;aACxC,IAAI,CAAC,GAAG,EAAE;YACP,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,OAAO,2DAA4B,
|
|
1
|
+
{"version":3,"file":"cucumber-4.js","sourceRoot":"","sources":["../../../src/listeners/legacy/cucumber-4.ts"],"names":[],"mappings":";AAAA,iFAA8E;AAI9E,iBAAS,UAAU,YAA0B;IACzC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC;IAE7D,SAAS,CAAC;QACN,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,KAAK;QACjB,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CACzC,YAAY,CAAC,YAAY,CAAC,UAAU,CAChC,KAAK,CAAC,MAAM,CAAC,MAAM,EACnB,KAAK,CAAC,MAAM,CAAC,SAAS,CACzB,CACJ,CAAC;QAEF,OAAO,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC;QACL,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAExC,OAAO,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE;aACxC,IAAI,CAAC,GAAG,EAAE;YACP,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,2DAA4B,EAAC,YAAY,CAAC,CAAC;AACtD,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serenity-js/cucumber",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.32.2",
|
|
4
4
|
"description": "Serenity/JS adapter for Cucumber test runners version 1.x - 7.x",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@cucumber/messages": "^16.0.1",
|
|
49
|
-
"@serenity-js/core": "2.
|
|
49
|
+
"@serenity-js/core": "2.32.2",
|
|
50
50
|
"cli-table3": "^0.6.0",
|
|
51
51
|
"gherkin": "5.1.0",
|
|
52
52
|
"tiny-types": "^1.16.1"
|
|
@@ -67,11 +67,11 @@
|
|
|
67
67
|
"@cucumber/cucumber": "^7.3.1",
|
|
68
68
|
"@documentation/esdoc-template": "2.0.0",
|
|
69
69
|
"@integration/testing-tools": "2.0.0",
|
|
70
|
-
"@types/chai": "^4.2.
|
|
70
|
+
"@types/chai": "^4.2.22",
|
|
71
71
|
"@types/mocha": "^9.0.0",
|
|
72
|
-
"mocha": "^9.1.
|
|
72
|
+
"mocha": "^9.1.1",
|
|
73
73
|
"ts-node": "^10.2.1",
|
|
74
|
-
"typescript": "^4.3
|
|
74
|
+
"typescript": "^4.4.3"
|
|
75
75
|
},
|
|
76
76
|
"nyc": {
|
|
77
77
|
"include": [
|
|
@@ -96,5 +96,5 @@
|
|
|
96
96
|
"cache": true,
|
|
97
97
|
"all": true
|
|
98
98
|
},
|
|
99
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "327f61fa241cf9fe61913246c5ff579b06e47f26"
|
|
100
100
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* istanbul ignore file covered in integration tests */
|
|
2
|
-
import { ModuleLoader, TestRunnerAdapter, Version } from '@serenity-js/core/lib/io';
|
|
2
|
+
import { FileSystem, ModuleLoader, TestRunnerAdapter, Version } from '@serenity-js/core/lib/io';
|
|
3
3
|
import { ExecutionIgnored, ImplementationPending, Outcome } from '@serenity-js/core/lib/model';
|
|
4
4
|
|
|
5
5
|
import { CucumberConfig } from './CucumberConfig';
|
|
@@ -28,9 +28,10 @@ export class CucumberCLIAdapter implements TestRunnerAdapter {
|
|
|
28
28
|
constructor(
|
|
29
29
|
config: CucumberConfig,
|
|
30
30
|
private readonly loader: ModuleLoader,
|
|
31
|
+
fileSystem: FileSystem,
|
|
31
32
|
private readonly output: SerenityFormatterOutput,
|
|
32
33
|
) {
|
|
33
|
-
this.options = new CucumberOptions(config);
|
|
34
|
+
this.options = new CucumberOptions(fileSystem, config);
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Version } from '@serenity-js/core/lib/io';
|
|
1
|
+
import { FileSystem, Path, Version } from '@serenity-js/core/lib/io';
|
|
2
2
|
|
|
3
3
|
import { CucumberConfig } from './CucumberConfig';
|
|
4
4
|
|
|
@@ -6,7 +6,10 @@ import { CucumberConfig } from './CucumberConfig';
|
|
|
6
6
|
* @private
|
|
7
7
|
*/
|
|
8
8
|
export class CucumberOptions {
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(
|
|
10
|
+
private readonly fileSystem: FileSystem,
|
|
11
|
+
private readonly config: CucumberConfig,
|
|
12
|
+
) {
|
|
10
13
|
}
|
|
11
14
|
|
|
12
15
|
isStrict(): boolean {
|
|
@@ -26,7 +29,7 @@ export class CucumberOptions {
|
|
|
26
29
|
// https://github.com/cucumber/cucumber-js/blob/d74bc45ba98132bdd0af62e0e52d1fe9ff017006/src/cli/helpers.js#L15
|
|
27
30
|
[ 'node', 'cucumber-js' ],
|
|
28
31
|
)
|
|
29
|
-
.concat(this.config.rerun
|
|
32
|
+
.concat(this.config.rerun && this.fileSystem.exists(Path.from(this.config.rerun)) ? this.config.rerun : []);
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
private optionToValues<O extends keyof CucumberConfig>(option: O, value: CucumberConfig[O], version: Version): string[] {
|
|
@@ -35,6 +38,8 @@ export class CucumberOptions {
|
|
|
35
38
|
switch (true) {
|
|
36
39
|
case cliOption === 'tags' && version.isAtLeast(new Version('2.0.0')) && value !== false:
|
|
37
40
|
return this.valuesToArgs(cliOption, this.tagsToCucumberExpressions(listOf(value as string | string[])));
|
|
41
|
+
case cliOption === 'rerun':
|
|
42
|
+
return []; // ignore since we're appending the rerun file anyway
|
|
38
43
|
case typeof value === 'boolean':
|
|
39
44
|
return listOf(this.flagToArg(cliOption, value as boolean));
|
|
40
45
|
case this.isObject(value):
|