72 lines
1.8 KiB
JavaScript
72 lines
1.8 KiB
JavaScript
const path = require("node:path");
|
|
const { pathToFileURL } = require("node:url");
|
|
|
|
describe("Test function cmpVersions in js/module.js", () => {
|
|
let cmp;
|
|
let originalWindow;
|
|
let originalLog;
|
|
let originalConfig;
|
|
let originalMM;
|
|
let originalTranslator;
|
|
let originalNunjucks;
|
|
|
|
beforeAll(async () => {
|
|
originalWindow = global.window;
|
|
originalLog = global.Log;
|
|
originalConfig = global.config;
|
|
originalMM = global.MM;
|
|
originalTranslator = global.Translator;
|
|
originalNunjucks = global.nunjucks;
|
|
|
|
global.window = { mmVersion: "2.0.0" };
|
|
global.Log = { log: () => {}, info: () => {}, warn: () => {}, error: () => {}, debug: () => {} };
|
|
global.config = { language: "en" };
|
|
global.MM = {
|
|
hideModule: () => {},
|
|
showModule: () => {},
|
|
sendNotification: () => {},
|
|
updateDom: () => {}
|
|
};
|
|
global.Translator = {
|
|
load: () => Promise.resolve(),
|
|
translate: () => ""
|
|
};
|
|
global.nunjucks = {
|
|
Environment () {
|
|
this.addFilter = () => {};
|
|
this.renderString = () => "";
|
|
this.render = (_template, _data, callback) => callback(null, "");
|
|
},
|
|
WebLoader () {},
|
|
runtime: {
|
|
markSafe: (str) => str
|
|
}
|
|
};
|
|
|
|
const modulePath = pathToFileURL(path.join(__dirname, "..", "..", "..", "js", "module.js")).href;
|
|
const loaded = await import(`${modulePath}?test=${Date.now()}`);
|
|
cmp = loaded.cmpVersions;
|
|
});
|
|
|
|
afterAll(() => {
|
|
global.window = originalWindow;
|
|
global.Log = originalLog;
|
|
global.config = originalConfig;
|
|
global.MM = originalMM;
|
|
global.Translator = originalTranslator;
|
|
global.nunjucks = originalNunjucks;
|
|
});
|
|
|
|
it("should return -1 when comparing 2.1 to 2.2", () => {
|
|
expect(cmp("2.1", "2.2")).toBe(-1);
|
|
});
|
|
|
|
it("should be return 0 when comparing 2.2 to 2.2", () => {
|
|
expect(cmp("2.2", "2.2")).toBe(0);
|
|
});
|
|
|
|
it("should be return 1 when comparing 1.1 to 1.0", () => {
|
|
expect(cmp("1.1", "1.0")).toBe(1);
|
|
});
|
|
});
|