diff options
| author | dana <dana@dana.is> | 2026-05-02 13:38:37 -0500 |
|---|---|---|
| committer | dana <dana@dana.is> | 2026-05-02 13:46:46 -0500 |
| commit | 44ddb8203bfc8839953eb48bc75bac7db66d06bb (patch) | |
| tree | 5dfe8a993a2446330df49de77ea39c70ffa502ca /Test | |
| parent | unposted: tests: zgetopt: make sure zsh/zutil loads (diff) | |
| download | zsh-44ddb8203bfc8839953eb48bc75bac7db66d06bb.tar zsh-44ddb8203bfc8839953eb48bc75bac7db66d06bb.tar.gz zsh-44ddb8203bfc8839953eb48bc75bac7db66d06bb.tar.bz2 zsh-44ddb8203bfc8839953eb48bc75bac7db66d06bb.tar.lz zsh-44ddb8203bfc8839953eb48bc75bac7db66d06bb.tar.xz zsh-44ddb8203bfc8839953eb48bc75bac7db66d06bb.tar.zst zsh-44ddb8203bfc8839953eb48bc75bac7db66d06bb.zip | |
unposted: tests: add basic tests for _describe
Diffstat (limited to 'Test')
| -rw-r--r-- | Test/Y05describe.ztst | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/Test/Y05describe.ztst b/Test/Y05describe.ztst new file mode 100644 index 000000000..ee8717a24 --- /dev/null +++ b/Test/Y05describe.ztst @@ -0,0 +1,97 @@ +# tests for _describe + +%prep + + if ( zmodload -s zsh/zpty ); then + source $ZTST_srcdir/comptest + mkdir comp.tmp + cd comp.tmp + comptestinit -z $ZTST_testdir/../Src/zsh && { + comptesteval 'compdef _tst tst' + tst_describe() { comptesteval "_tst() { _describe ${${(@q+)@}} }" } + } + else + ZTST_unimplemented='the zsh/zpty module is not available' + fi + +%test + + tst_describe desc '(a b:descb "c\:c:descc")' + comptest $'tst \t' +0:name1 as (...), description, escaped colon in name +>line: {tst }{} +>DESCRIPTION:{desc} +>NO:{b -- descb} +>NO:{c:c -- descc} +>NO:{a} + + tst_describe desc '(( a b:descb "c\:c:descc" ))' + comptest $'tst \t' +0:name1 as ((...)) not supported +>line: {tst }{} + + tst_describe desc '(a b:descb "c\:c:descc")' '(ax bx:descbx "cx\:cx:desccx")' + comptest $'tst \t\t' +0:name2 as (...) +>line: {tst }{} +>DESCRIPTION:{desc} +>NO:{b -- descb} +>NO:{c:c -- descc} +>NO:{a} +>line: {tst bx}{} + + tst_describe desc '(a b c)' -- '(x y z)' + comptest $'tst \t' +0:multiple groups +>line: {tst }{} +>DESCRIPTION:{desc} +>NO:{a} +>NO:{b} +>NO:{c} +>NO:{x} +>NO:{y} +>NO:{z} + + comptesteval '_tst() { + local -a name1=( a b:descb "c\:c:descc" ) + local -a name2=( ax bx:descbx "cx\:cx:desccx" ) + _describe desc name1 name2 + }' + comptest $'tst \t\t' +0:arrays by name +>line: {tst }{} +>DESCRIPTION:{desc} +>NO:{b -- descb} +>NO:{c:c -- descc} +>NO:{a} +>line: {tst bx}{} + + tst_describe desc '(b c a)' -oreverse + comptest $'tst \t' +0:compadd options, basic +>line: {tst }{} +>DESCRIPTION:{desc} +>NO:{c} +>NO:{b} +>NO:{a} + + tst_describe desc \ + '(b c a)' '(bx cx ax)' -oreverse \ + -- \ + '(y z x)' '(yx zx xx)' -onosort + comptest $'tst \t\t' +0:compadd options, complex +>line: {tst }{} +>DESCRIPTION:{desc} +>NO:{c} +>NO:{b} +>NO:{a} +>DESCRIPTION:{desc} +>NO:{y} +>NO:{z} +>NO:{x} +>line: {tst cx}{} + +%clean + + zmodload -ui zsh/zpty |
