import { describe, expect, it } from 'vitest'; import { createProgram } from '../src/cli/program.js'; import { createCliContext } from '../src/cli/shared.js'; describe('root help output', () => { it('mentions shorthand + json and lists user commands', () => { const ctx = createCliContext([]); const program = createProgram(ctx); let help = ''; program.configureOutput({ writeOut: (s) => { help += s; }, writeErr: () => {}, }); program.outputHelp(); expect(help).toContain('following'); expect(help).toContain('followers'); expect(help).toContain('likes'); expect(help).toContain('bird '); expect(help).toContain('--json'); }); it('shows global options in subcommand help', () => { const ctx = createCliContext([]); const program = createProgram(ctx); const cmd = program.commands.find((c) => c.name() === 'read'); if (!cmd) { throw new Error('Expected "read" command to be registered'); } let help = ''; const output = { writeOut: (s) => { help += s; }, writeErr: () => {}, }; program.configureOutput(output); cmd.configureOutput(output); cmd.outputHelp(); expect(help).toContain('--auth-token'); expect(help).toContain('--ct0'); expect(help).toContain('--timeout'); expect(help).toContain('--quote-depth'); }); });