From a9fae1973567e7a912bbcdef0e0203015214c758 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Jan 2026 01:00:58 +0100 Subject: [PATCH] test: add unit tests for getAvx2 Windows ARM64 fallback logic (#154) * Initial plan * Add unit tests for getAvx2 function Co-authored-by: xhyrom <56601352+xhyrom@users.noreply.github.com> * Consolidate duplicate test assertions in getAvx2 tests Co-authored-by: xhyrom <56601352+xhyrom@users.noreply.github.com> * Fix whitespace formatting in test file Co-authored-by: xhyrom <56601352+xhyrom@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: xhyrom <56601352+xhyrom@users.noreply.github.com> --- tests/utils.spec.ts | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/utils.spec.ts diff --git a/tests/utils.spec.ts b/tests/utils.spec.ts new file mode 100644 index 0000000..f117b47 --- /dev/null +++ b/tests/utils.spec.ts @@ -0,0 +1,49 @@ +import { describe, expect, it } from "bun:test"; +import { getAvx2 } from "../src/utils"; + +describe("getAvx2", () => { + it("should return false when called with os: 'windows' and arch: 'arm64'", () => { + const result = getAvx2("windows", "arm64"); + expect(result).toBe(false); + }); + + it("should return false when called with os: 'windows' and arch: 'aarch64'", () => { + const result = getAvx2("windows", "aarch64"); + expect(result).toBe(false); + }); + + it("should return false when called with os: 'windows', arch: 'arm64', and avx2: true", () => { + const result = getAvx2("windows", "arm64", true); + expect(result).toBe(false); + }); + + it("should return false when called with os: 'windows', arch: 'aarch64', and avx2: false", () => { + const result = getAvx2("windows", "aarch64", false); + expect(result).toBe(false); + }); + + it("should return the provided avx2 value (true) when specified and not on Windows ARM64", () => { + expect(getAvx2("linux", "x64", true)).toBe(true); + expect(getAvx2("darwin", "x64", true)).toBe(true); + expect(getAvx2("windows", "x64", true)).toBe(true); + }); + + it("should return the provided avx2 value (false) when specified and not on Windows ARM64", () => { + expect(getAvx2("linux", "x64", false)).toBe(false); + expect(getAvx2("darwin", "x64", false)).toBe(false); + expect(getAvx2("windows", "x64", false)).toBe(false); + }); + + it("should return true by default when avx2 is not specified and not on Windows ARM64", () => { + // x64 architecture on various platforms + expect(getAvx2("linux", "x64")).toBe(true); + expect(getAvx2("darwin", "x64")).toBe(true); + expect(getAvx2("windows", "x64")).toBe(true); + + // ARM architecture on non-Windows platforms + expect(getAvx2("linux", "arm64")).toBe(true); + expect(getAvx2("linux", "aarch64")).toBe(true); + expect(getAvx2("darwin", "arm64")).toBe(true); + expect(getAvx2("darwin", "aarch64")).toBe(true); + }); +});