mirror of
https://github.com/Nystik-gh/ignis.git
synced 2026-06-17 04:35:53 +00:00
add unit tests for ssrf guard, version compare, and settings validation
This commit is contained in:
31
packages/bridge/src/util/version.test.mjs
Normal file
31
packages/bridge/src/util/version.test.mjs
Normal file
@@ -0,0 +1,31 @@
|
||||
import { describe, it, expect } from "vitest";
|
||||
import { createRequire } from "module";
|
||||
|
||||
const require = createRequire(import.meta.url);
|
||||
const { stripBuildMetadata, isNewer } = require("./version.js");
|
||||
|
||||
describe("isNewer", () => {
|
||||
it("is true when latest is strictly newer", () => {
|
||||
expect(isNewer("0.8.4", "0.8.3")).toBe(true);
|
||||
expect(isNewer("1.0.0", "0.9.9")).toBe(true);
|
||||
expect(isNewer("0.9.0", "0.8.9")).toBe(true);
|
||||
});
|
||||
|
||||
it("is false for older or equal, so no downgrade is prompted", () => {
|
||||
expect(isNewer("0.8.3", "0.8.4")).toBe(false);
|
||||
expect(isNewer("0.8.4", "0.8.4")).toBe(false);
|
||||
expect(isNewer("0.9.9", "1.0.0")).toBe(false);
|
||||
});
|
||||
|
||||
it("is false for malformed versions", () => {
|
||||
expect(isNewer("x", "0.8.4")).toBe(false);
|
||||
expect(isNewer("0.8", "0.8.4")).toBe(false);
|
||||
expect(isNewer("1.x.0", "0.8.4")).toBe(false);
|
||||
});
|
||||
|
||||
it("ignores build metadata, so an equal version with a build tag is not newer", () => {
|
||||
expect(
|
||||
isNewer(stripBuildMetadata("0.8.4"), stripBuildMetadata("0.8.4+q2fmfox")),
|
||||
).toBe(false);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user