mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-07 07:55:13 +02:00
21 lines
888 B
TypeScript
21 lines
888 B
TypeScript
|
|
import { describe, expect, it } from 'vitest';
|
||
|
|
import { completionScript } from '../../src/completion/completion-scripts.js';
|
||
|
|
|
||
|
|
describe('completionScript', () => {
|
||
|
|
it('emits a zsh script that registers _ktx and delegates to ktx __complete', () => {
|
||
|
|
const script = completionScript('zsh');
|
||
|
|
expect(script).toContain('#compdef ktx');
|
||
|
|
expect(script).toContain('compdef _ktx ktx');
|
||
|
|
expect(script).toContain('ktx __complete --');
|
||
|
|
expect(script).toContain('compadd -- $candidates');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('emits a bash script that registers _ktx and preserves newline-split candidates', () => {
|
||
|
|
const script = completionScript('bash');
|
||
|
|
expect(script).toContain('complete -F _ktx ktx');
|
||
|
|
expect(script).toContain('ktx __complete --');
|
||
|
|
expect(script).toContain("local IFS=$'\\n'");
|
||
|
|
expect(script).toContain('COMPREPLY=($(compgen -W "${out}" -- "$cur"))');
|
||
|
|
});
|
||
|
|
});
|