Files
openclaw/test/scripts/package-root-args.test.ts
Peter Steinberger c70aee247e refactor(scripts): migrate JavaScript tools to TypeScript (#121005)
* refactor(scripts): migrate JavaScript tools to TypeScript

* fix(ci): keep changed-scope preflight zero-install

* fix(ci): preserve zero-install script owners

* fix(ci): complete script migration follow-through

* fix(release): keep stable closeout zero-install

* fix(scripts): preserve standalone execution boundaries

* fix(scripts): repair standalone loader boundaries

* fix(scripts): normalize gateway observation ids

* fix(scripts): keep Docker packager standalone

* test(scripts): preserve rebase cleanup helpers

* test(sessions): use tracked temp directory
2026-08-09 07:21:35 -07:00

38 lines
1.4 KiB
TypeScript

import path from "node:path";
import { describe, expect, it } from "vitest";
import { parsePackageRootArg } from "../../scripts/lib/package-root-args.mts";
import { withEnv } from "../../src/test-utils/env.js";
const ENV_NAME = "OPENCLAW_PACKAGE_ROOT_ARGS_TEST";
describe("package-root-args", () => {
it("uses the package root flag before the environment fallback", () => {
withEnv({ [ENV_NAME]: "/env/root" }, () => {
expect(parsePackageRootArg(["--package-root", "package"], ENV_NAME)).toEqual({
packageRoot: path.resolve("package"),
});
expect(parsePackageRootArg(["--package-root=dist/package"], ENV_NAME)).toEqual({
packageRoot: path.resolve("dist/package"),
});
});
});
it("rejects missing package root flag values", () => {
expect(() => parsePackageRootArg(["--package-root"], ENV_NAME)).toThrow(
"--package-root requires a value",
);
expect(() => parsePackageRootArg(["--package-root", "--other"], ENV_NAME)).toThrow(
"--package-root requires a value",
);
expect(() => parsePackageRootArg(["--package-root", "-h"], ENV_NAME)).toThrow(
"--package-root requires a value",
);
expect(() => parsePackageRootArg(["--package-root="], ENV_NAME)).toThrow(
"--package-root requires a value",
);
expect(() => parsePackageRootArg(["--package-root=-h"], ENV_NAME)).toThrow(
"--package-root requires a value",
);
});
});