diff options
-rw-r--r-- | src/nvim/testdir/test100.in | 53 | ||||
-rw-r--r-- | src/nvim/testdir/test100.ok | 51 | ||||
-rw-r--r-- | test/functional/legacy/100_undo_level.lua | 142 |
3 files changed, 142 insertions, 104 deletions
diff --git a/src/nvim/testdir/test100.in b/src/nvim/testdir/test100.in deleted file mode 100644 index bc1a55e4d3..0000000000 --- a/src/nvim/testdir/test100.in +++ /dev/null @@ -1,53 +0,0 @@ -Tests for 'undolevel' setting being global-local - -STARTTEST -:so small.vim -:set ul=5 -:fu! FillBuffer() - :for i in range(1,13) - :put=i - :exe "setg ul=" . &g:ul - :endfor -:endfu -:fu! UndoLevel() - :redir @a | setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |redir end - :$put a -:endfu -:new one -:0put ='ONE: expecting global undolevels: 5, local undolevels: -123456 (default)' -:call FillBuffer() -:earlier 10 -:call UndoLevel() -:set ff=unix -:%w! test.out -:new two -:0put ='TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)' -:setlocal ul=2 -:call FillBuffer() -:earlier 10 -:call UndoLevel() -:setlocal ul=10 -:call UndoLevel() -:set ff=unix -:%w >> test.out -:wincmd p -:redir >>test.out | echo "global value shouldn't be changed and still be 5!" | echo 'ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'|:setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |echo "" |redir end -:new three -:setglobal ul=50 -:1put ='global value should be changed to 50' -:2put ='THREE: expecting global undolevels: 50, local undolevels: -123456 (default)' -:call UndoLevel() -:set ff=unix -:%w >> test.out -:"sleep 10 -:" -:" Testing 'lispwords' -:" -:setglobal lispwords=foo,bar,baz -:setlocal lispwords-=foo | setlocal lispwords+=quux -:redir >> test.out | echon "\nTesting 'lispwords' local value" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end -:setlocal lispwords< -:redir >> test.out | echon "\nTesting 'lispwords' value reset" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end -:qa! -ENDTEST - diff --git a/src/nvim/testdir/test100.ok b/src/nvim/testdir/test100.ok deleted file mode 100644 index 477106b8f2..0000000000 --- a/src/nvim/testdir/test100.ok +++ /dev/null @@ -1,51 +0,0 @@ -ONE: expecting global undolevels: 5, local undolevels: -123456 (default) -1 -2 -3 -4 -5 -6 -7 - - - undolevels=5 global - undolevels=-123456 local -TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards) -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 - - - undolevels=5 global - undolevels=2 local - - undolevels=5 global - undolevels=10 local - -global value shouldn't be changed and still be 5! -ONE: expecting global undolevels: 5, local undolevels: -123456 (default) - undolevels=5 global - undolevels=-123456 local - -global value should be changed to 50 -THREE: expecting global undolevels: 50, local undolevels: -123456 (default) - - undolevels=50 global - undolevels=-123456 local - -Testing 'lispwords' local value - lispwords=foo,bar,baz - lispwords=bar,baz,quux -bar,baz,quux - -Testing 'lispwords' value reset - lispwords=foo,bar,baz - lispwords=foo,bar,baz -foo,bar,baz diff --git a/test/functional/legacy/100_undo_level.lua b/test/functional/legacy/100_undo_level.lua new file mode 100644 index 0000000000..9143d9e540 --- /dev/null +++ b/test/functional/legacy/100_undo_level.lua @@ -0,0 +1,142 @@ +-- Tests for 'undolevel' setting being global-local + +local helpers = require('test.functional.helpers') +local feed, insert, source = helpers.feed, helpers.insert, helpers.source +local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect + +describe('undolevel', function() + setup(clear) + + it('is working', function() + source([[ + set ul=5 + fu! FillBuffer() + for i in range(1,13) + put=i + exe "setg ul=" . &g:ul + endfor + endfu + fu! UndoLevel() + redir @z + setglobal undolevels? + echon ' global' + setlocal undolevels? + echon ' local' + redir end + $put z + endfu + + 0put ='ONE: expecting global undolevels: 5, local undolevels: -123456 (default)' + call FillBuffer() + setlocal undolevels< + earlier 10 + call UndoLevel() + set ff=unix + %yank A + %delete + + 0put ='TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)' + setlocal ul=2 + call FillBuffer() + earlier 10 + call UndoLevel() + setlocal ul=10 + call UndoLevel() + set ff=unix + %yank A + %delete + setlocal undolevels< + redir @A + echo "global value shouldn't be changed and still be 5!" + echo 'ONE: expecting global undolevels: 5, local undolevels: -123456 (default)' + setglobal undolevels? + echon ' global' + setlocal undolevels? + echon ' local' + echo "" + redir end + + setglobal ul=50 + 1put ='global value should be changed to 50' + 2put ='THREE: expecting global undolevels: 50, local undolevels: -123456 (default)' + call UndoLevel() + set ff=unix + %yank A + %delete + setglobal lispwords=foo,bar,baz + setlocal lispwords-=foo + setlocal lispwords+=quux + redir @A + echo "Testing 'lispwords' local value" + setglobal lispwords? + setlocal lispwords? + echo &lispwords + echo '' + redir end + setlocal lispwords< + redir @A + echo "Testing 'lispwords' value reset" + setglobal lispwords? + setlocal lispwords? + echo &lispwords + redir end + + 0put a + $d + ]]) + + -- Assert buffer contents. + expect([[ + ONE: expecting global undolevels: 5, local undolevels: -123456 (default) + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + undolevels=5 global + undolevels=-123456 local + TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards) + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + + undolevels=5 global + undolevels=2 local + + undolevels=5 global + undolevels=10 local + + global value shouldn't be changed and still be 5! + ONE: expecting global undolevels: 5, local undolevels: -123456 (default) + undolevels=5 global + undolevels=-123456 local + + global value should be changed to 50 + THREE: expecting global undolevels: 50, local undolevels: -123456 (default) + + undolevels=50 global + undolevels=-123456 local + + Testing 'lispwords' local value + lispwords=foo,bar,baz + lispwords=bar,baz,quux + bar,baz,quux + + Testing 'lispwords' value reset + lispwords=foo,bar,baz + lispwords=foo,bar,baz + foo,bar,baz]]) + end) +end) |