blob: b6c6bfab3c852d78f3287449e6a50b8d8cac7905 [file] [log] [blame]
Bram Moolenaar644fdff2010-05-30 13:26:21 +02001Tests for undo file.
2Since this script is sourced we need to explicitly break changes up in
3undo-able pieces. Do that by setting 'undolevels'.
4
5STARTTEST
6:so small.vim
7:"
8:" Test 'undofile': first a simple one-line change.
9:set nocp ul=100 undofile
10:e! Xtestfile
11ggdGithis is one line:set ul=100
12:s/one/ONE/
13:set ul=100
14:w
15:bwipe!
16:e Xtestfile
17u:.w! test.out
18:"
19:" Test 'undofile', change in original file fails check
20:set noundofile
21:e! Xtestfile
22:s/line/Line/
23:w
24:set undofile
25:bwipe!
26:e Xtestfile
27u:.w >>test.out
28:"
29:" Test 'undofile', add 10 lines, delete 6 lines, undo 3
30:set undofile
31ggdGione
32two
33three
34four
35five
36six
37seven
38eight
39nine
40ten:set ul=100
413Gdd:set ul=100
42dd:set ul=100
43dd:set ul=100
44dd:set ul=100
45dd:set ul=100
46dd:set ul=100
47:w
48:bwipe!
49:e Xtestfile
50uuu:w >>test.out
51:"
Bram Moolenaara3ff49f2010-05-30 22:48:02 +020052:" And now with encryption, cryptmethod=0
53:e! Xtestfile
54:set undofile cm=0
55ggdG
56imonday
57tuesday
58wednesday
59thursday
60friday:set ul=100
61kkkdd:set ul=100
62dd:set ul=100
63dd:set ul=100
64:X
65foobar
66foobar
67:w!
68:bwipe!
69:e Xtestfile
70foobar
71:set key=
72uu:w >>test.out
73:"
74:"
75:" With encryption, cryptmethod=1
76:e! Xtestfile
77:set undofile cm=1
78ggdG
79ijan
80feb
81mar
82apr
83jun:set ul=100
84kk0ifoo :set ul=100
85dd:set ul=100
86ibar :set ul=100
87:X
88foobar
89foobar
90:w!
91:bwipe!
92:e Xtestfile
93foobar
94:set key=
95/bar
96:.w >>test.out
97u:.w >>test.out
98u:.w >>test.out
99u:.w >>test.out
100:"
Bram Moolenaar644fdff2010-05-30 13:26:21 +0200101:" Rename the undo file so that it gets cleaned up.
102:call rename(".Xtestfile.un~", "Xtestundo")
103:qa!
104ENDTEST
105
1061111 -----
1072222 -----
108
109123456789