mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.2.0712: various code not fully tested
Problem: Various code not fully tested.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#6049)
0ff5dedf0f
Nvim does not support encoding=latin1 or setting keycodes/termcaps.
This commit is contained in:
parent
71e70d0c99
commit
5d1cb73e7f
@ -462,6 +462,12 @@ func Test_tolower()
|
||||
" invalid memory.
|
||||
call tolower("\xC0\x80\xC0")
|
||||
call tolower("123\xC0\x80\xC0")
|
||||
|
||||
" Test in latin1 encoding
|
||||
let save_enc = &encoding
|
||||
" set encoding=latin1
|
||||
call assert_equal("abc", tolower("ABC"))
|
||||
let &encoding = save_enc
|
||||
endfunc
|
||||
|
||||
func Test_toupper()
|
||||
@ -533,6 +539,12 @@ func Test_toupper()
|
||||
" invalid memory.
|
||||
call toupper("\xC0\x80\xC0")
|
||||
call toupper("123\xC0\x80\xC0")
|
||||
|
||||
" Test in latin1 encoding
|
||||
let save_enc = &encoding
|
||||
" set encoding=latin1
|
||||
call assert_equal("ABC", toupper("abc"))
|
||||
let &encoding = save_enc
|
||||
endfunc
|
||||
|
||||
func Test_tr()
|
||||
@ -1096,6 +1108,10 @@ func Test_filewritable()
|
||||
|
||||
call assert_equal(0, filewritable('doesnotexist'))
|
||||
|
||||
call mkdir('Xdir')
|
||||
call assert_equal(2, filewritable('Xdir'))
|
||||
call delete('Xdir', 'd')
|
||||
|
||||
call delete('Xfilewritable')
|
||||
bw!
|
||||
endfunc
|
||||
|
@ -282,6 +282,15 @@ func Test_set_completion()
|
||||
call feedkeys(":set fileencodings:\<C-A>\<C-B>\"\<CR>", 'tx')
|
||||
call assert_equal('"set fileencodings:ucs-bom,utf-8,default,latin1', @:)
|
||||
|
||||
" Expand key codes.
|
||||
" call feedkeys(":set <H\<C-A>\<C-B>\"\<CR>", 'tx')
|
||||
" call assert_equal('"set <Help> <Home>', @:)
|
||||
|
||||
" Expand terminal options.
|
||||
" call feedkeys(":set t_A\<C-A>\<C-B>\"\<CR>", 'tx')
|
||||
" call assert_equal('"set t_AB t_AF t_AU t_AL', @:)
|
||||
" call assert_fails('call feedkeys(":set <t_afoo>=\<C-A>\<CR>", "xt")', 'E474:')
|
||||
|
||||
" Expand directories.
|
||||
call feedkeys(":set cdpath=./\<C-A>\<C-B>\"\<CR>", 'tx')
|
||||
call assert_match('./samples/ ', @:)
|
||||
|
@ -141,3 +141,41 @@ func Test_system_with_shell_quote()
|
||||
call delete('Xdir with spaces', 'rf')
|
||||
endtry
|
||||
endfunc
|
||||
|
||||
" Test for 'shellxquote'
|
||||
func Test_Shellxquote()
|
||||
CheckUnix
|
||||
|
||||
let save_shell = &shell
|
||||
let save_sxq = &shellxquote
|
||||
let save_sxe = &shellxescape
|
||||
|
||||
call writefile(['#!/bin/sh', 'echo "Cmd: [$*]" > Xlog'], 'Xtestshell')
|
||||
call setfperm('Xtestshell', "r-x------")
|
||||
set shell=./Xtestshell
|
||||
|
||||
set shellxquote=\\"
|
||||
call feedkeys(":!pwd\<CR>\<CR>", 'xt')
|
||||
call assert_equal(['Cmd: [-c "pwd"]'], readfile('Xlog'))
|
||||
|
||||
set shellxquote=(
|
||||
call feedkeys(":!pwd\<CR>\<CR>", 'xt')
|
||||
call assert_equal(['Cmd: [-c (pwd)]'], readfile('Xlog'))
|
||||
|
||||
set shellxquote=\\"(
|
||||
call feedkeys(":!pwd\<CR>\<CR>", 'xt')
|
||||
call assert_equal(['Cmd: [-c "(pwd)"]'], readfile('Xlog'))
|
||||
|
||||
set shellxescape=\"&<<()@^
|
||||
set shellxquote=(
|
||||
call feedkeys(":!pwd\"&<<{}@^\<CR>\<CR>", 'xt')
|
||||
call assert_equal(['Cmd: [-c (pwd^"^&^<^<{}^@^^)]'], readfile('Xlog'))
|
||||
|
||||
let &shell = save_shell
|
||||
let &shellxquote = save_sxq
|
||||
let &shellxescape = save_sxe
|
||||
call delete('Xtestshell')
|
||||
call delete('Xlog')
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@ -1,4 +1,30 @@
|
||||
|
||||
" Test for translation of special key codes (<xF1>, <xF2>, etc.)
|
||||
func Test_Keycode_Translation()
|
||||
let keycodes = [
|
||||
\ ["<xUp>", "<Up>"],
|
||||
\ ["<xDown>", "<Down>"],
|
||||
\ ["<xLeft>", "<Left>"],
|
||||
\ ["<xRight>", "<Right>"],
|
||||
\ ["<xHome>", "<Home>"],
|
||||
\ ["<xEnd>", "<End>"],
|
||||
\ ["<zHome>", "<Home>"],
|
||||
\ ["<zEnd>", "<End>"],
|
||||
\ ["<xF1>", "<F1>"],
|
||||
\ ["<xF2>", "<F2>"],
|
||||
\ ["<xF3>", "<F3>"],
|
||||
\ ["<xF4>", "<F4>"],
|
||||
\ ["<S-xF1>", "<S-F1>"],
|
||||
\ ["<S-xF2>", "<S-F2>"],
|
||||
\ ["<S-xF3>", "<S-F3>"],
|
||||
\ ["<S-xF4>", "<S-F4>"]]
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user