

























@@ -16,13 +16,17 @@ afterEach(async () => {
16161717describe("resolve-openclaw-package-candidate", () => {
1818it("accepts only OpenClaw release package specs for npm candidates", () => {
19-expect(() => validateOpenClawPackageSpec("openclaw@beta")).not.toThrow();
20-expect(() => validateOpenClawPackageSpec("openclaw@alpha")).not.toThrow();
21-expect(() => validateOpenClawPackageSpec("openclaw@latest")).not.toThrow();
22-expect(() => validateOpenClawPackageSpec("openclaw@2026.4.27")).not.toThrow();
23-expect(() => validateOpenClawPackageSpec("openclaw@2026.4.27-1")).not.toThrow();
24-expect(() => validateOpenClawPackageSpec("openclaw@2026.4.27-beta.2")).not.toThrow();
25-expect(() => validateOpenClawPackageSpec("openclaw@2026.4.27-alpha.2")).not.toThrow();
19+for (const spec of [
20+"openclaw@beta",
21+"openclaw@alpha",
22+"openclaw@latest",
23+"openclaw@2026.4.27",
24+"openclaw@2026.4.27-1",
25+"openclaw@2026.4.27-beta.2",
26+"openclaw@2026.4.27-alpha.2",
27+]) {
28+expect(validateOpenClawPackageSpec(spec), spec).toBeUndefined();
29+}
26302731expect(() => validateOpenClawPackageSpec("@evil/openclaw@1.0.0")).toThrow(
2832"package_spec must be openclaw@alpha",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。