mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-16 20:40:45 +00:00
25 lines
1.0 KiB
TypeScript
25 lines
1.0 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { matchesExecAllowlistPattern } from "./exec-allowlist-pattern.js";
|
|
|
|
describe("matchesExecAllowlistPattern", () => {
|
|
it("does not let ? cross path separators", () => {
|
|
expect(matchesExecAllowlistPattern("/tmp/a?b", "/tmp/a/b")).toBe(false);
|
|
expect(matchesExecAllowlistPattern("/tmp/a?b", "/tmp/acb")).toBe(true);
|
|
});
|
|
|
|
it("keeps ** matching across path separators", () => {
|
|
expect(matchesExecAllowlistPattern("/tmp/**/tool", "/tmp/a/b/tool")).toBe(true);
|
|
});
|
|
|
|
it.runIf(process.platform !== "win32")("preserves case sensitivity on POSIX", () => {
|
|
expect(matchesExecAllowlistPattern("/tmp/Allowed-Tool", "/tmp/allowed-tool")).toBe(false);
|
|
expect(matchesExecAllowlistPattern("/tmp/Allowed-Tool", "/tmp/Allowed-Tool")).toBe(true);
|
|
});
|
|
|
|
it.runIf(process.platform === "win32")("preserves case-insensitive matching on Windows", () => {
|
|
expect(matchesExecAllowlistPattern("C:/Tools/Allowed-Tool", "c:/tools/allowed-tool")).toBe(
|
|
true,
|
|
);
|
|
});
|
|
});
|