mirror of
https://github.com/OpenHands/OpenHands.git
synced 2026-09-28 14:13:26 +08:00
53 lines
1.7 KiB
TypeScript
53 lines
1.7 KiB
TypeScript
// @vitest-environment node
|
|
import { describe, expect, it } from "vitest";
|
|
import { getPlatformSpec } from "../../scripts/download-node.mjs";
|
|
|
|
describe("download-node getPlatformSpec", () => {
|
|
it("maps explicit darwin arches to the matching distribution", () => {
|
|
expect(getPlatformSpec("22.12.0", "darwin", "x64")).toEqual({
|
|
name: "node-v22.12.0-darwin-x64",
|
|
ext: "tar.gz",
|
|
});
|
|
expect(getPlatformSpec("22.12.0", "darwin", "arm64")).toEqual({
|
|
name: "node-v22.12.0-darwin-arm64",
|
|
ext: "tar.gz",
|
|
});
|
|
});
|
|
|
|
it("maps linux arches to the matching distribution", () => {
|
|
expect(getPlatformSpec("22.12.0", "linux", "x64")).toEqual({
|
|
name: "node-v22.12.0-linux-x64",
|
|
ext: "tar.gz",
|
|
});
|
|
expect(getPlatformSpec("22.12.0", "linux", "arm64")).toEqual({
|
|
name: "node-v22.12.0-linux-arm64",
|
|
ext: "tar.gz",
|
|
});
|
|
});
|
|
|
|
it("maps win32 arches to the zip distribution", () => {
|
|
expect(getPlatformSpec("22.12.0", "win32", "x64")).toEqual({
|
|
name: "node-v22.12.0-win-x64",
|
|
ext: "zip",
|
|
});
|
|
expect(getPlatformSpec("22.12.0", "win32", "arm64")).toEqual({
|
|
name: "node-v22.12.0-win-arm64",
|
|
ext: "zip",
|
|
});
|
|
});
|
|
|
|
it("defaults platform/arch to the host values", () => {
|
|
const spec = getPlatformSpec("22.12.0");
|
|
expect(spec.name.startsWith("node-v22.12.0-")).toBe(true);
|
|
expect(["darwin", "linux", "win32"]).toContain(
|
|
spec.name.replace("node-v22.12.0-", "").split("-")[0],
|
|
);
|
|
});
|
|
|
|
it("throws for an unsupported platform", () => {
|
|
expect(() => getPlatformSpec("22.12.0", "freebsd", "x64")).toThrow(
|
|
/Unsupported platform for Node download: freebsd\/x64/,
|
|
);
|
|
});
|
|
});
|