comparison src/testdir/test_recover.vim @ 12616:4767939d10cc v8.0.1186

patch 8.0.1186: still quite a few old style tests commit https://github.com/vim/vim/commit/4a6fcf8047de13c7949ab2f27f7774acaec4ae4d Author: Bram Moolenaar <Bram@vim.org> Date: Thu Oct 12 21:29:22 2017 +0200 patch 8.0.1186: still quite a few old style tests Problem: Still quite a few old style tests. Solution: Convert old to new style tests. (Yegappan Lakshmanan) Avoid ringing the bell while running tests.
author Christian Brabandt <cb@256bit.org>
date Thu, 12 Oct 2017 21:30:07 +0200
parents 0cafb01af1b6
children 1fad9675d8fd
comparison
equal deleted inserted replaced
12615:962b8ecbd793 12616:4767939d10cc
13 endif 13 endif
14 call assert_fails('split Xtest', 'E303:') 14 call assert_fails('split Xtest', 'E303:')
15 set dir& 15 set dir&
16 endfunc 16 endfunc
17 17
18 " TODO: move recover tests from test78.in to here. 18 " Inserts 10000 lines with text to fill the swap file with two levels of pointer
19 " blocks. Then recovers from the swap file and checks all text is restored.
20 "
21 " We need about 10000 lines of 100 characters to get two levels of pointer
22 " blocks.
23 func Test_swap_file()
24 set fileformat=unix undolevels=-1 belloff=all
25 edit! Xtest
26 let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnoparstuvwxyz0123456789"
27 let i = 1
28 let linecount = 10000
29 while i <= linecount
30 call append(i - 1, i . text)
31 let i += 1
32 endwhile
33 $delete
34 preserve
35 " get the name of the swap file
36 let swname = split(execute("swapname"))[0]
37 let swname = substitute(swname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][:cntrl:]]*$', '\1', '')
38 " make a copy of the swap file in Xswap
39 set binary
40 exe 'sp ' . swname
41 w! Xswap
42 set nobinary
43 new
44 only!
45 bwipe! Xtest
46 call rename('Xswap', swname)
47 recover Xtest
48 call delete(swname)
49 let linedollar = line('$')
50 call assert_equal(linecount, linedollar)
51 if linedollar < linecount
52 let linecount = linedollar
53 endif
54 let i = 1
55 while i <= linecount
56 call assert_equal(i . text, getline(i))
57 let i += 1
58 endwhile
59
60 set undolevels&
61 enew! | only
62 endfunc