patch 9.0.1972: win32: missing '**' expansion test
Problem: win32: missing '**' expansion test (after v9.0.1947)
Solution: Add test for MS-Windows
win32: Add "**" test
Vim supports "**" on MS-Windows. However, it is not tested by
`Test_glob_extended_bash`.
Unlike Unix, it doesn't use 'shell' and doesn't support {,} expansion.
So, I added as a separate test.
related: #13205
closes: #13250
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
This commit is contained in:
committed by
Christian Brabandt
parent
f59cbefd0a
commit
4a1ad55564
@ -386,8 +386,8 @@ is to use "path\[[]abc]", this matches the file "path\[abc]".
|
|||||||
|
|
||||||
*starstar-wildcard*
|
*starstar-wildcard*
|
||||||
Expanding "**" is possible on Unix, Win32, macOS and a few other systems (but
|
Expanding "**" is possible on Unix, Win32, macOS and a few other systems (but
|
||||||
it may depend on your 'shell' setting. It's known to work correctly for zsh; for
|
it may depend on your 'shell' setting on Unix and macOS. It's known to work
|
||||||
bash this requires at least bash version >= 4.X).
|
correctly for zsh; for bash this requires at least bash version >= 4.X).
|
||||||
This allows searching a directory tree. This goes up to 100 directories deep.
|
This allows searching a directory tree. This goes up to 100 directories deep.
|
||||||
Note there are some commands where this works slightly differently, see
|
Note there are some commands where this works slightly differently, see
|
||||||
|file-searching|.
|
|file-searching|.
|
||||||
|
|||||||
@ -3647,4 +3647,22 @@ func Test_glob_extended_bash()
|
|||||||
let &shell=_shell
|
let &shell=_shell
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
" Test for glob() with extended patterns (MS-Windows)
|
||||||
|
" Vim doesn't use 'shell' to expand wildcards on MS-Windows.
|
||||||
|
" Unlike bash, it doesn't support {,} expansion.
|
||||||
|
func Test_glob_extended_mswin()
|
||||||
|
CheckMSWindows
|
||||||
|
|
||||||
|
call mkdir('Xtestglob/foo/bar/src', 'p')
|
||||||
|
call writefile([], 'Xtestglob/foo/bar/src/foo.sh')
|
||||||
|
call writefile([], 'Xtestglob/foo/bar/src/foo.h')
|
||||||
|
call writefile([], 'Xtestglob/foo/bar/src/foo.cpp')
|
||||||
|
|
||||||
|
" Sort output of glob() otherwise we end up with different
|
||||||
|
" ordering depending on whether file system is case-sensitive.
|
||||||
|
let expected = ['Xtestglob/foo/bar/src/foo.cpp', 'Xtestglob/foo/bar/src/foo.h', 'Xtestglob/foo/bar/src/foo.sh']
|
||||||
|
call assert_equal(expected, sort(glob('Xtestglob/**/foo.*', 0, 1)))
|
||||||
|
call delete('Xtestglob', 'rf')
|
||||||
|
endfunc
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
|||||||
@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1972,
|
||||||
/**/
|
/**/
|
||||||
1971,
|
1971,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user