mirror of
https://github.com/vim/vim.git
synced 2025-09-28 04:24:06 -04:00
patch 8.1.2367: registers are not sufficiently tested
Problem: Registers are not sufficiently tested. Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #5288)
This commit is contained in:
@@ -1,3 +1,16 @@
|
||||
"
|
||||
" Tests for register operations
|
||||
"
|
||||
|
||||
" This test must be executed first to check for empty and unset registers.
|
||||
func Test_aaa_empty_reg_test()
|
||||
call assert_fails('normal @@', 'E748:')
|
||||
call assert_fails('normal @%', 'E354:')
|
||||
call assert_fails('normal @#', 'E354:')
|
||||
call assert_fails('normal @!', 'E354:')
|
||||
call assert_fails('normal @:', 'E30:')
|
||||
call assert_fails('normal @.', 'E29:')
|
||||
endfunc
|
||||
|
||||
func Test_yank_shows_register()
|
||||
enew
|
||||
@@ -167,3 +180,76 @@ func Test_recording_esc_sequence()
|
||||
set t_F2=
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Test for executing the last used register (@)
|
||||
func Test_last_used_exec_reg()
|
||||
" Test for the @: command
|
||||
let a = ''
|
||||
call feedkeys(":let a ..= 'Vim'\<CR>", 'xt')
|
||||
normal @:
|
||||
call assert_equal('VimVim', a)
|
||||
|
||||
" Test for the @= command
|
||||
let x = ''
|
||||
let a = ":let x ..= 'Vim'\<CR>"
|
||||
exe "normal @=a\<CR>"
|
||||
normal @@
|
||||
call assert_equal('VimVim', x)
|
||||
|
||||
" Test for the @. command
|
||||
let a = ''
|
||||
call feedkeys("i:let a ..= 'Edit'\<CR>", 'xt')
|
||||
normal @.
|
||||
normal @@
|
||||
call assert_equal('EditEdit', a)
|
||||
|
||||
enew!
|
||||
endfunc
|
||||
|
||||
func Test_get_register()
|
||||
enew
|
||||
edit Xfile1
|
||||
edit Xfile2
|
||||
call assert_equal('Xfile2', getreg('%'))
|
||||
call assert_equal('Xfile1', getreg('#'))
|
||||
|
||||
call feedkeys("iTwo\<Esc>", 'xt')
|
||||
call assert_equal('Two', getreg('.'))
|
||||
call assert_equal('', getreg('_'))
|
||||
call assert_beeps('normal ":yy')
|
||||
call assert_beeps('normal "%yy')
|
||||
call assert_beeps('normal ".yy')
|
||||
|
||||
call assert_equal('', getreg("\<C-F>"))
|
||||
call assert_equal('', getreg("\<C-W>"))
|
||||
call assert_equal('', getreg("\<C-L>"))
|
||||
|
||||
call assert_equal('', getregtype('!'))
|
||||
|
||||
enew!
|
||||
endfunc
|
||||
|
||||
func Test_set_register()
|
||||
call assert_fails("call setreg('#', 200)", 'E86:')
|
||||
|
||||
edit Xfile_alt_1
|
||||
let b1 = bufnr('')
|
||||
edit Xfile_alt_2
|
||||
let b2 = bufnr('')
|
||||
edit Xfile_alt_3
|
||||
let b3 = bufnr('')
|
||||
call setreg('#', 'alt_1')
|
||||
call assert_equal('Xfile_alt_1', getreg('#'))
|
||||
call setreg('#', b2)
|
||||
call assert_equal('Xfile_alt_2', getreg('#'))
|
||||
|
||||
let ab = 'regwrite'
|
||||
call setreg('=', '')
|
||||
call setreg('=', 'a', 'a')
|
||||
call setreg('=', 'b', 'a')
|
||||
call assert_equal('regwrite', getreg('='))
|
||||
|
||||
enew!
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@@ -737,6 +737,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2367,
|
||||
/**/
|
||||
2366,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user