diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2016-01-10 01:33:05 -0500 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-01-10 01:33:05 -0500 |
commit | 9bf694ff0bd6a4251758524f762847208618c8f3 (patch) | |
tree | 3e97b13c44361ef74f02fa18ffe8c9fea2f9a690 /test/functional/legacy/undolevels_spec.lua | |
parent | 50db0312f941ba489466d7d6b21088f1870429ee (diff) | |
parent | f350655ddd3846f7c1e12a21fcb30d49f90fa6b6 (diff) | |
download | rneovim-9bf694ff0bd6a4251758524f762847208618c8f3.tar.gz rneovim-9bf694ff0bd6a4251758524f762847208618c8f3.tar.bz2 rneovim-9bf694ff0bd6a4251758524f762847208618c8f3.zip |
Merge #3857 'Vim 7.4.{944,945,946,950,953,1032,1055}'.
Diffstat (limited to 'test/functional/legacy/undolevels_spec.lua')
-rw-r--r-- | test/functional/legacy/undolevels_spec.lua | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/test/functional/legacy/undolevels_spec.lua b/test/functional/legacy/undolevels_spec.lua new file mode 100644 index 0000000000..41274b3a04 --- /dev/null +++ b/test/functional/legacy/undolevels_spec.lua @@ -0,0 +1,58 @@ +local helpers = require('test.functional.helpers') +local source, clear = helpers.source, helpers.clear +local eq, nvim = helpers.eq, helpers.meths + +describe('undolevel', function() + setup(clear) + + it('is working', function() + source([[ + func FillBuffer() + for i in range(1,13) + put=i + " Set 'undolevels' to split undo. + exe "setg ul=" . &g:ul + endfor + endfunc + + func Test_global_local_undolevels() + new one + set undolevels=5 + call FillBuffer() + " will only undo the last 5 changes, end up with 13 - (5 + 1) = 7 lines + earlier 10 + call assert_equal(5, &g:undolevels) + call assert_equal(-123456, &l:undolevels) + call assert_equal('7', getline('$')) + + new two + setlocal undolevels=2 + call FillBuffer() + " will only undo the last 2 changes, end up with 13 - (2 + 1) = 10 lines + earlier 10 + call assert_equal(5, &g:undolevels) + call assert_equal(2, &l:undolevels) + call assert_equal('10', getline('$')) + + setlocal ul=10 + call assert_equal(5, &g:undolevels) + call assert_equal(10, &l:undolevels) + + " Setting local value in "two" must not change local value in "one" + wincmd p + call assert_equal(5, &g:undolevels) + call assert_equal(-123456, &l:undolevels) + + new three + setglobal ul=50 + call assert_equal(50, &g:undolevels) + call assert_equal(-123456, &l:undolevels) + + endfunc + + call Test_global_local_undolevels() + ]]) + + eq({}, nvim.get_vvar('errors')) + end) +end) |