To: vim_dev@googlegroups.com Subject: Patch 8.2.0144 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.0144 Problem: Some mapping code is not fully tested. Solution: Add more test cases. (Yegappan Lakshmanan, closes #5519) Files: src/testdir/test_langmap.vim, src/testdir/test_maparg.vim, src/testdir/test_mapping.vim *** ../vim-8.2.0143/src/testdir/test_langmap.vim 2019-06-15 17:32:11.000000000 +0200 --- src/testdir/test_langmap.vim 2020-01-23 16:18:08.527043130 +0100 *************** *** 23,27 **** --- 23,54 ---- silent! call feedkeys("gg0}%}\}^\00", 'tx') call assert_equal('a}^de', getline(1)) + " Error cases + call assert_fails('set langmap=aA,b', 'E357:') + call assert_fails('set langmap=z;y;y;z', 'E358:') + + " Map character > 256 + enew! + set langmap=āx,ăl,āx + call setline(1, ['abcde']) + call feedkeys('gg2lā', 'tx') + call assert_equal('abde', getline(1)) + + " special characters in langmap + enew! + call setline(1, ['Hello World']) + set langmap=\\;\\,,\\,\\; + call feedkeys('ggfo,', 'tx') + call assert_equal(8, col('.')) + call feedkeys(';', 'tx') + call assert_equal(5, col('.')) + set langmap& + set langmap=\\;\\,;\\,\\; + call feedkeys('ggfo,', 'tx') + call assert_equal(8, col('.')) + call feedkeys(';', 'tx') + call assert_equal(5, col('.')) + + set langmap& quit! endfunc *** ../vim-8.2.0143/src/testdir/test_maparg.vim 2020-01-20 20:41:38.857849537 +0100 --- src/testdir/test_maparg.vim 2020-01-23 16:18:08.527043130 +0100 *************** *** 47,55 **** --- 47,80 ---- call assert_equal(['{', 'w', 'o'], [d.lhs, d.rhs, d.mode]) ounmap { + lmap { w + let d = maparg('{', 'l', 0, 1) + call assert_equal(['{', 'w', 'l'], [d.lhs, d.rhs, d.mode]) + lunmap { + + nmap { w + let d = maparg('{', 'n', 0, 1) + call assert_equal(['{', 'w', 'n'], [d.lhs, d.rhs, d.mode]) + nunmap { + + xmap { w + let d = maparg('{', 'x', 0, 1) + call assert_equal(['{', 'w', 'x'], [d.lhs, d.rhs, d.mode]) + xunmap { + + smap { w + let d = maparg('{', 's', 0, 1) + call assert_equal(['{', 'w', 's'], [d.lhs, d.rhs, d.mode]) + sunmap { + map abc call assert_equal("", maparg('abc')) unmap abc + + call feedkeys(":abbr esc \\\\\\\", "xt") + let d = maparg('esc', 'i', 1, 1) + call assert_equal(['esc', "\\\", '!'], [d.lhs, d.rhs, d.mode]) + abclear endfunction func Test_mapcheck() *** ../vim-8.2.0143/src/testdir/test_mapping.vim 2020-01-20 20:41:38.857849537 +0100 --- src/testdir/test_mapping.vim 2020-01-23 16:18:08.527043130 +0100 *************** *** 461,466 **** --- 461,482 ---- call assert_equal(['i * ShiftSlash'], execute('imap')->trim()->split("\n")) iunmap call assert_equal(['No mapping found'], execute('imap')->trim()->split("\n")) + + " List global, buffer local and script local mappings + nmap ,f /^\k\+ ( + nmap ,f /^\k\+ ( + nmap