Mercurial > vim
view src/testdir/test_backspace_opt.vim @ 19969:b07672d13ff9 v8.2.0540
patch 8.2.0540: regexp and other code not tested
Commit: https://github.com/vim/vim/commit/004a6781b3cf15ca5dd632c38cc09bb3b253d1f8
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Apr 11 17:09:31 2020 +0200
patch 8.2.0540: regexp and other code not tested
Problem: Regexp and other code not tested.
Solution: Add more tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/5904)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 11 Apr 2020 17:15:06 +0200 |
parents | f776ce5d4ed8 |
children | 9a67d41708d2 |
line wrap: on
line source
" Tests for 'backspace' settings func Exec(expr) let str='' try exec a:expr catch /.*/ let str=v:exception endtry return str endfunc func Test_backspace_option() set backspace= call assert_equal('', &backspace) set backspace=indent call assert_equal('indent', &backspace) set backspace=eol call assert_equal('eol', &backspace) set backspace=start call assert_equal('start', &backspace) " Add the value set backspace= set backspace=indent call assert_equal('indent', &backspace) set backspace+=eol call assert_equal('indent,eol', &backspace) set backspace+=start call assert_equal('indent,eol,start', &backspace) " Delete the value set backspace-=indent call assert_equal('eol,start', &backspace) set backspace-=start call assert_equal('eol', &backspace) set backspace-=eol call assert_equal('', &backspace) " Check the error call assert_equal(0, match(Exec('set backspace=ABC'), '.*E474')) call assert_equal(0, match(Exec('set backspace+=def'), '.*E474')) " NOTE: Vim doesn't check following error... "call assert_equal(0, match(Exec('set backspace-=ghi'), '.*E474')) " Check backwards compatibility with version 5.4 and earlier set backspace=0 call assert_equal('0', &backspace) set backspace=1 call assert_equal('1', &backspace) set backspace=2 call assert_equal('2', &backspace) call assert_false(match(Exec('set backspace=3'), '.*E474')) call assert_false(match(Exec('set backspace=10'), '.*E474')) " Cleared when 'compatible' is set set compatible call assert_equal('', &backspace) set nocompatible viminfo+=nviminfo endfunc " Test with backspace set to the non-compatible setting func Test_backspace_ctrl_u() new call append(0, [ \ "1 this shouldn't be deleted", \ "2 this shouldn't be deleted", \ "3 this shouldn't be deleted", \ "4 this should be deleted", \ "5 this shouldn't be deleted", \ "6 this shouldn't be deleted", \ "7 this shouldn't be deleted", \ "8 this shouldn't be deleted (not touched yet)"]) call cursor(2, 1) set compatible set backspace=2 exe "normal Avim1\<C-U>\<Esc>\<CR>" exe "normal Avim2\<C-G>u\<C-U>\<Esc>\<CR>" set cpo-=< inoremap <c-u> <left><c-u> exe "normal Avim3\<C-U>\<Esc>\<CR>" iunmap <c-u> exe "normal Avim4\<C-U>\<C-U>\<Esc>\<CR>" " Test with backspace set to the compatible setting set backspace= visualbell exe "normal A vim5\<Esc>A\<C-U>\<C-U>\<Esc>\<CR>" exe "normal A vim6\<Esc>Azwei\<C-G>u\<C-U>\<Esc>\<CR>" inoremap <c-u> <left><c-u> exe "normal A vim7\<C-U>\<C-U>\<Esc>\<CR>" call assert_equal([ \ "1 this shouldn't be deleted", \ "2 this shouldn't be deleted", \ "3 this shouldn't be deleted", \ "4 this should be deleted3", \ "", \ "6 this shouldn't be deleted vim5", \ "7 this shouldn't be deleted vim6", \ "8 this shouldn't be deleted (not touched yet) vim7", \ ""], getline(1, '$')) set compatible&vim set visualbell&vim set backspace&vim close! endfunc " vim: shiftwidth=2 sts=2 expandtab