Mercurial > vim
diff src/testdir/test_paste.vim @ 24914:1186160ecf57 v8.2.2994
patch 8.2.2994: various code is not fully tested
Commit: https://github.com/vim/vim/commit/2d6d718dde7163c971d37b8f4f1ed8f2d25de130
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sun Jun 13 21:52:48 2021 +0200
patch 8.2.2994: various code is not fully tested
Problem: Various code is not fully tested.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/8378)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 13 Jun 2021 22:00:04 +0200 |
parents | 72e9b861bc92 |
children | a5a772dace5b |
line wrap: on
line diff
--- a/src/testdir/test_paste.vim +++ b/src/testdir/test_paste.vim @@ -159,8 +159,68 @@ func Test_pastetoggle() call feedkeys("i\<F4>", 'xt') call assert_false(&paste) call assert_equal('Hello', getline(1)) + " command-line completion for 'pastetoggle' value + call feedkeys(":set pastetoggle=\<Tab>\<C-B>\"\<CR>", 'xt') + call assert_equal('"set pastetoggle=<F4>', @:) set pastetoggle& bwipe! endfunc +" Test for restoring option values when 'paste' is disabled +func Test_paste_opt_restore() + set autoindent expandtab ruler showmatch + if has('rightleft') + set revins hkmap + endif + set smarttab softtabstop=3 textwidth=27 wrapmargin=12 + if has('vartabs') + set varsofttabstop=10,20 + endif + + " enabling 'paste' should reset the above options + set paste + call assert_false(&autoindent) + call assert_false(&expandtab) + if has('rightleft') + call assert_false(&revins) + call assert_false(&hkmap) + endif + call assert_false(&ruler) + call assert_false(&showmatch) + call assert_false(&smarttab) + call assert_equal(0, &softtabstop) + call assert_equal(0, &textwidth) + call assert_equal(0, &wrapmargin) + if has('vartabs') + call assert_equal('', &varsofttabstop) + endif + + " disabling 'paste' should restore the option values + set nopaste + call assert_true(&autoindent) + call assert_true(&expandtab) + if has('rightleft') + call assert_true(&revins) + call assert_true(&hkmap) + endif + call assert_true(&ruler) + call assert_true(&showmatch) + call assert_true(&smarttab) + call assert_equal(3, &softtabstop) + call assert_equal(27, &textwidth) + call assert_equal(12, &wrapmargin) + if has('vartabs') + call assert_equal('10,20', &varsofttabstop) + endif + + set autoindent& expandtab& ruler& showmatch& + if has('rightleft') + set revins& hkmap& + endif + set smarttab& softtabstop& textwidth& wrapmargin& + if has('vartabs') + set varsofttabstop& + endif +endfunc + " vim: shiftwidth=2 sts=2 expandtab