tests: Migrate legacy test undolevels.

This commit is contained in:
watiko 2015-12-17 17:55:34 +09:00
parent d8e07deff6
commit 9c5ab23ef2
4 changed files with 60 additions and 143 deletions

View File

@ -31,7 +31,7 @@ SCRIPTS := test_eval.out \
test_command_count.out \
test_cdo.out \
NEW_TESTS = test_undolevels.res
NEW_TESTS =
SCRIPTS_GUI := test16.out

View File

@ -1,46 +0,0 @@
" Tests for 'undolevels'
set nocompatible viminfo+=nviminfo
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

View File

@ -1,4 +1,4 @@
-- Tests for 'undolevel' setting being global-local
-- Tests for 'lispwords' setting being global-local
local helpers = require('test.functional.helpers')
local source = helpers.source
@ -9,60 +9,6 @@ describe('undolevel', function()
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
@ -87,47 +33,6 @@ describe('undolevel', function()
-- 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

View File

@ -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)