28 lines
979 B
TypeScript
28 lines
979 B
TypeScript
import { expect, test } from "bun:test";
|
|
import { testPluginCompatibility } from "../src/index.ts";
|
|
|
|
test("plugin compatibility kit evaluates runtime, Bun, OS, and capability matrices", () => {
|
|
const results = testPluginCompatibility(
|
|
{
|
|
runtimes: ["bun", "node"],
|
|
requires: ["filesystem"],
|
|
compatibility: { bunMin: "1.3.0", os: ["linux", "darwin"] },
|
|
},
|
|
[
|
|
{ runtime: "bun", version: "1.3.2", os: "linux", capabilities: ["filesystem"] },
|
|
{ runtime: "bun", version: "1.2.9", os: "win32", capabilities: [] },
|
|
{ runtime: "edge", os: "linux", capabilities: ["crypto"] },
|
|
],
|
|
);
|
|
expect(results[0]?.ok).toBe(true);
|
|
expect(results[1]?.issues.map((issue) => issue.code)).toEqual([
|
|
"WRN-PLUGIN-MATRIX-VERSION",
|
|
"WRN-PLUGIN-MATRIX-OS",
|
|
"WRN-PLUGIN-MATRIX-CAPABILITY",
|
|
]);
|
|
expect(results[2]?.issues.map((issue) => issue.code)).toEqual([
|
|
"WRN-PLUGIN-MATRIX-RUNTIME",
|
|
"WRN-PLUGIN-MATRIX-CAPABILITY",
|
|
]);
|
|
});
|