Mercurial > vim
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 |