Problem: Still interference between test functions.
Solution: Clear autocommands. Wipe all buffers. Fix tests that depend on a
specific start context.
" Clear any overrides.
call test_override('ALL', 0)
+ " Some tests wipe out buffers. To be consistent, always wipe out all
+ " buffers.
+ %bwipe!
+
if exists("*SetUp")
try
call SetUp()
endtry
endif
+ " Clear any autocommands
+ au!
+
" Close any extra tab pages and windows and make the current one not modified.
while tabpagenr('$') > 1
- bwipe!
+ quit!
endwhile
while 1
break
endif
endwhile
-
- " Wipe out all buffers except the current one, then wipe the current one.
- for nr in range(1, bufnr('$'))
- if nr != bufnr('%') && bufexists(nr)
- exe nr . 'bwipe!'
- endif
- endfor
- set nomodified
- bwipe
endfunc
func AfterTheTest()
call assert_equal(['a', 'b', 'a'], argv())
call assert_equal('a', expand('%:t'))
" When file name case is ignored, an existing buffer with only case
- " difference is re-used. Make sure they don't exist so the case is
- " preserved.
- bwipe! c
- bwipe! d
+ " difference is re-used.
argedit C D
call assert_equal('C', expand('%:t'))
call assert_equal(['a', 'b', 'a', 'C', 'D'], argv())
endif
func Test_set_filename()
+ let cwd = getcwd()
call test_autochdir()
set acd
new
call assert_equal("samples", substitute(getcwd(), '.*/\(\k*\)', '\1', ''))
bwipe!
set noacd
+ exe 'cd ' . cwd
call delete('samples/Xtest')
endfunc
au BufReadCmd * e +h
help
- helpclose
au! BufReadCmd
endfunc
func Test_BufReadCmdHelpJump()
" This used to cause access to free memory
au BufReadCmd * e +h{
- help
+ " } to fix highlighting
+ call assert_fails('help', 'E434:')
- helpclose
au! BufReadCmd
endfunc
" Tests for the getbufinfo(), getwininfo() and gettabinfo() functions
function Test_getbufwintabinfo()
- 1,$bwipeout
edit Xtestfile1
edit Xtestfile2
let buflist = getbufinfo()
" Test for user command counts.
func Test_command_count_0()
+ let bufnr = bufnr('%')
set hidden
set noswapfile
command! -range=% -addr=buffers RangeBuffersAll :let lines = [<line1>, <line2>]
.,$RangeLoadedBuffers
- call assert_equal([1, 1], lines)
+ call assert_equal([bufnr, bufnr], lines)
%RangeLoadedBuffers
- call assert_equal([1, 1], lines)
+ call assert_equal([bufnr, bufnr], lines)
RangeLoadedBuffersAll
- call assert_equal([1, 1], lines)
+ call assert_equal([bufnr, bufnr], lines)
.,$RangeBuffers
- call assert_equal([1, lastbuf], lines)
+ call assert_equal([bufnr, lastbuf], lines)
%RangeBuffers
- call assert_equal([1, lastbuf], lines)
+ call assert_equal([bufnr, lastbuf], lines)
RangeBuffersAll
- call assert_equal([1, lastbuf], lines)
+ call assert_equal([bufnr, lastbuf], lines)
delcommand RangeLoadedBuffers
delcommand RangeLoadedBuffersAll
endfunc
func Test_command_count_3()
+ let bufnr = bufnr('%')
se nohidden
e aaa
let buf_aaa = bufnr('%')
let buf_bbb = bufnr('%')
e ccc
let buf_ccc = bufnr('%')
- buf 1
+ exe bufnr . 'buf'
call assert_equal([1, 1, 1], [buflisted(buf_aaa), buflisted(buf_bbb), buflisted(buf_ccc)])
exe buf_bbb . "," . buf_ccc . "bdelete"
call assert_equal([1, 0, 0], [buflisted(buf_aaa), buflisted(buf_bbb), buflisted(buf_ccc)])
func Test_command_count_4()
%argd
- let bufnr = bufnr('$') + 1
+ let bufnr = bufnr('$')
arga aa bb cc dd ee ff
3argu
let args = []
only!
exe bufnr . 'buf'
+ bnext
+ let bufnr = bufnr('%')
let buffers = []
.,$-bufdo call add(buffers, bufnr('%'))
call assert_equal([bufnr, bufnr + 1, bufnr + 2, bufnr + 3, bufnr + 4], buffers)
" We don't check much of the contents.
func Test_with_syntax()
if has('postscript')
+ edit test_hardcopy.vim
set printoptions=syntax:y
syn on
hardcopy > Xhardcopy
" Test for insert expansion
func Test_ins_complete()
+ edit test_ins_complete.vim
set ff=unix
call writefile(["test11\t36Gepeto\t/Tag/",
\ "asd\ttest11file\t36G",
func SetUp()
- let s:topdir = expand('%:h') . '/Xdir'
+ let s:topdir = getcwd() . '/Xdir'
exe 'set packpath=' . s:topdir
let s:plugdir = s:topdir . '/pack/mine/opt/mytest'
endfunc
func XageTests(cchar)
call s:setup_commands(a:cchar)
- let list = [{'bufnr': 1, 'lnum': 1}]
+ let list = [{'bufnr': bufnr('%'), 'lnum': 1}]
call g:Xsetlist(list)
" Jumping to a non existent list should return error
call assert_fails('sign define Sign1 xxx', 'E475:')
call assert_fails('sign undefine', 'E156:')
call assert_fails('sign list xxx', 'E155:')
- call assert_fails('sign place 1 buffer=', 'E158:')
+ call assert_fails('sign place 1 buffer=999', 'E158:')
call assert_fails('sign define Sign2 text=', 'E239:')
endfunc
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1224,
/**/
1223,
/**/