From 5748f7e69f3f880cd33244f7676ad415c1df25b6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 4 Jan 2026 23:32:12 +0000 Subject: [PATCH] Add unit tests for getAvx2 function Co-authored-by: xhyrom <56601352+xhyrom@users.noreply.github.com> --- tests/utils.spec.ts | 51 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 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..a88019b --- /dev/null +++ b/tests/utils.spec.ts @@ -0,0 +1,51 @@ +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", () => { + expect(getAvx2("linux", "x64")).toBe(true); + expect(getAvx2("darwin", "x64")).toBe(true); + expect(getAvx2("windows", "x64")).toBe(true); + expect(getAvx2("linux", "arm64")).toBe(true); + expect(getAvx2("darwin", "aarch64")).toBe(true); + }); + + it("should return true by default for non-Windows platforms with ARM architecture", () => { + expect(getAvx2("linux", "arm64")).toBe(true); + expect(getAvx2("linux", "aarch64")).toBe(true); + expect(getAvx2("darwin", "arm64")).toBe(true); + expect(getAvx2("darwin", "aarch64")).toBe(true); + }); +});