

























@@ -13,6 +13,7 @@ import {
1313isHelpOrVersionInvocation,
1414isRootHelpInvocation,
1515isRootVersionInvocation,
16+normalizeGeneratedHelpCommandArgv,
1617shouldMigrateState,
1718shouldMigrateStateFromPath,
1819} from "./argv.js";
@@ -68,6 +69,36 @@ describe("argv helpers", () => {
6869expect(hasHelpOrVersion(argv)).toBe(expected);
6970});
707172+it.each([
73+{
74+name: "known command group help command help flag",
75+argv: ["node", "openclaw", "backup", "help", "--help"],
76+expected: ["node", "openclaw", "backup", "help"],
77+},
78+{
79+name: "known command group help command short help flag",
80+argv: ["node", "openclaw", "--profile", "work", "backup", "help", "-h"],
81+expected: ["node", "openclaw", "--profile", "work", "backup", "help"],
82+},
83+{
84+name: "leaf positional help remains untouched",
85+argv: ["node", "openclaw", "docs", "help", "--help"],
86+expected: ["node", "openclaw", "docs", "help", "--help"],
87+},
88+{
89+name: "extra help positionals remain untouched",
90+argv: ["node", "openclaw", "backup", "help", "missing", "extra", "--help"],
91+expected: ["node", "openclaw", "backup", "help", "missing", "extra", "--help"],
92+},
93+{
94+name: "terminator help flag remains untouched",
95+argv: ["node", "openclaw", "backup", "help", "--", "--help"],
96+expected: ["node", "openclaw", "backup", "help", "--", "--help"],
97+},
98+])("normalizes generated help commands: $name", ({ argv, expected }) => {
99+expect(normalizeGeneratedHelpCommandArgv(argv)).toEqual(expected);
100+});
101+71102it.each([
72103{
73104name: "root help command",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。