which-electron/tests/os.js

76 lines
2.1 KiB
JavaScript

import { test } from "uvu";
import * as assert from "uvu/assert";
import { guessFromFilename, guessFromContents } from "../src/os.js";
import { getEntries } from "./utils.js";
test("it should linux correctly from filename", () => {
assert.equal(
"linux",
guessFromFilename("kube-dev-dashboard-0.10.1-linux.zip")
);
assert.equal("linux", guessFromFilename("magiccap-linux.zip"));
assert.equal("linux", guessFromFilename("Rambox-0.7.7-linux-ia32.zip"));
assert.equal(
"linux",
guessFromFilename("authme-2.6.0-linux-x64-portable.zip")
);
assert.equal("linux", guessFromFilename("mojibar-linux.zip"));
assert.equal("linux", guessFromFilename("mojibar-linux.deb"));
assert.equal("linux", guessFromFilename("mojibar.AppImage"));
assert.equal("linux", guessFromFilename("mojibar.pacman"));
});
test("it should darwin correctly from filename", () => {
assert.equal(
"darwin",
guessFromFilename("Merge-Request-Notifier-1.9.0-mac.zip")
);
assert.equal(
"darwin",
guessFromFilename("Merge-Request-Notifier-1.9.0.dmg")
);
});
test("it should windows correctly from filename", () => {
assert.equal(
"win32",
guessFromFilename("particl-desktop-2.3.6-win-ia32.zip")
);
assert.equal("win32", guessFromFilename("Multrin-1.3.0-ia32-win.zip"));
assert.equal("win32", guessFromFilename("Multrin-1.3.0-ia32-win.exe"));
assert.equal(
"win32",
guessFromFilename("Assessment.Disaggregation-1.1.4.Setup.exe")
);
});
test("it should guess correctly from file list", () => {
assert.equal(
"win32",
guessFromContents(getEntries("Arizona-v1.0.0-beta-Windows.zip"))
);
assert.equal(
"win32",
guessFromContents(getEntries("Notable-1.8.4-win.zip"))
);
assert.equal(
"darwin",
guessFromContents(getEntries("encrypt0r-mac.zip"))
);
assert.equal(
"darwin",
guessFromContents(getEntries("Hyper-3.0.2-mac.zip"))
);
assert.equal(
"linux",
guessFromContents(getEntries("chronobreak-linux-x64.zip"))
);
assert.equal(
"linux",
guessFromContents(getEntries("Rambox-0.7.7-linux-x64.zip"))
);
});
test.run();