Patch 8.2.0134

10 views
Skip to first unread message

Bram Moolenaar

unread,
Jan 20, 2020, 2:42:21 PM1/20/20
to vim...@googlegroups.com

Patch 8.2.0134
Problem: Some map functionality not covered by tests.
Solution: Add tests. (Yegappan Lakshmanan, closes #5504)
Files: src/testdir/test_maparg.vim, src/testdir/test_mapping.vim


*** ../vim-8.2.0133/src/testdir/test_maparg.vim 2019-09-01 18:54:54.000000000 +0200
--- src/testdir/test_maparg.vim 2020-01-20 20:39:47.494304898 +0100
***************
*** 42,47 ****
--- 42,52 ----
map abc y<S-char-114>y
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>
call assert_equal("<Nop>", maparg('abc'))
unmap abc
***************
*** 102,104 ****
--- 107,111 ----
execute "normal a\uf040\<Esc>"
call assert_equal("abcd", getline(1))
endfunction
+
+ " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0133/src/testdir/test_mapping.vim 2019-11-22 20:50:37.000000000 +0100
--- src/testdir/test_mapping.vim 2020-01-20 20:39:47.494304898 +0100
***************
*** 492,494 ****
--- 492,567 ----
call StopVimInTerminal(buf)
call delete('XtestExprMap')
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
*** ../vim-8.2.0133/src/version.c 2020-01-20 20:22:27.290330424 +0100
--- src/version.c 2020-01-20 20:40:45.034069865 +0100
***************
*** 744,745 ****
--- 744,747 ----
{ /* Add new patch number below this line */
+ /**/
+ 134,
/**/

--
OLD WOMAN: King of the WHO?
ARTHUR: The Britons.
OLD WOMAN: Who are the Britons?
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages