返回 DeepSeek-Reasonix
publish-homebrew-cask.test.mjs
根目录 / scripts / publish-homebrew-cask.test.mjs
1 import assert from "node:assert/strict";
2 import test from "node:test";
3 import { decideCaskUpdate } from "./publish-homebrew-cask.mjs";
4
5 const cask = version => `cask "reasonix" do\n version "${version}"\nend\n`;
6
7 test("reuses an identical cask", () => assert.equal(decideCaskUpdate(cask("1.2.3"), cask("1.2.3")), "reuse"));
8 test("publishes a newer cask", () => assert.equal(decideCaskUpdate(cask("1.2.3"), cask("1.2.4")), "publish"));
9 test("rejects downgrade and same-version conflict", () => {
10 assert.throws(() => decideCaskUpdate(cask("2.0.0"), cask("1.9.9")), /backwards/);
11 assert.throws(() => decideCaskUpdate(`${cask("1.2.3")}# old`, cask("1.2.3")), /conflicting/);
12 });
13
13 lines Plain Text