1
0
forked from aniani/vim

patch 8.2.2608: character input not fully tested

Problem:    Character input not fully tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #7963)
This commit is contained in:
Bram Moolenaar
2021-03-15 18:36:20 +01:00
parent 02b4d9b18a
commit f4fcedc59d
6 changed files with 59 additions and 0 deletions

View File

@@ -1430,6 +1430,14 @@ func Test_input_func()
delfunc Tcomplete delfunc Tcomplete
call assert_equal('item1 item2 item3', c) call assert_equal('item1 item2 item3', c)
" Test for using special characters as default input
call feedkeys(":let c = input('name? ', \"x\<BS>y\")\<CR>\<CR>", 'xt')
call assert_equal('y', c)
" Test for using <CR> as default input
call feedkeys(":let c = input('name? ', \"\\<CR>\")\<CR>x\<CR>", 'xt')
call assert_equal(' x', c)
call assert_fails("call input('F:', '', 'invalid')", 'E180:') call assert_fails("call input('F:', '', 'invalid')", 'E180:')
call assert_fails("call input('F:', '', [])", 'E730:') call assert_fails("call input('F:', '', [])", 'E730:')
endfunc endfunc

View File

@@ -259,6 +259,17 @@ func Test_message_more()
call term_sendkeys(buf, 'q') call term_sendkeys(buf, 'q')
call WaitForAssert({-> assert_equal('100', term_getline(buf, 5))}) call WaitForAssert({-> assert_equal('100', term_getline(buf, 5))})
" Execute a : command from the more prompt
call term_sendkeys(buf, ":%p#\n")
call term_wait(buf)
call WaitForAssert({-> assert_equal('-- More --', term_getline(buf, 6))})
call term_sendkeys(buf, ":")
call term_wait(buf)
call WaitForAssert({-> assert_equal(':', term_getline(buf, 6))})
call term_sendkeys(buf, "echo 'Hello'\n")
call term_wait(buf)
call WaitForAssert({-> assert_equal('Hello ', term_getline(buf, 5))})
call StopVimInTerminal(buf) call StopVimInTerminal(buf)
endfunc endfunc

View File

@@ -149,4 +149,18 @@ func Test_xrestore()
bwipe! bwipe!
endfunc endfunc
" Test for 'pastetoggle'
func Test_pastetoggle()
new
set pastetoggle=<F4>
set nopaste
call feedkeys("iHello\<F4>", 'xt')
call assert_true(&paste)
call feedkeys("i\<F4>", 'xt')
call assert_false(&paste)
call assert_equal('Hello', getline(1))
set pastetoggle&
bwipe!
endfunc
" vim: shiftwidth=2 sts=2 expandtab " vim: shiftwidth=2 sts=2 expandtab

View File

@@ -709,4 +709,14 @@ func Test_insert_small_delete()
bwipe! bwipe!
endfunc endfunc
" Record in insert mode using CTRL-O
func Test_record_in_insert_mode()
new
let @r = ''
call setline(1, ['foo'])
call feedkeys("i\<C-O>qrbaz\<C-O>q", 'xt')
call assert_equal('baz', @r)
bwipe!
endfunc
" vim: shiftwidth=2 sts=2 expandtab " vim: shiftwidth=2 sts=2 expandtab

View File

@@ -733,4 +733,18 @@ func Test_undofile_cryptmethod_blowfish2()
set undofile& undolevels& cryptmethod& set undofile& undolevels& cryptmethod&
endfunc endfunc
" Test for redoing with incrementing numbered registers
func Test_redo_repeat_numbered_register()
new
for [i, v] in [[1, 'one'], [2, 'two'], [3, 'three'],
\ [4, 'four'], [5, 'five'], [6, 'six'],
\ [7, 'seven'], [8, 'eight'], [9, 'nine']]
exe 'let @' .. i .. '="' .. v .. '\n"'
endfor
call feedkeys('"1p.........', 'xt')
call assert_equal(['', 'one', 'two', 'three', 'four', 'five', 'six',
\ 'seven', 'eight', 'nine', 'nine'], getline(1, '$'))
bwipe!
endfunc
" vim: shiftwidth=2 sts=2 expandtab " vim: shiftwidth=2 sts=2 expandtab

View File

@@ -750,6 +750,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 */
/**/
2608,
/**/ /**/
2607, 2607,
/**/ /**/