Files
PerishFire 4b48f94b7c refactor(ci): align tools-pack sources with scope boundaries (#7230)
* refactor(ci): align tools-pack sources with scope boundaries

* refactor(tools-pack): unify test source imports

* fix(tools-pack): resolve workspace root from package

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* test(tools-pack): exercise bundled CLI directly

---------

Co-authored-by: Looper <looper@noreply.github.com>
2026-08-21 07:56:48 +00:00

28 lines
1.4 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { electronBuilderVersionForAppVersion, versionCoreForAppVersion, versionFamilyForAppVersion } from "@/versioning/index.js";
describe("tools-pack version helpers", () => {
it("keeps runtime app versions intact for electron-builder", () => {
expect(electronBuilderVersionForAppVersion("0.8.0")).toBe("0.8.0");
expect(electronBuilderVersionForAppVersion("0.8.0-beta.6")).toBe("0.8.0-beta.6");
expect(electronBuilderVersionForAppVersion("0.8.0-preview.1")).toBe("0.8.0-preview.1");
expect(electronBuilderVersionForAppVersion("0.8.0-prerelease.2")).toBe("0.8.0-prerelease.2");
});
it("collapses prerelease build counters down to the X.Y.Z cache line", () => {
expect(versionCoreForAppVersion("0.8.0")).toBe("0.8.0");
expect(versionCoreForAppVersion("0.8.0-beta.6")).toBe("0.8.0");
expect(versionCoreForAppVersion("0.8.0-preview.1")).toBe("0.8.0");
expect(versionCoreForAppVersion("0.8.0-prerelease.2")).toBe("0.8.0");
});
it("collapses app versions down to the X.Y cache family", () => {
expect(versionFamilyForAppVersion("0.9.0")).toBe("0.9");
expect(versionFamilyForAppVersion("0.9.1-beta.6")).toBe("0.9");
expect(versionFamilyForAppVersion("0.9.1-preview.1")).toBe("0.9");
expect(versionFamilyForAppVersion("1.10.2-prerelease.3")).toBe("1.10");
expect(versionFamilyForAppVersion("not-semver")).toBeNull();
});
});