| 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 |