diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2022-12-03 09:05:20 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-03 09:05:20 +0800 |
| commit | c0840087c83175267667a355131d4dffccfd8ff5 (patch) | |
| tree | be47cfc360ca4f467228d2c900fe5202bd6693a5 /src/nvim/testdir/test_normal.vim | |
| parent | 10c50d9f30138e7811789ba1c62f4c520cf04c8f (diff) | |
| parent | 5e97984188e95de419ba5a710a060f0614c6c9e0 (diff) | |
| download | rneovim-c0840087c83175267667a355131d4dffccfd8ff5.tar.gz rneovim-c0840087c83175267667a355131d4dffccfd8ff5.tar.bz2 rneovim-c0840087c83175267667a355131d4dffccfd8ff5.zip | |
Merge pull request #21267 from zeertzjq/vim-8.2.3900
vim-patch:8.2.{3900,partial:3908}: it is not easy to use a script-local function for an option
Diffstat (limited to 'src/nvim/testdir/test_normal.vim')
| -rw-r--r-- | src/nvim/testdir/test_normal.vim | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_normal.vim b/src/nvim/testdir/test_normal.vim index 9c5cc51f79..7e8b8c5eef 100644 --- a/src/nvim/testdir/test_normal.vim +++ b/src/nvim/testdir/test_normal.vim @@ -255,6 +255,45 @@ func Test_normal_formatexpr_returns_nonzero() close! endfunc +" Test for using a script-local function for 'formatexpr' +func Test_formatexpr_scriptlocal_func() + func! s:Format() + let g:FormatArgs = [v:lnum, v:count] + endfunc + set formatexpr=s:Format() + call assert_equal(expand('<SID>') .. 'Format()', &formatexpr) + new | only + call setline(1, range(1, 40)) + let g:FormatArgs = [] + normal! 2GVjgq + call assert_equal([2, 2], g:FormatArgs) + bw! + set formatexpr=<SID>Format() + call assert_equal(expand('<SID>') .. 'Format()', &formatexpr) + new | only + call setline(1, range(1, 40)) + let g:FormatArgs = [] + normal! 4GVjgq + call assert_equal([4, 2], g:FormatArgs) + bw! + let &formatexpr = 's:Format()' + new | only + call setline(1, range(1, 40)) + let g:FormatArgs = [] + normal! 6GVjgq + call assert_equal([6, 2], g:FormatArgs) + bw! + let &formatexpr = '<SID>Format()' + new | only + call setline(1, range(1, 40)) + let g:FormatArgs = [] + normal! 8GVjgq + call assert_equal([8, 2], g:FormatArgs) + setlocal formatexpr= + delfunc s:Format + bw! +endfunc + " basic test for formatprg func Test_normal06_formatprg() " only test on non windows platform |