comparison src/testdir/test_expand.vim @ 28307:425700af491b v8.2.4679

patch 8.2.4679: cannot have expandcmd() give an error message for mistakes Commit: https://github.com/vim/vim/commit/2b74b6805b5c8c4836b66df5d949f5ff6a77f8c7 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sun Apr 3 21:30:32 2022 +0100 patch 8.2.4679: cannot have expandcmd() give an error message for mistakes Problem: Cannot have expandcmd() give an error message for mistakes. Solution: Add an optional argument to give errors. Fix memory leak when expanding files fails. (Yegappan Lakshmanan, closes #10071)
author Bram Moolenaar <Bram@vim.org>
date Sun, 03 Apr 2022 22:45:04 +0200
parents 2fd2ce8a556c
children 2655935b5ccc
comparison
equal deleted inserted replaced
28306:371e6bb623ad 28307:425700af491b
88 call assert_equal("grep pat blue\tsky", expandcmd('grep pat <cfile>')) 88 call assert_equal("grep pat blue\tsky", expandcmd('grep pat <cfile>'))
89 89
90 " Test for expression expansion `= 90 " Test for expression expansion `=
91 let $FOO= "blue" 91 let $FOO= "blue"
92 call assert_equal("blue sky", expandcmd("`=$FOO .. ' sky'`")) 92 call assert_equal("blue sky", expandcmd("`=$FOO .. ' sky'`"))
93 let x = expandcmd("`=axbycz`")
94 call assert_equal('`=axbycz`', x)
95 call assert_fails('let x = expandcmd("`=axbycz`", #{errmsg: 1})', 'E121:')
96 let x = expandcmd("`=axbycz`", #{abc: []})
97 call assert_equal('`=axbycz`', x)
93 98
94 " Test for env variable with spaces 99 " Test for env variable with spaces
95 let $FOO= "foo bar baz" 100 let $FOO= "foo bar baz"
96 call assert_equal("e foo bar baz", expandcmd("e $FOO")) 101 call assert_equal("e foo bar baz", expandcmd("e $FOO"))
97 102
98 if has('unix') 103 if has('unix') && executable('bash')
99 " test for using the shell to expand a command argument 104 " test for using the shell to expand a command argument.
100 call assert_equal('{1..4}', expandcmd('{1..4}')) 105 " only bash supports the {..} syntax
106 set shell=bash
107 let x = expandcmd('{1..4}')
108 call assert_equal('{1..4}', x)
109 call assert_fails("let x = expandcmd('{1..4}', #{errmsg: v:true})", 'E77:')
110 let x = expandcmd('{1..4}', #{error: v:true})
111 call assert_equal('{1..4}', x)
112 set shell&
101 endif 113 endif
102 114
103 unlet $FOO 115 unlet $FOO
104 close! 116 close!
105 endfunc 117 endfunc