vim-patch:8.1.1961: more functions can be used as a method

Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.  Add a test for
            mapcheck().
a144983633

mzeval() (if_mzscheme) is N/A.
This commit is contained in:
Sean Dewar
2021-09-01 12:02:56 +01:00
parent 86593beaa4
commit d23d37b212
6 changed files with 104 additions and 26 deletions

View File

@@ -1,5 +1,6 @@
" Tests for maparg().
" Also test utf8 map with a 0x80 byte.
" Also test mapcheck()
function s:SID()
return str2nr(matchstr(expand('<sfile>'), '<SNR>\zs\d\+\ze_SID$'))
@@ -22,7 +23,7 @@ function Test_maparg()
call assert_equal({'silent': 1, 'noremap': 1, 'script': 1, 'lhs': 'bar', 'mode': 'v',
\ 'nowait': 0, 'expr': 1, 'sid': sid, 'lnum': lnum + 2,
\ 'rhs': 'isbar', 'buffer': 1},
\ maparg('bar', '', 0, 1))
\ 'bar'->maparg('', 0, 1))
let lnum = expand('<sflnum>')
map <buffer> <nowait> foo bar
call assert_equal({'silent': 0, 'noremap': 0, 'script': 0, 'lhs': 'foo', 'mode': ' ',
@@ -51,6 +52,45 @@ function Test_maparg()
unmap abc
endfunction
func Test_mapcheck()
call assert_equal('', mapcheck('a'))
call assert_equal('', mapcheck('abc'))
call assert_equal('', mapcheck('ax'))
call assert_equal('', mapcheck('b'))
map a something
call assert_equal('something', mapcheck('a'))
call assert_equal('something', mapcheck('a', 'n'))
call assert_equal('', mapcheck('a', 'c'))
call assert_equal('', mapcheck('a', 'i'))
call assert_equal('something', 'abc'->mapcheck())
call assert_equal('something', 'ax'->mapcheck())
call assert_equal('', mapcheck('b'))
unmap a
map ab foobar
call assert_equal('foobar', mapcheck('a'))
call assert_equal('foobar', mapcheck('abc'))
call assert_equal('', mapcheck('ax'))
call assert_equal('', mapcheck('b'))
unmap ab
map abc barfoo
call assert_equal('barfoo', mapcheck('a'))
call assert_equal('barfoo', mapcheck('a', 'n', 0))
call assert_equal('', mapcheck('a', 'n', 1))
call assert_equal('barfoo', mapcheck('abc'))
call assert_equal('', mapcheck('ax'))
call assert_equal('', mapcheck('b'))
unmap abc
abbr ab abbrev
call assert_equal('abbrev', mapcheck('a', 'i', 1))
call assert_equal('', mapcheck('a', 'n', 1))
call assert_equal('', mapcheck('a', 'i', 0))
unabbr ab
endfunc
function Test_range_map()
new
" Outside of the range, minimum