vim-patch:8.2.0522: several errors are not tested for (#19901)

Problem:    Several errors are not tested for.
Solution:   Add tests. (Yegappan Lakshmanan, closes vim/vim#5892)
ee4e0c1e9a

Omit Test_range() change: reverted in patch 8.2.0615.
Cherry-pick Test_z_no_space_before_xxx() from patch 8.2.0195.
Cherry-pick Test_reverse_sort_uniq() change from patch 8.2.0183.
Make uniq() error behavior consistent with sort().
Cherry-pick Test_set_ttytype() change from patch 8.1.1826.
Cherry-pick quickfix checks from patch 8.1.2373 to test_preview.vim.
Test_viminfo_error() is applicable.
Cherry-pick E1058 from patch 8.2.0149 and port Test_deep_nest() to Lua.
This commit is contained in:
zeertzjq
2022-08-23 10:38:53 +08:00
committed by GitHub
parent 48a4657aee
commit d5328ea408
16 changed files with 263 additions and 52 deletions

View File

@@ -455,24 +455,24 @@ describe('confirm()', function()
meths.set_option('more', false) -- Avoid hit-enter prompt
meths.set_option('laststatus', 2)
-- screen:expect() calls are needed to avoid feeding input too early
screen:expect({any = 'No Name'})
screen:expect({any = '%[No Name%]'})
async_meths.command([[let a = confirm('Press O to proceed')]])
screen:expect({any = '{CONFIRM:.+: }'})
feed('o')
screen:expect({any = 'No Name'})
screen:expect({any = '%[No Name%]'})
eq(1, meths.get_var('a'))
async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No")]])
async_meths.command([[let a = 'Are you sure?'->confirm("&Yes\n&No")]])
screen:expect({any = '{CONFIRM:.+: }'})
feed('y')
screen:expect({any = 'No Name'})
screen:expect({any = '%[No Name%]'})
eq(1, meths.get_var('a'))
async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No")]])
screen:expect({any = '{CONFIRM:.+: }'})
feed('n')
screen:expect({any = 'No Name'})
screen:expect({any = '%[No Name%]'})
eq(2, meths.get_var('a'))
-- Not possible to match Vim's CTRL-C test here as CTRL-C always sets got_int in Nvim.
@@ -481,26 +481,26 @@ describe('confirm()', function()
async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No")]])
screen:expect({any = '{CONFIRM:.+: }'})
feed('<Esc>')
screen:expect({any = 'No Name'})
screen:expect({any = '%[No Name%]'})
eq(0, meths.get_var('a'))
-- Default choice is returned when pressing <CR>.
async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No")]])
screen:expect({any = '{CONFIRM:.+: }'})
feed('<CR>')
screen:expect({any = 'No Name'})
screen:expect({any = '%[No Name%]'})
eq(1, meths.get_var('a'))
async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No", 2)]])
screen:expect({any = '{CONFIRM:.+: }'})
feed('<CR>')
screen:expect({any = 'No Name'})
screen:expect({any = '%[No Name%]'})
eq(2, meths.get_var('a'))
async_meths.command([[let a = confirm('Are you sure?', "&Yes\n&No", 0)]])
screen:expect({any = '{CONFIRM:.+: }'})
feed('<CR>')
screen:expect({any = 'No Name'})
screen:expect({any = '%[No Name%]'})
eq(0, meths.get_var('a'))
-- Test with the {type} 4th argument
@@ -508,7 +508,7 @@ describe('confirm()', function()
async_meths.command(([[let a = confirm('Are you sure?', "&Yes\n&No", 1, '%s')]]):format(type))
screen:expect({any = '{CONFIRM:.+: }'})
feed('y')
screen:expect({any = 'No Name'})
screen:expect({any = '%[No Name%]'})
eq(1, meths.get_var('a'))
end