import { Command } from "commander";import { describe, expect, it } from "vitest";import type { ProgramContext } from "./context.js";import { getProgramContext, setProgramContext } from "./program-context.js";function makeCtx(version: string): ProgramContext {return {programVersion: version,channelOptions: ["telegram"],messageChannelOptions: "telegram",agentChannelOptions: "last|telegram",};}describe("program context storage", () => {it("stores and retrieves context on a command instance", () => {const program = new Command();const ctx = makeCtx("1.2.3");setProgramContext(program, ctx);expect(getProgramContext(program)).toBe(ctx);});it("returns undefined when no context was set", () => {expect(getProgramContext(new Command())).toBeUndefined();});it("does not leak context between command instances", () => {const programA = new Command();const programB = new Command();const ctxA = makeCtx("a");const ctxB = makeCtx("b");setProgramContext(programA, ctxA);setProgramContext(programB, ctxB);expect(getProgramContext(programA)).toBe(ctxA);expect(getProgramContext(programB)).toBe(ctxB);});});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。