mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.0134: some map functionality not covered by tests
Problem: Some map functionality not covered by tests. Solution: Add tests. (Yegappan Lakshmanan, closes #5504)
This commit is contained in:
parent
98a336dd49
commit
8ba6bb7c94
@ -42,6 +42,11 @@ function Test_maparg()
|
|||||||
map abc y<S-char-114>y
|
map abc y<S-char-114>y
|
||||||
call assert_equal("yRy", maparg('abc'))
|
call assert_equal("yRy", maparg('abc'))
|
||||||
|
|
||||||
|
omap { w
|
||||||
|
let d = maparg('{', 'o', 0, 1)
|
||||||
|
call assert_equal(['{', 'w', 'o'], [d.lhs, d.rhs, d.mode])
|
||||||
|
ounmap {
|
||||||
|
|
||||||
map abc <Nop>
|
map abc <Nop>
|
||||||
call assert_equal("<Nop>", maparg('abc'))
|
call assert_equal("<Nop>", maparg('abc'))
|
||||||
unmap abc
|
unmap abc
|
||||||
@ -102,3 +107,5 @@ function Test_range_map()
|
|||||||
execute "normal a\uf040\<Esc>"
|
execute "normal a\uf040\<Esc>"
|
||||||
call assert_equal("abcd", getline(1))
|
call assert_equal("abcd", getline(1))
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@ -492,3 +492,76 @@ func Test_expr_map_restore_cursor()
|
|||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
call delete('XtestExprMap')
|
call delete('XtestExprMap')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
" Test for mapping errors
|
||||||
|
func Test_map_error()
|
||||||
|
call assert_fails('unmap', 'E474:')
|
||||||
|
call assert_fails("exe 'map ' .. repeat('a', 51) .. ' :ls'", 'E474:')
|
||||||
|
call assert_fails('unmap abc', 'E31:')
|
||||||
|
call assert_fails('unabbr abc', 'E24:')
|
||||||
|
call assert_equal('', maparg(''))
|
||||||
|
call assert_fails('echo maparg("abc", [])', 'E730:')
|
||||||
|
|
||||||
|
" unique map
|
||||||
|
map ,w /[#&!]<CR>
|
||||||
|
call assert_fails("map <unique> ,w /[#&!]<CR>", 'E227:')
|
||||||
|
" unique buffer-local map
|
||||||
|
call assert_fails("map <buffer> <unique> ,w /[.,;]<CR>", 'E225:')
|
||||||
|
unmap ,w
|
||||||
|
|
||||||
|
" unique abbreviation
|
||||||
|
abbr SP special
|
||||||
|
call assert_fails("abbr <unique> SP special", 'E226:')
|
||||||
|
" unique buffer-local map
|
||||||
|
call assert_fails("abbr <buffer> <unique> SP special", 'E224:')
|
||||||
|
unabbr SP
|
||||||
|
|
||||||
|
call assert_fails('mapclear abc', 'E474:')
|
||||||
|
call assert_fails('abclear abc', 'E474:')
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Test for <special> key mapping
|
||||||
|
func Test_map_special()
|
||||||
|
new
|
||||||
|
let old_cpo = &cpo
|
||||||
|
set cpo+=<
|
||||||
|
imap <F12> Blue
|
||||||
|
call feedkeys("i\<F12>", "x")
|
||||||
|
call assert_equal("<F12>", getline(1))
|
||||||
|
call feedkeys("ddi<F12>", "x")
|
||||||
|
call assert_equal("Blue", getline(1))
|
||||||
|
iunmap <F12>
|
||||||
|
imap <special> <F12> Green
|
||||||
|
call feedkeys("ddi\<F12>", "x")
|
||||||
|
call assert_equal("Green", getline(1))
|
||||||
|
call feedkeys("ddi<F12>", "x")
|
||||||
|
call assert_equal("<F12>", getline(1))
|
||||||
|
iunmap <special> <F12>
|
||||||
|
let &cpo = old_cpo
|
||||||
|
%bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Test for hasmapto()
|
||||||
|
func Test_hasmapto()
|
||||||
|
call assert_equal(0, hasmapto('/^\k\+ ('))
|
||||||
|
call assert_equal(0, hasmapto('/^\k\+ (', 'n'))
|
||||||
|
nmap ,f /^\k\+ (<CR>
|
||||||
|
call assert_equal(1, hasmapto('/^\k\+ ('))
|
||||||
|
call assert_equal(1, hasmapto('/^\k\+ (', 'n'))
|
||||||
|
call assert_equal(0, hasmapto('/^\k\+ (', 'v'))
|
||||||
|
|
||||||
|
call assert_equal(0, hasmapto('/^\k\+ (', 'n', 1))
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Test for command-line completion of maps
|
||||||
|
func Test_mapcomplete()
|
||||||
|
call assert_equal(['<buffer>', '<expr>', '<nowait>', '<script>',
|
||||||
|
\ '<silent>', '<special>', '<unique>'],
|
||||||
|
\ getcompletion('', 'mapping'))
|
||||||
|
call assert_equal([], getcompletion(',d', 'mapping'))
|
||||||
|
|
||||||
|
call feedkeys(":abbr! \<C-A>\<C-B>\"\<CR>", 'tx')
|
||||||
|
call assert_match("abbr! \x01", @:)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@ -742,6 +742,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
134,
|
||||||
/**/
|
/**/
|
||||||
133,
|
133,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user