mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #20962 from zeertzjq/vim-8.2.1736
vim-patch:8.2.{1736,3719,3744}
This commit is contained in:
commit
c30226c28b
@ -2865,6 +2865,7 @@ func Test_autocmd_invalid_args()
|
||||
call assert_fails('doautocmd * BufEnter', 'E217:')
|
||||
call assert_fails('augroup! x1a2b3', 'E367:')
|
||||
call assert_fails('autocmd BufNew <buffer=999> pwd', 'E680:')
|
||||
call assert_fails('autocmd BufNew \) set ff=unix', 'E55:')
|
||||
endfunc
|
||||
|
||||
" Test for deep nesting of autocmds
|
||||
|
@ -147,6 +147,7 @@ func Test_bdelete_cmd()
|
||||
%bwipe!
|
||||
call assert_fails('bdelete 5', 'E516:')
|
||||
call assert_fails('1,1bdelete 1 2', 'E488:')
|
||||
call assert_fails('bdelete \)', 'E55:')
|
||||
|
||||
" Deleting a unlisted and unloaded buffer
|
||||
edit Xfile1
|
||||
@ -401,12 +402,12 @@ func Test_buffer_scheme()
|
||||
set noshellslash
|
||||
%bwipe!
|
||||
let bufnames = [
|
||||
\ #{id: 'b0', name: 'test://xyz/foo/b0' , match: 1},
|
||||
\ #{id: 'b1', name: 'test+abc://xyz/foo/b1', match: 0},
|
||||
\ #{id: 'b2', name: 'test_abc://xyz/foo/b2', match: 0},
|
||||
\ #{id: 'b3', name: 'test-abc://xyz/foo/b3', match: 1},
|
||||
\ #{id: 'b4', name: '-test://xyz/foo/b4' , match: 0},
|
||||
\ #{id: 'b5', name: 'test-://xyz/foo/b5' , match: 0},
|
||||
\ #{id: 'ssb0', name: 'test://xyz/foo/ssb0' , match: 1},
|
||||
\ #{id: 'ssb1', name: 'test+abc://xyz/foo/ssb1', match: 0},
|
||||
\ #{id: 'ssb2', name: 'test_abc://xyz/foo/ssb2', match: 0},
|
||||
\ #{id: 'ssb3', name: 'test-abc://xyz/foo/ssb3', match: 1},
|
||||
\ #{id: 'ssb4', name: '-test://xyz/foo/ssb4' , match: 0},
|
||||
\ #{id: 'ssb5', name: 'test-://xyz/foo/ssb5' , match: 0},
|
||||
\]
|
||||
for buf in bufnames
|
||||
new `=buf.name`
|
||||
|
@ -102,3 +102,20 @@ func Test_checkpath3()
|
||||
set include&
|
||||
set includeexpr&
|
||||
endfunc
|
||||
|
||||
" Test for invalid regex in 'include' and 'define' options
|
||||
func Test_checkpath_errors()
|
||||
let save_include = &include
|
||||
set include=\\%(
|
||||
call assert_fails('checkpath', 'E53:')
|
||||
let &include = save_include
|
||||
|
||||
let save_define = &define
|
||||
set define=\\%(
|
||||
call assert_fails('dsearch abc', 'E53:')
|
||||
let &define = save_define
|
||||
|
||||
call assert_fails('psearch \%(', 'E53:')
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@ -316,6 +316,8 @@ func Test_map_completion()
|
||||
unmap <Left>
|
||||
" set cpo-=k
|
||||
|
||||
call assert_fails('call feedkeys(":map \\\\%(\<Tab>\<Home>\"\<CR>", "xt")', 'E53:')
|
||||
|
||||
unmap <Middle>x
|
||||
set cpo&vim
|
||||
endfunc
|
||||
|
@ -941,6 +941,7 @@ func Test_match_func()
|
||||
call assert_equal(4, match('testing', 'ing', -1))
|
||||
call assert_fails("let x=match('testing', 'ing', 0, [])", 'E745:')
|
||||
call assert_equal(-1, match(v:_null_list, 2))
|
||||
call assert_equal(-1, match('abc', '\\%('))
|
||||
endfunc
|
||||
|
||||
func Test_matchend()
|
||||
|
@ -754,6 +754,7 @@ func Test_str_split()
|
||||
call assert_equal(['', 'a', '', 'b', '', 'c', ''], split('abc', '\zs', 1))
|
||||
call assert_fails("call split('abc', [])", 'E730:')
|
||||
call assert_fails("call split('abc', 'b', [])", 'E745:')
|
||||
call assert_equal(['abc'], split('abc', '\\%('))
|
||||
endfunc
|
||||
|
||||
" compare recursively linked list and dict
|
||||
|
@ -157,6 +157,20 @@ func Test_path_keep_commas()
|
||||
set path&
|
||||
endfunc
|
||||
|
||||
func Test_path_too_long()
|
||||
exe 'set path=' .. repeat('x', 10000)
|
||||
call assert_fails('find x', 'E854:')
|
||||
set path&
|
||||
endfunc
|
||||
|
||||
func Test_signcolumn()
|
||||
CheckFeature signs
|
||||
call assert_equal("auto", &signcolumn)
|
||||
set signcolumn=yes
|
||||
set signcolumn=no
|
||||
call assert_fails('set signcolumn=nope')
|
||||
endfunc
|
||||
|
||||
func Test_filetype_valid()
|
||||
set ft=valid_name
|
||||
call assert_equal("valid_name", &filetype)
|
||||
@ -399,6 +413,7 @@ func Test_set_errors()
|
||||
call assert_fails('set pyxversion=6', 'E474:')
|
||||
endif
|
||||
call assert_fails("let &tabstop='ab'", 'E521:')
|
||||
call assert_fails('set spellcapcheck=%\\(', 'E54:')
|
||||
call assert_fails('set sessionoptions=curdir,sesdir', 'E474:')
|
||||
call assert_fails('set foldmarker={{{,', 'E474:')
|
||||
call assert_fails('set sessionoptions=sesdir,curdir', 'E474:')
|
||||
|
@ -260,6 +260,14 @@ endfunc
|
||||
|
||||
func Test_searchcount_fails()
|
||||
call assert_fails('echo searchcount("boo!")', 'E715:')
|
||||
call assert_fails('echo searchcount({"timeout" : []})', 'E745:')
|
||||
call assert_fails('echo searchcount({"maxcount" : []})', 'E745:')
|
||||
call assert_fails('echo searchcount({"pattern" : []})', 'E730:')
|
||||
call assert_fails('echo searchcount({"pos" : 1})', 'E475:')
|
||||
call assert_fails('echo searchcount({"pos" : [1]})', 'E475:')
|
||||
call assert_fails('echo searchcount({"pos" : [[], 2, 3]})', 'E745:')
|
||||
call assert_fails('echo searchcount({"pos" : [1, [], 3]})', 'E745:')
|
||||
call assert_fails('echo searchcount({"pos" : [1, 2, []]})', 'E745:')
|
||||
endfunc
|
||||
|
||||
func Test_searchcount_in_statusline()
|
||||
|
@ -1361,6 +1361,7 @@ func Test_sort_cmd()
|
||||
call assert_fails('sort no', 'E474:')
|
||||
call assert_fails('sort c', 'E475:')
|
||||
call assert_fails('sort #pat%', 'E654:')
|
||||
call assert_fails('sort /\%(/', 'E53:')
|
||||
|
||||
enew!
|
||||
endfunc
|
||||
|
@ -329,6 +329,11 @@ func Test_spellsuggest()
|
||||
call assert_equal(['Third'], spellsuggest('THird', 1))
|
||||
call assert_equal(['All'], spellsuggest('ALl', 1))
|
||||
|
||||
" Special suggestion for repeated 'the the'.
|
||||
call assert_inrange(0, 2, index(spellsuggest('the the', 3), 'the'))
|
||||
call assert_inrange(0, 2, index(spellsuggest('the the', 3), 'the'))
|
||||
call assert_inrange(0, 2, index(spellsuggest('The the', 3), 'The'))
|
||||
|
||||
call assert_fails("call spellsuggest('maxch', [])", 'E745:')
|
||||
call assert_fails("call spellsuggest('maxch', 2, [])", 'E745:')
|
||||
|
||||
|
@ -457,6 +457,7 @@ func Test_substitute_errors()
|
||||
call assert_fails("let s=substitute('abcda', [], 'A', 'g')", 'E730:')
|
||||
call assert_fails("let s=substitute('abcda', 'a', [], 'g')", 'E730:')
|
||||
call assert_fails("let s=substitute('abcda', 'a', 'A', [])", 'E730:')
|
||||
call assert_fails("let s=substitute('abc', '\\%(', 'A', 'g')", 'E53:')
|
||||
|
||||
bwipe!
|
||||
endfunc
|
||||
|
@ -407,6 +407,7 @@ func Test_syntax_invalid_arg()
|
||||
call AssertFails('syntax cluster contains=Abc', 'E400:')
|
||||
call AssertFails("syntax match Character /'.'", 'E401:')
|
||||
call AssertFails("syntax match Character /'.'/a", 'E402:')
|
||||
call assert_fails('syntax sync linecont /\%(/', 'E53:')
|
||||
call assert_fails('syntax sync linecont /pat', 'E404:')
|
||||
call assert_fails('syntax sync linecont', 'E404:')
|
||||
call assert_fails('syntax sync linecont /pat1/ linecont /pat2/', 'E403:')
|
||||
@ -416,6 +417,7 @@ func Test_syntax_invalid_arg()
|
||||
call AssertFails('syntax match ccFoo "Foo" nextgroup=ALLBUT,F', 'E407:')
|
||||
call AssertFails('syntax region Block start="{" contains=F,ALLBUT', 'E408:')
|
||||
call AssertFails("syntax match Characters contains=a.*x /'.'/", 'E409:')
|
||||
call assert_fails('syntax match Search /abc/ contains=ALLBUT,/\%(/', 'E53:')
|
||||
endfunc
|
||||
|
||||
func Test_syn_sync()
|
||||
|
@ -184,6 +184,10 @@ function Test_keyword_jump()
|
||||
call search("start")
|
||||
exe "normal! 5\<C-W>\<C-I>"
|
||||
call assert_equal(" start OK if found this line", getline('.'))
|
||||
|
||||
" invalid tag search pattern
|
||||
call assert_fails('tag /\%(/', 'E426:')
|
||||
|
||||
enew! | only
|
||||
call delete('Xtestfile')
|
||||
call delete('Xinclude')
|
||||
|
@ -413,6 +413,9 @@ func Test_func_def_error()
|
||||
call writefile(['func foo#Bar()', 'return 1', 'endfunc'], 'Xscript')
|
||||
call assert_fails('source Xscript', 'E746:')
|
||||
call delete('Xscript')
|
||||
|
||||
" Try to list functions using an invalid search pattern
|
||||
call assert_fails('function /\%(/', 'E53:')
|
||||
endfunc
|
||||
|
||||
" Test for deleting a function
|
||||
|
Loading…
Reference in New Issue
Block a user