@uuv/playwright 2.17.2 → 3.0.0
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/dist/cucumber/preprocessor/index.d.ts +0 -1
- package/dist/cucumber/preprocessor/index.js +0 -1
- package/dist/cucumber/step_definitions/playwright/generated/_en-generated-cucumber-steps-definition.js +7 -7
- package/dist/cucumber/step_definitions/playwright/generated/_fr-generated-cucumber-steps-definition.js +7 -7
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_button.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_checkbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_combobox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_link.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_listbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitem.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitemcheckbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitemradio.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_radio.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_search.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_searchbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_select.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_slider.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_spinbutton.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_switch.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_tab.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_textbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_widget.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_button.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_checkbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_combobox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_link.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_listbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitem.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitemcheckbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitemradio.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_radio.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_search.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_searchbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_select.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_slider.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_spinbutton.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_switch.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_tab.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_textbox.js +3 -3
- package/dist/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_widget.js +3 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.js +16 -0
- package/dist/lib/runner-playwright.d.ts +2 -7
- package/dist/lib/runner-playwright.js +18 -35
- package/dist/lib/watch-test-files.js +6 -6
- package/dist/reporter/uuv-playwright-reporter-helper.d.ts +1 -3
- package/dist/reporter/uuv-playwright-reporter-helper.js +19 -8
- package/package.json +4 -4
- package/postinstall.js +0 -1
- package/src/cucumber/step_definitions/playwright/generated/_en-generated-cucumber-steps-definition.ts +7 -7
- package/src/cucumber/step_definitions/playwright/generated/_fr-generated-cucumber-steps-definition.ts +7 -7
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_button.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_checkbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_combobox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_link.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_listbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitem.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitemcheckbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_menuitemradio.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_radio.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_search.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_searchbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_select.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_slider.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_spinbutton.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_switch.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_tab.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_textbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/en/_en-generated-steps-definition_widget.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_button.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_checkbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_combobox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_link.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_listbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitem.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitemcheckbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_menuitemradio.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_radio.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_search.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_searchbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_select.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_slider.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_spinbutton.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_switch.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_tab.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_textbox.ts +3 -3
- package/src/cucumber/step_definitions/playwright/generated/enriched/fr/_fr-generated-steps-definition_widget.ts +3 -3
- package/target-config/playwright.config.ts +4 -1
- package/dist/cucumber/preprocessor/gen/formatter.d.ts +0 -9
- package/dist/cucumber/preprocessor/gen/formatter.js +0 -59
- package/dist/cucumber/preprocessor/gen/generate.d.ts +0 -28
- package/dist/cucumber/preprocessor/gen/generate.js +0 -168
- package/dist/cucumber/preprocessor/gen/i18n.d.ts +0 -2
- package/dist/cucumber/preprocessor/gen/i18n.js +0 -36
- package/dist/cucumber/preprocessor/gen/index.d.ts +0 -8
- package/dist/cucumber/preprocessor/gen/index.js +0 -60
- package/dist/cucumber/preprocessor/gen/load_sources.d.ts +0 -17
- package/dist/cucumber/preprocessor/gen/load_sources.js +0 -46
- package/dist/cucumber/preprocessor/gen/save.d.ts +0 -2
- package/dist/cucumber/preprocessor/gen/save.js +0 -27
- package/dist/cucumber/preprocessor/run/fixtures.d.ts +0 -3
- package/dist/cucumber/preprocessor/run/fixtures.js +0 -32
- package/dist/cucumber/preprocessor/run/invoke.d.ts +0 -2
- package/dist/cucumber/preprocessor/run/invoke.js +0 -28
- package/dist/cucumber/preprocessor/run/support.d.ts +0 -9
- package/dist/cucumber/preprocessor/run/support.js +0 -27
- package/target-config/cucumber.cjs +0 -9
|
@@ -1,60 +0,0 @@
|
|
|
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
|
-
exports.generateTestFiles = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Generate playwright tests from Gherkin documents.
|
|
9
|
-
*/
|
|
10
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
-
const api_1 = require("@cucumber/cucumber/api");
|
|
12
|
-
const load_sources_1 = require("./load_sources");
|
|
13
|
-
const generate_1 = require("./generate");
|
|
14
|
-
const save_1 = require("./save");
|
|
15
|
-
const defaults = {
|
|
16
|
-
outputDir: ".features-gen",
|
|
17
|
-
cwd: process.cwd(),
|
|
18
|
-
};
|
|
19
|
-
async function generateTestFiles(inputOptions) {
|
|
20
|
-
const { outputDir, cwd, cucumberConfig, tags } = Object.assign({}, defaults, inputOptions);
|
|
21
|
-
const features = await loadFeatures({ file: cucumberConfig }, { cwd });
|
|
22
|
-
const files = buildFiles(features, tags);
|
|
23
|
-
const paths = (0, save_1.saveFiles)(files, node_path_1.default.join(cwd, outputDir));
|
|
24
|
-
const mapOfFile = new Map();
|
|
25
|
-
paths.forEach((path, index) => mapOfFile.set(path, Array.from(features.keys())[index]));
|
|
26
|
-
return mapOfFile;
|
|
27
|
-
}
|
|
28
|
-
exports.generateTestFiles = generateTestFiles;
|
|
29
|
-
async function loadFeatures(options, environment) {
|
|
30
|
-
const { runConfiguration } = await (0, api_1.loadConfiguration)(options, environment);
|
|
31
|
-
const { filteredPickles, parseErrors } = await (0, load_sources_1.loadSources)(runConfiguration.sources, environment);
|
|
32
|
-
handleParseErrors(parseErrors);
|
|
33
|
-
return groupByDocument(filteredPickles);
|
|
34
|
-
}
|
|
35
|
-
function buildFiles(features, tags) {
|
|
36
|
-
const files = [];
|
|
37
|
-
features.forEach((pickles, doc) => files.push(new generate_1.PWFile(doc, pickles, tags).build()));
|
|
38
|
-
return files;
|
|
39
|
-
}
|
|
40
|
-
function groupByDocument(filteredPickles) {
|
|
41
|
-
const features = new Map();
|
|
42
|
-
filteredPickles.forEach(({ pickle, gherkinDocument }) => {
|
|
43
|
-
let pickles = features.get(gherkinDocument);
|
|
44
|
-
if (!pickles) {
|
|
45
|
-
pickles = [];
|
|
46
|
-
features.set(gherkinDocument, pickles);
|
|
47
|
-
}
|
|
48
|
-
pickles.push(pickle);
|
|
49
|
-
});
|
|
50
|
-
return features;
|
|
51
|
-
}
|
|
52
|
-
function handleParseErrors(parseErrors) {
|
|
53
|
-
if (parseErrors.length) {
|
|
54
|
-
parseErrors.forEach((parseError) => {
|
|
55
|
-
// eslint-disable-next-line no-console
|
|
56
|
-
console.error(`Parse error in "${parseError.source.uri}" ${parseError.message}`);
|
|
57
|
-
});
|
|
58
|
-
process.exit(1);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copied from original load_sources, but returns full Pickles.
|
|
3
|
-
* See: https://github.com/cucumber/cucumber-js/blob/main/src/api/load_sources.ts
|
|
4
|
-
*/
|
|
5
|
-
/// <reference types="packages/runner-playwright/src/cucumber/preprocessor/gen/gherkin" />
|
|
6
|
-
import { IRunEnvironment, ISourcesCoordinates } from "@cucumber/cucumber/lib/api/types";
|
|
7
|
-
/**
|
|
8
|
-
* Load and parse features, produce a filtered and ordered test plan and/or parse errors.
|
|
9
|
-
*
|
|
10
|
-
* @public
|
|
11
|
-
* @param coordinates - Coordinates required to find features
|
|
12
|
-
* @param environment - Project environment.
|
|
13
|
-
*/
|
|
14
|
-
export declare function loadSources(coordinates: ISourcesCoordinates, environment?: IRunEnvironment): Promise<{
|
|
15
|
-
filteredPickles: import("@cucumber/cucumber/lib/api/gherkin").PickleWithDocument[];
|
|
16
|
-
parseErrors: import("@cucumber/messages").ParseError[];
|
|
17
|
-
}>;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copied from original load_sources, but returns full Pickles.
|
|
4
|
-
* See: https://github.com/cucumber/cucumber-js/blob/main/src/api/load_sources.ts
|
|
5
|
-
*/
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/triple-slash-reference
|
|
7
|
-
/// <reference path="./gherkin.d.ts" />
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.loadSources = void 0;
|
|
10
|
-
const paths_1 = require("@cucumber/cucumber/lib/api/paths");
|
|
11
|
-
const messages_1 = require("@cucumber/messages");
|
|
12
|
-
const environment_1 = require("@cucumber/cucumber/lib/api/environment");
|
|
13
|
-
const gherkin_1 = require("@cucumber/cucumber/lib/api/gherkin");
|
|
14
|
-
const console_logger_1 = require("@cucumber/cucumber/lib/api/console_logger");
|
|
15
|
-
/**
|
|
16
|
-
* Load and parse features, produce a filtered and ordered test plan and/or parse errors.
|
|
17
|
-
*
|
|
18
|
-
* @public
|
|
19
|
-
* @param coordinates - Coordinates required to find features
|
|
20
|
-
* @param environment - Project environment.
|
|
21
|
-
*/
|
|
22
|
-
async function loadSources(coordinates, environment = {}) {
|
|
23
|
-
const { cwd, stderr, debug } = (0, environment_1.mergeEnvironment)(environment);
|
|
24
|
-
const logger = new console_logger_1.ConsoleLogger(stderr, debug);
|
|
25
|
-
const newId = messages_1.IdGenerator.uuid();
|
|
26
|
-
const { unexpandedFeaturePaths, featurePaths } = await (0, paths_1.resolvePaths)(logger, cwd, coordinates);
|
|
27
|
-
if (featurePaths.length === 0) {
|
|
28
|
-
return {
|
|
29
|
-
filteredPickles: [],
|
|
30
|
-
parseErrors: [],
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
const { filteredPickles, parseErrors } = await (0, gherkin_1.getFilteredPicklesAndErrors)({
|
|
34
|
-
newId,
|
|
35
|
-
cwd,
|
|
36
|
-
logger,
|
|
37
|
-
unexpandedFeaturePaths,
|
|
38
|
-
featurePaths,
|
|
39
|
-
coordinates,
|
|
40
|
-
});
|
|
41
|
-
return {
|
|
42
|
-
filteredPickles,
|
|
43
|
-
parseErrors,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
exports.loadSources = loadSources;
|
|
@@ -1,27 +0,0 @@
|
|
|
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
|
-
exports.saveFiles = void 0;
|
|
7
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
9
|
-
function saveFiles(files, outputDir) {
|
|
10
|
-
clearDir(outputDir);
|
|
11
|
-
const paths = files.map((file) => {
|
|
12
|
-
const filePath = node_path_1.default.join(outputDir, `${file.doc.uri}.spec.js`);
|
|
13
|
-
const dir = node_path_1.default.dirname(filePath);
|
|
14
|
-
if (!node_fs_1.default.existsSync(dir)) {
|
|
15
|
-
node_fs_1.default.mkdirSync(dir, { recursive: true });
|
|
16
|
-
}
|
|
17
|
-
node_fs_1.default.writeFileSync(filePath, file.content);
|
|
18
|
-
return filePath;
|
|
19
|
-
});
|
|
20
|
-
return paths;
|
|
21
|
-
}
|
|
22
|
-
exports.saveFiles = saveFiles;
|
|
23
|
-
function clearDir(dir) {
|
|
24
|
-
if (node_fs_1.default.existsSync(dir)) {
|
|
25
|
-
node_fs_1.default.rmSync(dir, { recursive: true });
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & {
|
|
2
|
-
[key: string]: any;
|
|
3
|
-
}, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.test = void 0;
|
|
4
|
-
const test_1 = require("@playwright/test");
|
|
5
|
-
const support_1 = require("./support");
|
|
6
|
-
const invoke_1 = require("./invoke");
|
|
7
|
-
exports.test = test_1.test.extend({
|
|
8
|
-
world: async ({ page, context, browser, browserName, request }, use, testInfo) => {
|
|
9
|
-
const { runConfiguration, supportCodeLibrary } = await (0, support_1.loadCucumber)();
|
|
10
|
-
const World = (0, support_1.getWorldConstructor)(supportCodeLibrary);
|
|
11
|
-
const world = new World({
|
|
12
|
-
page,
|
|
13
|
-
context,
|
|
14
|
-
browser,
|
|
15
|
-
browserName,
|
|
16
|
-
request,
|
|
17
|
-
testInfo,
|
|
18
|
-
parameters: runConfiguration.runtime.worldParameters || {},
|
|
19
|
-
log: () => { }, // eslint-disable-line @typescript-eslint/no-empty-function
|
|
20
|
-
attach: async () => { }, // eslint-disable-line @typescript-eslint/no-empty-function
|
|
21
|
-
});
|
|
22
|
-
await world.init();
|
|
23
|
-
await use(world);
|
|
24
|
-
await world.destroy();
|
|
25
|
-
},
|
|
26
|
-
invokeStep: ({ world }, use) => use(invoke_1.invokeStep.bind(null, world)),
|
|
27
|
-
Given: ({ invokeStep }, use) => use(invokeStep),
|
|
28
|
-
When: ({ invokeStep }, use) => use(invokeStep),
|
|
29
|
-
Then: ({ invokeStep }, use) => use(invokeStep),
|
|
30
|
-
And: ({ invokeStep }, use) => use(invokeStep),
|
|
31
|
-
But: ({ invokeStep }, use) => use(invokeStep),
|
|
32
|
-
});
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.invokeStep = void 0;
|
|
4
|
-
const support_1 = require("./support");
|
|
5
|
-
async function invokeStep(world, text, argument) {
|
|
6
|
-
const stepDefinition = await findStepDefinition(text);
|
|
7
|
-
const { parameters } = await stepDefinition.getInvocationParameters({
|
|
8
|
-
hookParameter: {},
|
|
9
|
-
step: { text, argument },
|
|
10
|
-
world,
|
|
11
|
-
});
|
|
12
|
-
return stepDefinition.code.apply(world, parameters);
|
|
13
|
-
}
|
|
14
|
-
exports.invokeStep = invokeStep;
|
|
15
|
-
async function findStepDefinition(stepText) {
|
|
16
|
-
const { supportCodeLibrary } = await (0, support_1.loadCucumber)();
|
|
17
|
-
const stepDefinitions = supportCodeLibrary.stepDefinitions.filter((step) => {
|
|
18
|
-
return step.matchesStepName(stepText);
|
|
19
|
-
});
|
|
20
|
-
if (!stepDefinitions.length) {
|
|
21
|
-
throw new Error(`Unknown step: ${stepText}`);
|
|
22
|
-
}
|
|
23
|
-
if (stepDefinitions.length > 1) {
|
|
24
|
-
throw new Error([`Several steps found for text: ${stepText}`, ...stepDefinitions.map((s) => `- ${s.pattern}`)].join("\n"));
|
|
25
|
-
}
|
|
26
|
-
// todo: check stepDefinition.keyword with PickleStepType
|
|
27
|
-
return stepDefinitions[0];
|
|
28
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IRunConfiguration } from "@cucumber/cucumber/api";
|
|
2
|
-
import { ISupportCodeLibrary } from "@cucumber/cucumber/lib/support_code_library_builder/types";
|
|
3
|
-
import { World } from "./world";
|
|
4
|
-
export type LoadedCucumber = {
|
|
5
|
-
runConfiguration: IRunConfiguration;
|
|
6
|
-
supportCodeLibrary: ISupportCodeLibrary;
|
|
7
|
-
};
|
|
8
|
-
export declare function loadCucumber(): Promise<LoadedCucumber>;
|
|
9
|
-
export declare function getWorldConstructor(supportCodeLibrary: ISupportCodeLibrary): typeof World;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWorldConstructor = exports.loadCucumber = void 0;
|
|
4
|
-
const api_1 = require("@cucumber/cucumber/api");
|
|
5
|
-
const cucumber_1 = require("@cucumber/cucumber");
|
|
6
|
-
const world_1 = require("./world");
|
|
7
|
-
let loadedCucumber;
|
|
8
|
-
async function loadCucumber() {
|
|
9
|
-
if (!loadedCucumber) {
|
|
10
|
-
const { runConfiguration } = await (0, api_1.loadConfiguration)();
|
|
11
|
-
const supportCodeLibrary = await (0, api_1.loadSupport)(runConfiguration);
|
|
12
|
-
loadedCucumber = { runConfiguration, supportCodeLibrary };
|
|
13
|
-
}
|
|
14
|
-
return loadedCucumber;
|
|
15
|
-
}
|
|
16
|
-
exports.loadCucumber = loadCucumber;
|
|
17
|
-
function getWorldConstructor(supportCodeLibrary) {
|
|
18
|
-
// setWorldConstructor was not called
|
|
19
|
-
if (supportCodeLibrary.World === cucumber_1.World) {
|
|
20
|
-
return world_1.World;
|
|
21
|
-
}
|
|
22
|
-
if (!Object.prototype.isPrototypeOf.call(world_1.World, supportCodeLibrary.World)) {
|
|
23
|
-
throw new Error("CustomWorld should inherit from playwright-bdd World");
|
|
24
|
-
}
|
|
25
|
-
return supportCodeLibrary.World;
|
|
26
|
-
}
|
|
27
|
-
exports.getWorldConstructor = getWorldConstructor;
|