commit 0dfac68928778f3ed6297c5ad46a79eb9a8dc69d
parent 23aa4853b3fd3b02d5431fadeba52d97e532f53c
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue, 6 Jan 2026 18:43:02 +0800
vim-patch:9.1.2051: tests: fix Test_cd_completion fails in Appveyor (#37266)
Problem: Test_cd_completion test fails in Appveyor. In Appveyor, a path
containing spaces was selected as the test target. But the
comparison failed because spaces were not taken into account
(after v9.1.2050)
Solution: Escape spaces in paths for comparison (Muraoka Taro)
closes: vim/vim#19087
https://github.com/vim/vim/commit/679c2c01faab2b2106ecd7c1038efa031158b93b
Co-authored-by: Muraoka Taro <koron.kaoriya@gmail.com>
Diffstat:
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/test/old/testdir/test_cd.vim b/test/old/testdir/test_cd.vim
@@ -264,22 +264,28 @@ func Test_cd_completion()
let drive = full[0]
call chdir(saved_cwd)
+ " Spaces are escaped in command line completion. Next, in assert_match(),
+ " the backslash added by the first escape also needs to be escaped
+ " separately, so the escape is doubled.
+ let want_full = escape(escape(full, ' '), '\')
+ let want_dir = escape(escape(dir, ' '), '\')
+
for cmd in ['cd', 'chdir', 'lcd', 'lchdir', 'tcd', 'tchdir']
for sep in [ '/', '\']
" Explicit drive letter
call feedkeys(':' .. cmd .. ' ' .. drive .. ':' .. sep ..
\ partial .. "\<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_match(full, @:)
+ call assert_match(want_full, @:)
" Implicit drive letter
call feedkeys(':' .. cmd .. ' ' .. sep .. partial .. "\<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_match('/' .. dir .. '/', @:)
+ call assert_match('/' .. want_dir .. '/', @:)
" UNC path
call feedkeys(':' .. cmd .. ' ' .. sep .. sep .. $COMPUTERNAME .. sep ..
\ drive .. '$' .. sep .. partial .."\<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_match('//' .. $COMPUTERNAME .. '/' .. drive .. '$/' .. dir .. '/' , @:)
+ call assert_match('//' .. $COMPUTERNAME .. '/' .. drive .. '$/' .. want_dir .. '/' , @:)
endfor
endfor