mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.2.2916: operators are not fully tested
Problem: Operators are not fully tested.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#8290)
2ac7184d34
This commit is contained in:
parent
2f79caa02d
commit
c3ac9c13df
@ -2883,3 +2883,35 @@ func Test_normal_gk()
|
||||
bw!
|
||||
set cpoptions& number& numberwidth&
|
||||
endfunc
|
||||
|
||||
" Some commands like yy, cc, dd, >>, << and !! accept a count after
|
||||
" typing the first letter of the command.
|
||||
func Test_normal_count_after_operator()
|
||||
new
|
||||
setlocal shiftwidth=4 tabstop=8 autoindent
|
||||
call setline(1, ['one', 'two', 'three', 'four', 'five'])
|
||||
let @a = ''
|
||||
normal! j"ay4y
|
||||
call assert_equal("two\nthree\nfour\nfive\n", @a)
|
||||
normal! 3G>2>
|
||||
call assert_equal(['one', 'two', ' three', ' four', 'five'],
|
||||
\ getline(1, '$'))
|
||||
exe "normal! 3G0c2cred\nblue"
|
||||
call assert_equal(['one', 'two', ' red', ' blue', 'five'],
|
||||
\ getline(1, '$'))
|
||||
exe "normal! gg<8<"
|
||||
call assert_equal(['one', 'two', 'red', 'blue', 'five'],
|
||||
\ getline(1, '$'))
|
||||
exe "normal! ggd3d"
|
||||
call assert_equal(['blue', 'five'], getline(1, '$'))
|
||||
call setline(1, range(1, 4))
|
||||
call feedkeys("gg!3!\<C-B>\"\<CR>", 'xt')
|
||||
call assert_equal('".,.+2!', @:)
|
||||
call feedkeys("gg!1!\<C-B>\"\<CR>", 'xt')
|
||||
call assert_equal('".!', @:)
|
||||
call feedkeys("gg!9!\<C-B>\"\<CR>", 'xt')
|
||||
call assert_equal('".,$!', @:)
|
||||
bw!
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@ -762,7 +762,99 @@ func Test_visual_block_mode()
|
||||
\ 'axyzqqqqefgmnoklm',
|
||||
\ 'abcdqqqqijklm'], getline(1, 5))
|
||||
|
||||
" Test from ':help v_b_I_example'
|
||||
%d _
|
||||
setlocal tabstop=8 shiftwidth=4
|
||||
let lines =<< trim END
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
abc defghijklmnopqrstuvwxyz
|
||||
abcdef ghi jklmnopqrstuvwxyz
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
END
|
||||
call setline(1, lines)
|
||||
exe "normal ggfo\<C-V>3jISTRING"
|
||||
let expected =<< trim END
|
||||
abcdefghijklmnSTRINGopqrstuvwxyz
|
||||
abc STRING defghijklmnopqrstuvwxyz
|
||||
abcdef ghi STRING jklmnopqrstuvwxyz
|
||||
abcdefghijklmnSTRINGopqrstuvwxyz
|
||||
END
|
||||
call assert_equal(expected, getline(1, '$'))
|
||||
|
||||
" Test from ':help v_b_A_example'
|
||||
%d _
|
||||
let lines =<< trim END
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
abc defghijklmnopqrstuvwxyz
|
||||
abcdef ghi jklmnopqrstuvwxyz
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
END
|
||||
call setline(1, lines)
|
||||
exe "normal ggfo\<C-V>3j$ASTRING"
|
||||
let expected =<< trim END
|
||||
abcdefghijklmnopqrstuvwxyzSTRING
|
||||
abc defghijklmnopqrstuvwxyzSTRING
|
||||
abcdef ghi jklmnopqrstuvwxyzSTRING
|
||||
abcdefghijklmnopqrstuvwxyzSTRING
|
||||
END
|
||||
call assert_equal(expected, getline(1, '$'))
|
||||
|
||||
" Test from ':help v_b_<_example'
|
||||
%d _
|
||||
let lines =<< trim END
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
abc defghijklmnopqrstuvwxyz
|
||||
abcdef ghi jklmnopqrstuvwxyz
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
END
|
||||
call setline(1, lines)
|
||||
exe "normal ggfo\<C-V>3j3l<.."
|
||||
let expected =<< trim END
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
abc defghijklmnopqrstuvwxyz
|
||||
abcdef ghi jklmnopqrstuvwxyz
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
END
|
||||
call assert_equal(expected, getline(1, '$'))
|
||||
|
||||
" Test from ':help v_b_>_example'
|
||||
%d _
|
||||
let lines =<< trim END
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
abc defghijklmnopqrstuvwxyz
|
||||
abcdef ghi jklmnopqrstuvwxyz
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
END
|
||||
call setline(1, lines)
|
||||
exe "normal ggfo\<C-V>3j>.."
|
||||
let expected =<< trim END
|
||||
abcdefghijklmn opqrstuvwxyz
|
||||
abc defghijklmnopqrstuvwxyz
|
||||
abcdef ghi jklmnopqrstuvwxyz
|
||||
abcdefghijklmn opqrstuvwxyz
|
||||
END
|
||||
call assert_equal(expected, getline(1, '$'))
|
||||
|
||||
" Test from ':help v_b_r_example'
|
||||
%d _
|
||||
let lines =<< trim END
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
abc defghijklmnopqrstuvwxyz
|
||||
abcdef ghi jklmnopqrstuvwxyz
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
END
|
||||
call setline(1, lines)
|
||||
exe "normal ggfo\<C-V>5l3jrX"
|
||||
let expected =<< trim END
|
||||
abcdefghijklmnXXXXXXuvwxyz
|
||||
abc XXXXXXhijklmnopqrstuvwxyz
|
||||
abcdef ghi XXXXXX jklmnopqrstuvwxyz
|
||||
abcdefghijklmnXXXXXXuvwxyz
|
||||
END
|
||||
call assert_equal(expected, getline(1, '$'))
|
||||
|
||||
bwipe!
|
||||
set tabstop& shiftwidth&
|
||||
endfunc
|
||||
|
||||
" Test block-insert using cursor keys for movement
|
||||
|
Loading…
Reference in New Issue
Block a user