# HG changeset patch # User Bram Moolenaar # Date 1553805005 -3600 # Node ID dd15295b94fedbaac47e7ef16950c8a8a54eefbb # Parent 6bfd97393ca5ccf924a3a9608681bfc49d30d711 patch 8.1.1063: insufficient testing for wildmenu completion commit https://github.com/vim/vim/commit/37db642083398da7d04ed45767cc46daf40bf72b Author: Bram Moolenaar Date: Thu Mar 28 21:26:23 2019 +0100 patch 8.1.1063: insufficient testing for wildmenu completion Problem: Insufficient testing for wildmenu completion. Solution: Extend the test case. (Dominique Pelle, closes https://github.com/vim/vim/issues/4182) diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -14,14 +14,48 @@ func Test_complete_list() endfunc func Test_complete_wildmenu() - call writefile(['testfile1'], 'Xtestfile1') - call writefile(['testfile2'], 'Xtestfile2') + call mkdir('Xdir1/Xdir2', 'p') + call writefile(['testfile1'], 'Xdir1/Xtestfile1') + call writefile(['testfile2'], 'Xdir1/Xtestfile2') + call writefile(['testfile3'], 'Xdir1/Xdir2/Xtestfile3') + call writefile(['testfile3'], 'Xdir1/Xdir2/Xtestfile4') set wildmenu - call feedkeys(":e Xtest\t\t\r", "tx") + + " Pressing completes, and moves to next files when pressing again. + call feedkeys(":e Xdir1/\\\", 'tx') + call assert_equal('testfile1', getline(1)) + call feedkeys(":e Xdir1/\\\\", 'tx') call assert_equal('testfile2', getline(1)) - call delete('Xtestfile1') - call delete('Xtestfile2') + " is like but begin with the last match and then go to + " previous. + call feedkeys(":e Xdir1/Xtest\\", 'tx') + call assert_equal('testfile2', getline(1)) + call feedkeys(":e Xdir1/Xtest\\\", 'tx') + call assert_equal('testfile1', getline(1)) + + " / to move to previous/next file. + call feedkeys(":e Xdir1/\\\", 'tx') + call assert_equal('testfile1', getline(1)) + call feedkeys(":e Xdir1/\\\\", 'tx') + call assert_equal('testfile2', getline(1)) + call feedkeys(":e Xdir1/\\\\\", 'tx') + call assert_equal('testfile1', getline(1)) + + " / to go up/down directories. + call feedkeys(":e Xdir1/\\\", 'tx') + call assert_equal('testfile3', getline(1)) + call feedkeys(":e Xdir1/\\\\\", 'tx') + call assert_equal('testfile1', getline(1)) + + " cleanup + %bwipe + call delete('Xdir1/Xdir2/Xtestfile4') + call delete('Xdir1/Xdir2/Xtestfile3') + call delete('Xdir1/Xtestfile2') + call delete('Xdir1/Xtestfile1') + call delete('Xdir1/Xdir2', 'd') + call delete('Xdir1', 'd') set nowildmenu endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -776,6 +776,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1063, +/**/ 1062, /**/ 1061,