← back to Kickbacks Ai Upstream
test/claudeCodeVersion.test.ts
25 lines
import { describe, expect, it } from "vitest";
import { compareClaudeCodeInstall } from "../src/util/claudeCodeVersion";
describe("compareClaudeCodeInstall", () => {
it("orders Claude Code installs by semver, not lexicographic text", () => {
const paths = [
"C:/x/anthropic.claude-code-2.1.99-win32-x64/webview/index.js",
"C:/x/anthropic.claude-code-2.1.162-win32-x64/webview/index.js",
"C:/x/anthropic.claude-code-2.1.9-win32-x64/webview/index.js",
].sort(compareClaudeCodeInstall);
expect(paths.map((p) => /claude-code-([0-9.]+)/.exec(p)?.[1]))
.toEqual(["2.1.9", "2.1.99", "2.1.162"]);
});
it("keeps versioned installs after unexpected names", () => {
const paths = [
"anthropic.claude-code-preview/webview/index.js",
"anthropic.claude-code-2.1.162-win32-x64/webview/index.js",
].sort(compareClaudeCodeInstall);
expect(paths[1]).toContain("2.1.162");
});
});