49 lines · 1.4 KB · TypeScript
RawDownload
import { describe, expect, it } from "vitest"; import { isArm64HostRunningIntelBuild, resolveDesktopRuntimeInfo } from "./runtimeArch.ts"; describe("resolveDesktopRuntimeInfo", () => {  it("detects Rosetta-translated Intel builds on Apple Silicon", () => {    const runtimeInfo = resolveDesktopRuntimeInfo({      platform: "darwin",      processArch: "x64",      runningUnderArm64Translation: true,    });     expect(runtimeInfo).toEqual({      hostArch: "arm64",      appArch: "x64",      runningUnderArm64Translation: true,    });    expect(isArm64HostRunningIntelBuild(runtimeInfo)).toBe(true);  });   it("detects native Apple Silicon builds", () => {    const runtimeInfo = resolveDesktopRuntimeInfo({      platform: "darwin",      processArch: "arm64",      runningUnderArm64Translation: false,    });     expect(runtimeInfo).toEqual({      hostArch: "arm64",      appArch: "arm64",      runningUnderArm64Translation: false,    });    expect(isArm64HostRunningIntelBuild(runtimeInfo)).toBe(false);  });   it("passes through non-mac builds without translation", () => {    const runtimeInfo = resolveDesktopRuntimeInfo({      platform: "linux",      processArch: "x64",      runningUnderArm64Translation: true,    });     expect(runtimeInfo).toEqual({      hostArch: "x64",      appArch: "x64",      runningUnderArm64Translation: false,    });  });});