" Test for translation of special key codes (, , etc.) func Test_Keycode_Translation() let keycodes = [ \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""], \ ["", ""]] for [k1, k2] in keycodes exe "nnoremap " .. k1 .. " 2wx" call assert_true(maparg(k1, 'n', 0, 1).lhs == k2) exe "nunmap " .. k1 endfor endfunc " Test for terminal keycodes that doesn't have termcap entries func Test_special_term_keycodes() new " Test for , and " send keycode call feedkeys("i\\x80\xfd\x3f\n", 'xt') " send bitmap keycode call feedkeys("i\\x80\xfc\x2\x80\xfd\x3f\n", 'xt') call feedkeys("i\\x80\xfc\x4\x80\xfd\x3f\n", 'xt') " Test for , and call feedkeys("i\\x80\xfd\x3d\n", 'xt') call feedkeys("i\\x80\xfc\x2\x80\xfd\x3d\n", 'xt') call feedkeys("i\\x80\xfc\x4\x80\xfd\x3d\n", 'xt') " Test for , and call feedkeys("i\\x80\xfd\x40\n", 'xt') call feedkeys("i\\x80\xfc\x2\x80\xfd\x40\n", 'xt') call feedkeys("i\\x80\xfc\x4\x80\xfd\x40\n", 'xt') " Test for , and call feedkeys("i\\x80\xfd\x3e\n", 'xt') call feedkeys("i\\x80\xfc\x2\x80\xfd\x3e\n", 'xt') call feedkeys("i\\x80\xfc\x4\x80\xfd\x3e\n", 'xt') " Test for , , and call feedkeys("i\\x80\xfd\x41\n", 'xt') call feedkeys("i\\x80\xfd\x42\n", 'xt') call feedkeys("i\\x80\xfd\x43\n", 'xt') call feedkeys("i\\x80\xfd\x44\n", 'xt') call assert_equal(['', '', '', \ '', '', '', \ '', '', '', \ '', '', '', \ '', '', '', '', ''], getline(1, '$')) bw! endfunc " vim: shiftwidth=2 sts=2 expandtab