import { describe, expect, it } from "vitest" ;
import {
shouldEagerRegisterSubcommands,
shouldRegisterPrimaryCommandOnly,
shouldRegisterPrimarySubcommandOnly,
shouldSkipPluginCommandRegistration,
} from "./command-registration-policy.js" ;
describe("command-registration-policy" , () => {
it("matches primary command registration policy" , () => {
expect(shouldRegisterPrimaryCommandOnly(["node" , "openclaw" , "status" ])).toBe(true );
expect(shouldRegisterPrimaryCommandOnly(["node" , "openclaw" , "status" , "--help" ])).toBe(true );
expect(shouldRegisterPrimaryCommandOnly(["node" , "openclaw" , "-V" ])).toBe(false );
expect(shouldRegisterPrimaryCommandOnly(["node" , "openclaw" , "acp" , "-v" ])).toBe(true );
});
it("matches plugin registration skip policy" , () => {
expect(
shouldSkipPluginCommandRegistration({
argv: ["node" , "openclaw" , "--help" ],
primary: null ,
hasBuiltinPrimary: false ,
}),
).toBe(true );
expect(
shouldSkipPluginCommandRegistration({
argv: ["node" , "openclaw" , "config" , "--help" ],
primary: "config" ,
hasBuiltinPrimary: true ,
}),
).toBe(true );
expect(
shouldSkipPluginCommandRegistration({
argv: ["node" , "openclaw" , "voicecall" , "--help" ],
primary: "voicecall" ,
hasBuiltinPrimary: false ,
}),
).toBe(false );
});
it("matches lazy subcommand registration policy" , () => {
expect(shouldEagerRegisterSubcommands({ OPENCLAW_DISABLE_LAZY_SUBCOMMANDS: "1" })).toBe(true );
expect(shouldEagerRegisterSubcommands({ OPENCLAW_DISABLE_LAZY_SUBCOMMANDS: "0" })).toBe(false );
expect(shouldRegisterPrimarySubcommandOnly(["node" , "openclaw" , "acp" ], {})).toBe(true );
expect(shouldRegisterPrimarySubcommandOnly(["node" , "openclaw" , "acp" , "--help" ], {})).toBe(
true ,
);
expect(
shouldRegisterPrimarySubcommandOnly(["node" , "openclaw" , "acp" ], {
OPENCLAW_DISABLE_LAZY_SUBCOMMANDS: "1" ,
}),
).toBe(false );
});
});
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.7 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland