electron-fingerprints/test.js

69 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

const L = require(".");
const assert = require("assert");
2022-01-13 06:59:02 +00:00
const fs = require("fs");
const semver = require("semver");
function get_versions(arch) {
return fs
.readdirSync("hashes/")
.filter((x) => {
return x.startsWith(arch);
})
.map((x) => {
return x.substring(arch.length + 1, x.length - 5);
});
}
function get_versions_in_range(arch, min, max) {
versions = get_versions(arch);
return versions.filter((v) => {
return semver.compare(v, min) - semver.compare(v, max);
});
}
function get_highest_major_version(arch, major) {
versions = get_versions(arch);
return versions.reduce((prev, current) => {
if (semver.gt(current, prev) && semver.major(current) == major) {
return current;
} else {
return prev;
}
});
}
// ffmpeg.dll
2022-01-13 06:59:02 +00:00
assert.deepEqual(
L["win32-x64"]["baf786083f482c1f035e50e105b5f7475af1e00b"],
get_versions_in_range("win32-x64", "v1.4.3", "v1.4.5")
);
// libEGL.dylib
2022-01-13 06:59:02 +00:00
assert.deepEqual(
L["darwin-x64"]["b904574843c22f7b39e986253b0c798548d2f01d"],
get_versions_in_range("darwin-x64", "v12.0.2", "v12.2.3")
);
// chrome_100_percent.pak
2022-01-13 06:59:02 +00:00
assert.deepEqual(
L["linux-arm64"]["942e5f5414a24a1aa1769b9f8614ff8fbf40dba3"],
get_versions_in_range("linux-arm64", "v12.0.0", "v12.2.3")
);
// snapshot_blob.bin
2022-01-13 06:59:02 +00:00
assert.deepEqual(
L["linux-x64"]["3fc441bcbacac544ba4af18dcd2b084694ae9409"],
get_versions_in_range("linux-arm64", "v12.0.5", "v12.2.3")
);
// libGLESv2.dll
assert.deepEqual(L["win32-arm64"]["21f751ea45147f9e0b7107b8129ae4dd2fd1ccd6"], [
"v12.0.15",
]);
// d3dcompiler_47.dll
2022-01-13 06:59:02 +00:00
assert.deepEqual(
L["win32-x64"]["2256644f69435ff2fee76deb04d918083960d1eb"],
2022-03-31 07:36:05 +00:00
get_versions_in_range("win32-arm64", "v10.0.0", "v18.99.99")
2022-01-13 06:59:02 +00:00
);