mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-07 16:49:48 -04:00
* feat(completion): generate-completion close #3083 * feat: better error message * test: generate-completion * feat(completion): add powershell * chore(deps): update @pnpm/tabtab to 0.3.0 * switch to provided type declarations * fix typings * update tests * update bundle scripts * refactor: remove unnecessary `??` * refactor: replace a type def with provided types * chore(deps): update @pnpm/tabtab to 0.4.0 * feat(cli): rename completion command * chore(deps): update @pnpm/tabtab to 0.4.1 * refactor: use tabtab's new features * fix: pass shell * chore(deps): update @pnpm/tabtab to 0.5.0 * chore(deps): update @pnpm/tabtab to 0.5.1 * fix: remove unused import * refactor: move completion to plugins * feat: remove `{install,uninstall}-completion` Just `pnpm completion` is enough * test: fix * refactor: direct import * refactor: move tests to next to the lib * refactor: merge 2 packages into 1 * fix: update changeset and remove install-completion
38 lines
1.4 KiB
TypeScript
38 lines
1.4 KiB
TypeScript
import { getShellFromString, getShellFromParams } from './getShell'
|
|
|
|
test('getShellFromString errors on undefined', () => {
|
|
expect(() => getShellFromString()).toThrow('`pnpm completion` requires a shell name')
|
|
})
|
|
|
|
test('getShellFromString errors on empty input', () => {
|
|
expect(() => getShellFromString('')).toThrow('`pnpm completion` requires a shell name')
|
|
})
|
|
|
|
test('getShellFromString errors on white space', () => {
|
|
expect(() => getShellFromString(' ')).toThrow('`pnpm completion` requires a shell name')
|
|
})
|
|
|
|
test('getShellFromString errors on unsupported shell', () => {
|
|
expect(() => getShellFromString('weird-shell-nobody-uses')).toThrow("'weird-shell-nobody-uses' is not supported")
|
|
})
|
|
|
|
test('getShellFromString returns supported shell as-is', () => {
|
|
expect(getShellFromString('bash')).toBe('bash')
|
|
})
|
|
|
|
test('getShellFromString trims whitespaces on support shell', () => {
|
|
expect(getShellFromString(' bash\n')).toBe('bash')
|
|
})
|
|
|
|
test('getShellFromParams errors on empty input', () => {
|
|
expect(() => getShellFromParams([])).toThrow('`pnpm completion` requires a shell name')
|
|
})
|
|
|
|
test('getShellFromParams errors on redundant parameters', () => {
|
|
expect(() => getShellFromParams(['bash', 'zsh', 'fish', 'pwsh'])).toThrow('The 3 parameters after shell is not necessary')
|
|
})
|
|
|
|
test('getShellFromParams returns supported shell', () => {
|
|
expect(getShellFromParams(['bash'])).toBe('bash')
|
|
})
|