@uuv/runner-commons
Version:
A common lib for uuv
97 lines (96 loc) • 4.32 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseStepDefinition = void 0;
/**
* Software Name : UUV
*
* SPDX-License-Identifier: MIT
*
* This software is distributed under the MIT License,
* see the "LICENSE" file for more details
*
* Authors: NJAKO MOLOM Louis Fredice & SERVICAL Stanley
* Software description: Make test writing fast, understandable by any human
* understanding English or French.
*/
const lang_enum_1 = require("./lang-enum");
const common_1 = require("./common");
const path = __importStar(require("path"));
class BaseStepDefinition extends common_1.GenerateFileProcessing {
runGenerate() {
Object.values(lang_enum_1.LANG).forEach((lang) => {
const generatedFile = path.join(this.generatedDir, `_${lang}-generated-cucumber-steps-definition.ts`);
common_1.Common.buildDirIfNotExists(this.generatedDir);
common_1.Common.cleanGeneratedFilesIfExists(generatedFile);
this.generateWordingFiles(generatedFile, lang);
});
}
generateWordingFiles(generatedFile, lang) {
const wordingFile = path.join(this.wordingFilePath, lang, `${lang}.json`);
const data = common_1.fs.readFileSync(this.stepDefinitionFile, { encoding: "utf8" });
const updatedData = this.computeWordingFile(data, wordingFile);
common_1.Common.writeWordingFile(generatedFile, updatedData);
}
computeWordingFile(data, wordingFile) {
data =
"/*******************************\n" +
"NE PAS MODIFIER, FICHIER GENERE\n" +
"*******************************/\n\n" +
data;
data = data
.replace("./_.common", "../_.common")
.replace("../_constant", "../../_constant")
.replace("./_context", "../_context")
.replace("../../../cypress/commands", "../../../../cypress/commands")
.replace("../../../playwright/chromium", "../../../../playwright/chromium")
.replace("../i18n/template.json", "../../i18n/template.json")
.replace("import {key} from \"@uuv/runner-commons/wording/web\";", "")
.replace("import { key } from \"@uuv/runner-commons/wording/web\";", "")
.replace("./core-engine", "../core-engine")
.replace("../../preprocessor/run/world", "../../../preprocessor/run/world")
.replace("./a11y-engine", "../a11y-engine")
.replace("./_.common", "/../_.common");
const wordings = common_1.fs.readFileSync(wordingFile);
const wordingsJson = JSON.parse(wordings.toString());
wordingsJson.forEach((conf) => {
data = data.replace("${" + conf.key + "}", conf.wording);
data = data.replace(conf.key + ".description", conf.description);
// console.debug(conf, data)
});
return data;
}
}
exports.BaseStepDefinition = BaseStepDefinition;