fix(e2e): reject flag Telegram credential values · openclaw/openclaw@0e53358
vincentkoc
·
2026-06-22
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -84,7 +84,7 @@ function parseArgs(argv: string[]) {
|
84 | 84 | usage(); |
85 | 85 | } |
86 | 86 | const value = args[index + 1]; |
87 | | -if (!value || value.startsWith("--")) { |
| 87 | +if (!value || value.startsWith("-")) { |
88 | 88 | usage(); |
89 | 89 | } |
90 | 90 | opts.set(key.slice(2), value); |
@@ -717,4 +717,4 @@ if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href)
|
717 | 717 | await main(); |
718 | 718 | } |
719 | 719 | |
720 | | -export { hydratePayloadFromLease, optionalPositiveInteger, parseChunkedPayloadMarker }; |
| 720 | +export { hydratePayloadFromLease, optionalPositiveInteger, parseArgs, parseChunkedPayloadMarker }; |
| Original file line number | Diff line number | Diff line change |
|---|
@@ -274,6 +274,24 @@ describe("telegram user credential IO", () => {
|
274 | 274 | ); |
275 | 275 | }); |
276 | 276 | |
| 277 | +it("rejects short flags as credential script option values", async () => { |
| 278 | +const credentialModule = (await import( |
| 279 | +`${new URL("../../scripts/e2e/telegram-user-credential.ts", import.meta.url).href}?case=args-${Date.now()}` |
| 280 | +)) as { |
| 281 | +parseArgs(argv: string[]): unknown; |
| 282 | +}; |
| 283 | + |
| 284 | +expect(() => |
| 285 | +credentialModule.parseArgs([ |
| 286 | +"node", |
| 287 | +"scripts/e2e/telegram-user-credential.ts", |
| 288 | +"restore", |
| 289 | +"--payload-file", |
| 290 | +"-h", |
| 291 | +]), |
| 292 | +).toThrow("Usage:"); |
| 293 | +}); |
| 294 | + |
277 | 295 | it("fails hung child processes instead of waiting for the outer proof timeout", async () => { |
278 | 296 | await expect( |
279 | 297 | runCommand(process.execPath, ["-e", "setInterval(() => {}, 1000)"], undefined, { |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。