-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest.js
68 lines (59 loc) · 1.69 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
const L = require(".");
const assert = require("assert");
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
assert.deepEqual(
L["win32-x64"]["baf786083f482c1f035e50e105b5f7475af1e00b"],
get_versions_in_range("win32-x64", "v1.4.3", "v1.4.5")
);
// libEGL.dylib
assert.deepEqual(
L["darwin-x64"]["b904574843c22f7b39e986253b0c798548d2f01d"],
get_versions_in_range("darwin-x64", "v12.0.2", "v12.2.3")
);
// chrome_100_percent.pak
assert.deepEqual(
L["linux-arm64"]["942e5f5414a24a1aa1769b9f8614ff8fbf40dba3"],
get_versions_in_range("linux-arm64", "v12.0.0", "v12.2.3")
);
// snapshot_blob.bin
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
assert.deepEqual(
L["win32-x64"]["2256644f69435ff2fee76deb04d918083960d1eb"],
get_versions_in_range("win32-arm64", "v10.0.0", "v18.99.99")
);