aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-08-22 09:27:55 +0800
committerGitHub <noreply@github.com>2022-08-22 09:27:55 +0800
commit72b03792b6428ca96ca779b53061c6c98f6f930f (patch)
tree2a90cdcd5e45827132af3a7cdbe6173e8a95eafe
parentc086bf60794811ef33480e87000630e2d498b1bd (diff)
parent06a53ab2cb13e1cc7d0deb3c8846881056aefbbf (diff)
downloadrneovim-72b03792b6428ca96ca779b53061c6c98f6f930f.tar.gz
rneovim-72b03792b6428ca96ca779b53061c6c98f6f930f.tar.bz2
rneovim-72b03792b6428ca96ca779b53061c6c98f6f930f.zip
Merge pull request #19885 from zeertzjq/vim-8.2.4328
vim-patch:8.2.{4328,4334}: wildmenu tests
-rw-r--r--src/nvim/testdir/test_cmdline.vim20
-rw-r--r--test/functional/fixtures/wildpum/あいう/1230
-rw-r--r--test/functional/fixtures/wildpum/あいう/abc0
-rw-r--r--test/functional/fixtures/wildpum/あいう/xyz0
-rw-r--r--test/functional/ui/popupmenu_spec.lua54
5 files changed, 72 insertions, 2 deletions
diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim
index 3f53ed04b6..35886d42c5 100644
--- a/src/nvim/testdir/test_cmdline.vim
+++ b/src/nvim/testdir/test_cmdline.vim
@@ -2024,6 +2024,26 @@ func Test_wildmenu_pum()
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_wildmenu_pum_29', {})
+ " Check "list" still works
+ call term_sendkeys(buf, "\<C-U>set wildmode=longest,list\<CR>")
+ call term_sendkeys(buf, ":cn\<Tab>")
+ call TermWait(buf)
+ call VerifyScreenDump(buf, 'Test_wildmenu_pum_30', {})
+ call term_sendkeys(buf, "s")
+ call TermWait(buf)
+ call VerifyScreenDump(buf, 'Test_wildmenu_pum_31', {})
+
+ " Tests a directory name contained full-width characters.
+ call mkdir('Xdir/あいう', 'p')
+ call writefile([], 'Xdir/あいう/abc')
+ call writefile([], 'Xdir/あいう/xyz')
+ call writefile([], 'Xdir/あいう/123')
+
+ call term_sendkeys(buf, "\<C-U>set wildmode&\<CR>")
+ call term_sendkeys(buf, ":\<C-U>e Xdir/あいう/\<Tab>")
+ call TermWait(buf)
+ call VerifyScreenDump(buf, 'Test_wildmenu_pum_32', {})
+
call term_sendkeys(buf, "\<C-U>\<CR>")
call StopVimInTerminal(buf)
call delete('Xtest')
diff --git a/test/functional/fixtures/wildpum/あいう/123 b/test/functional/fixtures/wildpum/あいう/123
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/test/functional/fixtures/wildpum/あいう/123
diff --git a/test/functional/fixtures/wildpum/あいう/abc b/test/functional/fixtures/wildpum/あいう/abc
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/test/functional/fixtures/wildpum/あいう/abc
diff --git a/test/functional/fixtures/wildpum/あいう/xyz b/test/functional/fixtures/wildpum/あいう/xyz
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/test/functional/fixtures/wildpum/あいう/xyz
diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua
index f148e2643f..e11cd1e859 100644
--- a/test/functional/ui/popupmenu_spec.lua
+++ b/test/functional/ui/popupmenu_spec.lua
@@ -2160,6 +2160,55 @@ describe('builtin popupmenu', function()
feed('<esc>')
+ -- Check "list" still works
+ command('set wildmode=longest,list')
+ feed(':cn<Tab>')
+ screen:expect([[
+ |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {4: }|
+ :cn |
+ cnewer cnoreabbrev |
+ cnext cnoremap |
+ cnfile cnoremenu |
+ :cn^ |
+ ]])
+ feed('s')
+ screen:expect([[
+ |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {4: }|
+ :cn |
+ cnewer cnoreabbrev |
+ cnext cnoremap |
+ cnfile cnoremenu |
+ :cns^ |
+ ]])
+
+ feed('<esc>')
+ command('set wildmode=full')
+
+ -- Tests a directory name contained full-width characters.
+ feed(':e あいう/<Tab>')
+ screen:expect([[
+ |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }{s: 123 }{1: }|
+ {1:~ }{n: abc }{1: }|
+ {1:~ }{n: xyz }{1: }|
+ :e あいう/123^ |
+ ]])
+
+ feed('<esc>')
+
-- check positioning with multibyte char in pattern
command("e långfile1")
command("sp långfile2")
@@ -2229,11 +2278,12 @@ describe('builtin popupmenu', function()
:b långfile^ |
]])
- -- special case: when patterns ends with "/", show menu items aligned
- -- after the "/"
feed('<esc>')
command("close")
command('set wildmode=full')
+
+ -- special case: when patterns ends with "/", show menu items aligned
+ -- after the "/"
feed(':e compdir/<tab>')
screen:expect([[
|