Mercurial > vim
annotate src/testdir/test_undo.vim @ 28990:84a6794a9320 v8.2.5017
patch 8.2.5017: gcc 12.1 warns for uninitialized variable
Commit: https://github.com/vim/vim/commit/8be36eecdc6728021f9c384c2305f114e671ec32
Author: mityu <mityu.mail@gmail.com>
Date: Wed May 25 17:29:46 2022 +0100
patch 8.2.5017: gcc 12.1 warns for uninitialized variable
Problem: Gcc 12.1 warns for uninitialized variable.
Solution: Initialize the variable. (closes https://github.com/vim/vim/issues/10476)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 25 May 2022 18:30:02 +0200 |
parents | 58d2315b096e |
children | b01151812350 |
rev | line source |
---|---|
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Tests for the undo tree. |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 " Since this script is sourced we need to explicitly break changes up in |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 " undo-able pieces. Do that by setting 'undolevels'. |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 " Also tests :earlier and :later. |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 func Test_undotree() |
12827
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
7 new |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
8 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
9 normal! Aabc |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 set ul=100 |
12827
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
11 let d = undotree() |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
12 call assert_equal(1, d.seq_last) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
13 call assert_equal(1, d.seq_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
14 call assert_equal(0, d.save_last) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
15 call assert_equal(0, d.save_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
16 call assert_equal(1, len(d.entries)) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
17 call assert_equal(1, d.entries[0].newhead) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
18 call assert_equal(1, d.entries[0].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
19 call assert_true(d.entries[0].time <= d.time_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
20 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
21 normal! Adef |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 set ul=100 |
12827
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
23 let d = undotree() |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
24 call assert_equal(2, d.seq_last) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
25 call assert_equal(2, d.seq_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
26 call assert_equal(0, d.save_last) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
27 call assert_equal(0, d.save_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
28 call assert_equal(2, len(d.entries)) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
29 call assert_equal(1, d.entries[0].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
30 call assert_equal(1, d.entries[1].newhead) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
31 call assert_equal(2, d.entries[1].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
32 call assert_true(d.entries[1].time <= d.time_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
33 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 undo |
12827
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
35 set ul=100 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 let d = undotree() |
12827
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
37 call assert_equal(2, d.seq_last) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
38 call assert_equal(1, d.seq_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
39 call assert_equal(0, d.save_last) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
40 call assert_equal(0, d.save_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
41 call assert_equal(2, len(d.entries)) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
42 call assert_equal(1, d.entries[0].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
43 call assert_equal(1, d.entries[1].curhead) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
44 call assert_equal(1, d.entries[1].newhead) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
45 call assert_equal(2, d.entries[1].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
46 call assert_true(d.entries[1].time == d.time_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
47 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
48 normal! Aghi |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
49 set ul=100 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
50 let d = undotree() |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
51 call assert_equal(3, d.seq_last) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
52 call assert_equal(3, d.seq_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
53 call assert_equal(0, d.save_last) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
54 call assert_equal(0, d.save_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
55 call assert_equal(2, len(d.entries)) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
56 call assert_equal(1, d.entries[0].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
57 call assert_equal(2, d.entries[1].alt[0].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
58 call assert_equal(1, d.entries[1].newhead) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
59 call assert_equal(3, d.entries[1].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
60 call assert_true(d.entries[1].time <= d.time_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
61 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
62 undo |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
63 set ul=100 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
64 let d = undotree() |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
65 call assert_equal(3, d.seq_last) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
66 call assert_equal(1, d.seq_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
67 call assert_equal(0, d.save_last) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
68 call assert_equal(0, d.save_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
69 call assert_equal(2, len(d.entries)) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
70 call assert_equal(1, d.entries[0].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
71 call assert_equal(2, d.entries[1].alt[0].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
72 call assert_equal(1, d.entries[1].curhead) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
73 call assert_equal(1, d.entries[1].newhead) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
74 call assert_equal(3, d.entries[1].seq) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
75 call assert_true(d.entries[1].time == d.time_cur) |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
76 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
77 w! Xtest |
12827
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
78 let d = undotree() |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
79 call assert_equal(1, d.save_cur) |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
80 call assert_equal(1, d.save_last) |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
81 call delete('Xtest') |
12827
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
82 bwipe! Xtest |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
83 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
84 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
85 func FillBuffer() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
86 for i in range(1,13) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
87 put=i |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
88 " Set 'undolevels' to split undo. |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
89 exe "setg ul=" . &g:ul |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
90 endfor |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
91 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
92 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
93 func Test_global_local_undolevels() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
94 new one |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
95 set undolevels=5 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
96 call FillBuffer() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
97 " will only undo the last 5 changes, end up with 13 - (5 + 1) = 7 lines |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
98 earlier 10 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
99 call assert_equal(5, &g:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
100 call assert_equal(-123456, &l:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
101 call assert_equal('7', getline('$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
102 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
103 new two |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
104 setlocal undolevels=2 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
105 call FillBuffer() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
106 " will only undo the last 2 changes, end up with 13 - (2 + 1) = 10 lines |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
107 earlier 10 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
108 call assert_equal(5, &g:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
109 call assert_equal(2, &l:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
110 call assert_equal('10', getline('$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
111 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
112 setlocal ul=10 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
113 call assert_equal(5, &g:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
114 call assert_equal(10, &l:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
115 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
116 " Setting local value in "two" must not change local value in "one" |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
117 wincmd p |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
118 call assert_equal(5, &g:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
119 call assert_equal(-123456, &l:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
120 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
121 new three |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
122 setglobal ul=50 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
123 call assert_equal(50, &g:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
124 call assert_equal(-123456, &l:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
125 |
19991
f27473034f26
patch 8.2.0551: not all code for options is tested
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
126 " Resetting the local 'undolevels' value to use the global value |
f27473034f26
patch 8.2.0551: not all code for options is tested
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
127 setlocal undolevels=5 |
f27473034f26
patch 8.2.0551: not all code for options is tested
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
128 setlocal undolevels< |
f27473034f26
patch 8.2.0551: not all code for options is tested
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
129 call assert_equal(-123456, &l:undolevels) |
f27473034f26
patch 8.2.0551: not all code for options is tested
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
130 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
131 " Drop created windows |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
132 set ul& |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
133 new |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
134 only! |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
135 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
136 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
137 func BackOne(expected) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
138 call feedkeys('g-', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
139 call assert_equal(a:expected, getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
140 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
141 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
142 func Test_undo_del_chars() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
143 " Setup a buffer without creating undo entries |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
144 new |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
145 set ul=-1 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
146 call setline(1, ['123-456']) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
147 set ul=100 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
148 1 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
149 call test_settime(100) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
150 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
151 " Delete three characters and undo with g- |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
152 call feedkeys('x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
153 call feedkeys('x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
154 call feedkeys('x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
155 call assert_equal('-456', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
156 call BackOne('3-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
157 call BackOne('23-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
158 call BackOne('123-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
159 call assert_fails("BackOne('123-456')") |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
160 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
161 :" Delete three other characters and go back in time with g- |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
162 call feedkeys('$x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
163 call feedkeys('x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
164 call feedkeys('x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
165 call assert_equal('123-', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
166 call test_settime(101) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
167 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
168 call BackOne('123-4') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
169 call BackOne('123-45') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
170 " skips '123-456' because it's older |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
171 call BackOne('-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
172 call BackOne('3-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
173 call BackOne('23-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
174 call BackOne('123-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
175 call assert_fails("BackOne('123-456')") |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
176 normal 10g+ |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
177 call assert_equal('123-', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
178 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
179 :" Jump two seconds and go some seconds forward and backward |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
180 call test_settime(103) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
181 call feedkeys("Aa\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
182 call feedkeys("Ab\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
183 call feedkeys("Ac\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
184 call assert_equal('123-abc', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
185 earlier 1s |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
186 call assert_equal('123-', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
187 earlier 3s |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
188 call assert_equal('123-456', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
189 later 1s |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
190 call assert_equal('123-', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
191 later 1h |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
192 call assert_equal('123-abc', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
193 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
194 close! |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
195 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
196 |
10049
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
197 func Test_undolist() |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
198 new |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
199 set ul=100 |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
200 |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
201 let a = execute('undolist') |
10049
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
202 call assert_equal("\nNothing to undo", a) |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
203 |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
204 " 1 leaf (2 changes). |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
205 call feedkeys('achange1', 'xt') |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
206 call feedkeys('achange2', 'xt') |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
207 let a = execute('undolist') |
10049
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
208 call assert_match("^\nnumber changes when *saved\n *2 *2 .*$", a) |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
209 |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
210 " 2 leaves. |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
211 call feedkeys('u', 'xt') |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
212 call feedkeys('achange3\<Esc>', 'xt') |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
213 let a = execute('undolist') |
10049
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
214 call assert_match("^\nnumber changes when *saved\n *2 *2 *.*\n *3 *2 .*$", a) |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
215 close! |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
216 endfunc |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
217 |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
218 func Test_U_command() |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
219 new |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
220 set ul=100 |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
221 call feedkeys("achange1\<Esc>", 'xt') |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
222 call feedkeys("achange2\<Esc>", 'xt') |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
223 norm! U |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
224 call assert_equal('', getline(1)) |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
225 norm! U |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
226 call assert_equal('change1change2', getline(1)) |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
227 close! |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
228 endfunc |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
229 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
230 func Test_undojoin() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
231 new |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
232 call feedkeys("Goaaaa\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
233 call feedkeys("obbbb\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
234 call assert_equal(['aaaa', 'bbbb'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
235 call feedkeys("u", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
236 call assert_equal(['aaaa'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
237 call feedkeys("obbbb\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
238 undojoin |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
239 " Note: next change must not be as if typed |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
240 call feedkeys("occcc\<Esc>", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
241 call assert_equal(['aaaa', 'bbbb', 'cccc'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
242 call feedkeys("u", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
243 call assert_equal(['aaaa'], getline(2, '$')) |
10631
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
244 bwipe! |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
245 endfunc |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
246 |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
247 func Test_undojoin_redo() |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
248 new |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
249 call setline(1, ['first line', 'second line']) |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
250 call feedkeys("ixx\<Esc>", 'xt') |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
251 call feedkeys(":undojoin | redo\<CR>", 'xt') |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
252 call assert_equal('xxfirst line', getline(1)) |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
253 call assert_equal('second line', getline(2)) |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
254 bwipe! |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
255 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
256 |
18902
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
257 " undojoin not allowed after undo |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
258 func Test_undojoin_after_undo() |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
259 new |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
260 call feedkeys("ixx\<Esc>u", 'xt') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
261 call assert_fails(':undojoin', 'E790:') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
262 bwipe! |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
263 endfunc |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
264 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
265 " undojoin is a noop when no change yet, or when 'undolevels' is negative |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
266 func Test_undojoin_noop() |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
267 new |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
268 call feedkeys(":undojoin\<CR>", 'xt') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
269 call assert_equal([''], getline(1, '$')) |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
270 setlocal undolevels=-1 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
271 call feedkeys("ixx\<Esc>u", 'xt') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
272 call feedkeys(":undojoin\<CR>", 'xt') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
273 call assert_equal(['xx'], getline(1, '$')) |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
274 bwipe! |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
275 endfunc |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
276 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
277 func Test_undo_write() |
12779
73eb8a2d7f04
patch 8.0.1267: Test_swap_group may leave file behind
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
278 call delete('Xtest') |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
279 split Xtest |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
280 call feedkeys("ione one one\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
281 w! |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
282 call feedkeys("otwo\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
283 call feedkeys("otwo\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
284 w |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
285 call feedkeys("othree\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
286 call assert_equal(['one one one', 'two', 'two', 'three'], getline(1, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
287 earlier 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
288 call assert_equal(['one one one', 'two', 'two'], getline(1, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
289 earlier 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
290 call assert_equal(['one one one'], getline(1, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
291 earlier 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
292 call assert_equal([''], getline(1, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
293 later 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
294 call assert_equal(['one one one'], getline(1, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
295 later 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
296 call assert_equal(['one one one', 'two', 'two'], getline(1, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
297 later 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
298 call assert_equal(['one one one', 'two', 'two', 'three'], getline(1, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
299 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
300 close! |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
301 call delete('Xtest') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
302 bwipe! Xtest |
19370
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
18902
diff
changeset
|
303 |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
18902
diff
changeset
|
304 call assert_fails('earlier xyz', 'E475:') |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
305 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
306 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
307 func Test_insert_expr() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
308 new |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
309 " calling setline() triggers undo sync |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
310 call feedkeys("oa\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
311 call feedkeys("ob\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
312 set ul=100 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
313 call feedkeys("o1\<Esc>a2\<C-R>=setline('.','1234')\<CR>\<CR>\<Esc>", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
314 call assert_equal(['a', 'b', '120', '34'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
315 call feedkeys("u", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
316 call assert_equal(['a', 'b', '12'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
317 call feedkeys("u", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
318 call assert_equal(['a', 'b'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
319 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
320 call feedkeys("oc\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
321 set ul=100 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
322 call feedkeys("o1\<Esc>a2\<C-R>=setline('.','1234')\<CR>\<CR>\<Esc>", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
323 call assert_equal(['a', 'b', 'c', '120', '34'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
324 call feedkeys("u", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
325 call assert_equal(['a', 'b', 'c', '12'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
326 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
327 call feedkeys("od\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
328 set ul=100 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
329 call feedkeys("o1\<Esc>a2\<C-R>=string(123)\<CR>\<Esc>", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
330 call assert_equal(['a', 'b', 'c', '12', 'd', '12123'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
331 call feedkeys("u", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
332 call assert_equal(['a', 'b', 'c', '12', 'd'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
333 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
334 close! |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
335 endfunc |
10518
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
336 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
337 func Test_undofile_earlier() |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
338 " Issue #1254 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
339 " create undofile with timestamps older than Vim startup time. |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
340 let t0 = localtime() - 43200 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
341 call test_settime(t0) |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
342 new Xfile |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
343 call feedkeys("ione\<Esc>", 'xt') |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
344 set ul=100 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
345 call test_settime(t0 + 1) |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
346 call feedkeys("otwo\<Esc>", 'xt') |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
347 set ul=100 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
348 call test_settime(t0 + 2) |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
349 call feedkeys("othree\<Esc>", 'xt') |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
350 set ul=100 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
351 w |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
352 wundo Xundofile |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
353 bwipe! |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
354 " restore normal timestamps. |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
355 call test_settime(0) |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
356 new Xfile |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
357 rundo Xundofile |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
358 earlier 1d |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
359 call assert_equal('', getline(1)) |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
360 bwipe! |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
361 call delete('Xfile') |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
362 call delete('Xundofile') |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
363 endfunc |
12686
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
364 |
18902
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
365 func Test_wundo_errors() |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
366 new |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
367 call setline(1, 'hello') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
368 call assert_fails('wundo! Xdoesnotexist/Xundofile', 'E828:') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
369 bwipe! |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
370 endfunc |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
371 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
372 " Check that reading a truncated undo file doesn't hang. |
17630
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
373 func Test_undofile_truncated() |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
374 new |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
375 call setline(1, 'hello') |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
376 set ul=100 |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
377 wundo Xundofile |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
378 let contents = readfile('Xundofile', 'B') |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
379 |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
380 " try several sizes |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
381 for size in range(20, 500, 33) |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
382 call writefile(contents[0:size], 'Xundofile') |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
383 call assert_fails('rundo Xundofile', 'E825:') |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
384 endfor |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
385 |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
386 bwipe! |
18058
187742518187
patch 8.1.2024: delete call commented out for debugging
Bram Moolenaar <Bram@vim.org>
parents:
18035
diff
changeset
|
387 call delete('Xundofile') |
17630
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
388 endfunc |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
389 |
18902
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
390 func Test_rundo_errors() |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
391 call assert_fails('rundo XfileDoesNotExist', 'E822:') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
392 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
393 call writefile(['abc'], 'Xundofile') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
394 call assert_fails('rundo Xundofile', 'E823:') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
395 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
396 call delete('Xundofile') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
397 endfunc |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
398 |
22506
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
399 func Test_undofile_next() |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
400 set undofile |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
401 new Xfoo.txt |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
402 execute "norm ix\<c-g>uy\<c-g>uz\<Esc>" |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
403 write |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
404 bwipe |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
405 |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
406 next Xfoo.txt |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
407 call assert_equal('xyz', getline(1)) |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
408 silent undo |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
409 call assert_equal('xy', getline(1)) |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
410 silent undo |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
411 call assert_equal('x', getline(1)) |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
412 bwipe! |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
413 |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
414 call delete('Xfoo.txt') |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
415 call delete('.Xfoo.txt.un~') |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
416 set undofile& |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
417 endfunc |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
418 |
12686
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
419 " Test for undo working properly when executing commands from a register. |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
420 " Also test this in an empty buffer. |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
421 func Test_cmd_in_reg_undo() |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
422 enew! |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
423 let @a = "Ox\<Esc>jAy\<Esc>kdd" |
12686
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
424 edit +/^$ test_undo.vim |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
425 normal @au |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
426 call assert_equal(0, &modified) |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
427 return |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
428 new |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
429 normal @au |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
430 call assert_equal(0, &modified) |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
431 only! |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
432 let @a = '' |
12686
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
433 endfunc |
13117
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
434 |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
435 " This used to cause an illegal memory access |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
436 func Test_undo_append() |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
437 new |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
438 call feedkeys("axx\<Esc>v", 'xt') |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
439 undo |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
440 norm o |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
441 quit |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
442 endfunc |
13134
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
443 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
444 func Test_undo_0() |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
445 new |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
446 set ul=100 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
447 normal i1 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
448 undo |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
449 normal i2 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
450 undo |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
451 normal i3 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
452 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
453 undo 0 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
454 let d = undotree() |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
455 call assert_equal('', getline(1)) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
456 call assert_equal(0, d.seq_cur) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
457 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
458 redo |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
459 let d = undotree() |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
460 call assert_equal('3', getline(1)) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
461 call assert_equal(3, d.seq_cur) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
462 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
463 undo 2 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
464 undo 0 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
465 let d = undotree() |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
466 call assert_equal('', getline(1)) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
467 call assert_equal(0, d.seq_cur) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
468 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
469 redo |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
470 let d = undotree() |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
471 call assert_equal('2', getline(1)) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
472 call assert_equal(2, d.seq_cur) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
473 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
474 undo 1 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
475 undo 0 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
476 let d = undotree() |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
477 call assert_equal('', getline(1)) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
478 call assert_equal(0, d.seq_cur) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
479 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
480 redo |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
481 let d = undotree() |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
482 call assert_equal('1', getline(1)) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
483 call assert_equal(1, d.seq_cur) |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
484 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
485 bwipe! |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
486 endfunc |
13202
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
487 |
18902
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
488 " undo or redo are noop if there is nothing to undo or redo |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
489 func Test_undo_redo_noop() |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
490 new |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
491 call assert_fails('undo 2', 'E830:') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
492 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
493 message clear |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
494 undo |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
495 let messages = split(execute('message'), "\n") |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
496 call assert_equal('Already at oldest change', messages[-1]) |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
497 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
498 message clear |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
499 redo |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
500 let messages = split(execute('message'), "\n") |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
501 call assert_equal('Already at newest change', messages[-1]) |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
502 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
503 bwipe! |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
504 endfunc |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
505 |
13202
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
506 func Test_redo_empty_line() |
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
507 new |
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
508 exe "norm\x16r\x160" |
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
509 exe "norm." |
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
510 bwipe! |
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
511 endfunc |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
512 |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
513 funct Test_undofile() |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
514 " Test undofile() without setting 'undodir'. |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
515 if has('persistent_undo') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
516 call assert_equal(fnamemodify('.Xundofoo.un~', ':p'), undofile('Xundofoo')) |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
517 else |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
518 call assert_equal('', undofile('Xundofoo')) |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
519 endif |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
520 call assert_equal('', undofile('')) |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
521 |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
522 " Test undofile() with 'undodir' set to to an existing directory. |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
523 call mkdir('Xundodir') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
524 set undodir=Xundodir |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
525 let cwd = getcwd() |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
526 if has('win32') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
527 " Replace windows drive such as C:... into C%... |
15150
83a366325158
patch 8.1.0585: undo test may fail on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
14015
diff
changeset
|
528 let cwd = substitute(cwd, '^\([a-zA-Z]\):', '\1%', 'g') |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
529 endif |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
530 let cwd = substitute(cwd . '/Xundofoo', '/', '%', 'g') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
531 if has('persistent_undo') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
532 call assert_equal('Xundodir/' . cwd, undofile('Xundofoo')) |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
533 else |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
534 call assert_equal('', undofile('Xundofoo')) |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
535 endif |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
536 call assert_equal('', undofile('')) |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
537 call delete('Xundodir', 'd') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
538 |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
539 " Test undofile() with 'undodir' set to a non-existing directory. |
18035
11dca9732a48
patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17630
diff
changeset
|
540 call assert_equal('', 'Xundofoo'->undofile()) |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
541 |
18473
0eeaa9a6e4e7
patch 8.1.2230: MS-Windows: testing external commands can be improved
Bram Moolenaar <Bram@vim.org>
parents:
18058
diff
changeset
|
542 if !has('win32') && isdirectory('/tmp') |
16700
46322a4e6028
patch 8.1.1352: undofile() reports wrong name
Bram Moolenaar <Bram@vim.org>
parents:
15150
diff
changeset
|
543 set undodir=/tmp |
16702
16a698aeeec1
patch 8.1.1353: undo test fails on Mac
Bram Moolenaar <Bram@vim.org>
parents:
16700
diff
changeset
|
544 if has('osx') |
16a698aeeec1
patch 8.1.1353: undo test fails on Mac
Bram Moolenaar <Bram@vim.org>
parents:
16700
diff
changeset
|
545 call assert_equal('/tmp/%private%tmp%file', undofile('///tmp/file')) |
16a698aeeec1
patch 8.1.1353: undo test fails on Mac
Bram Moolenaar <Bram@vim.org>
parents:
16700
diff
changeset
|
546 else |
16a698aeeec1
patch 8.1.1353: undo test fails on Mac
Bram Moolenaar <Bram@vim.org>
parents:
16700
diff
changeset
|
547 call assert_equal('/tmp/%tmp%file', undofile('///tmp/file')) |
16a698aeeec1
patch 8.1.1353: undo test fails on Mac
Bram Moolenaar <Bram@vim.org>
parents:
16700
diff
changeset
|
548 endif |
16700
46322a4e6028
patch 8.1.1352: undofile() reports wrong name
Bram Moolenaar <Bram@vim.org>
parents:
15150
diff
changeset
|
549 endif |
46322a4e6028
patch 8.1.1352: undofile() reports wrong name
Bram Moolenaar <Bram@vim.org>
parents:
15150
diff
changeset
|
550 |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
551 set undodir& |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
552 endfunc |
18894
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
553 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
554 " Tests for the undo file |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
555 " Explicitly break changes up in undo-able pieces by setting 'undolevels'. |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
556 func Test_undofile_2() |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
557 set undolevels=100 undofile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
558 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
559 call append(0, 'this is one line') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
560 call cursor(1, 1) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
561 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
562 " first a simple one-line change. |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
563 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
564 s/one/ONE/ |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
565 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
566 write |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
567 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
568 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
569 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
570 call assert_equal('this is one line', getline(1)) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
571 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
572 " change in original file fails check |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
573 set noundofile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
574 edit! Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
575 s/line/Line/ |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
576 write |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
577 set undofile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
578 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
579 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
580 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
581 call assert_equal('this is ONE Line', getline(1)) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
582 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
583 " add 10 lines, delete 6 lines, undo 3 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
584 set undofile |
25654
ef38fc02faaa
patch 8.2.3363: when :edit reuses the current buffer the alternate file is set
Bram Moolenaar <Bram@vim.org>
parents:
24204
diff
changeset
|
585 call setbufline('%', 1, ['one', 'two', 'three', 'four', 'five', 'six', |
18894
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
586 \ 'seven', 'eight', 'nine', 'ten']) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
587 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
588 normal 3Gdd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
589 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
590 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
591 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
592 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
593 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
594 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
595 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
596 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
597 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
598 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
599 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
600 write |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
601 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
602 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
603 normal uuu |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
604 call assert_equal(['one', 'two', 'six', 'seven', 'eight', 'nine', 'ten'], |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
605 \ getline(1, '$')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
606 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
607 " Test that reading the undofiles when setting undofile works |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
608 set noundofile undolevels=0 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
609 exe "normal i\n" |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
610 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
611 edit! Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
612 set undofile undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
613 normal uuuuuu |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
614 call assert_equal(['one', 'two', 'three', 'four', 'five', 'six', 'seven', |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
615 \ 'eight', 'nine', 'ten'], getline(1, '$')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
616 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
617 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
618 call delete('Xtestfile') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
619 let ufile = has('vms') ? '_un_Xtestfile' : '.Xtestfile.un~' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
620 call delete(ufile) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
621 set undofile& undolevels& |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
622 endfunc |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
623 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
624 " Test 'undofile' using a file encrypted with 'zip' crypt method |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
625 func Test_undofile_cryptmethod_zip() |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
626 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
627 set undofile cryptmethod=zip |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
628 call append(0, ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
629 call cursor(5, 1) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
630 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
631 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
632 normal kkkdd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
633 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
634 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
635 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
636 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
637 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
638 " encrypt the file using key 'foobar' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
639 call feedkeys("foobar\nfoobar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
640 X |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
641 write! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
642 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
643 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
644 call feedkeys("foobar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
645 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
646 set key= |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
647 normal uu |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
648 call assert_equal(['monday', 'wednesday', 'thursday', 'friday', ''], |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
649 \ getline(1, '$')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
650 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
651 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
652 call delete('Xtestfile') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
653 let ufile = has('vms') ? '_un_Xtestfile' : '.Xtestfile.un~' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
654 call delete(ufile) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
655 set undofile& undolevels& cryptmethod& |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
656 endfunc |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
657 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
658 " Test 'undofile' using a file encrypted with 'blowfish' crypt method |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
659 func Test_undofile_cryptmethod_blowfish() |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
660 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
661 set undofile cryptmethod=blowfish |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
662 call append(0, ['jan', 'feb', 'mar', 'apr', 'jun']) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
663 call cursor(5, 1) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
664 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
665 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
666 exe 'normal kk0ifoo ' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
667 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
668 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
669 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
670 exe 'normal ibar ' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
671 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
672 " encrypt the file using key 'foobar' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
673 call feedkeys("foobar\nfoobar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
674 X |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
675 write! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
676 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
677 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
678 call feedkeys("foobar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
679 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
680 set key= |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
681 call search('bar') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
682 call assert_equal('bar apr', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
683 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
684 call assert_equal('apr', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
685 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
686 call assert_equal('foo mar', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
687 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
688 call assert_equal('mar', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
689 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
690 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
691 call delete('Xtestfile') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
692 let ufile = has('vms') ? '_un_Xtestfile' : '.Xtestfile.un~' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
693 call delete(ufile) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
694 set undofile& undolevels& cryptmethod& |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
695 endfunc |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
696 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
697 " Test 'undofile' using a file encrypted with 'blowfish2' crypt method |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
698 func Test_undofile_cryptmethod_blowfish2() |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
699 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
700 set undofile cryptmethod=blowfish2 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
701 call append(0, ['jan', 'feb', 'mar', 'apr', 'jun']) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
702 call cursor(5, 1) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
703 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
704 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
705 exe 'normal kk0ifoo ' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
706 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
707 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
708 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
709 exe 'normal ibar ' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
710 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
711 " encrypt the file using key 'foo2bar' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
712 call feedkeys("foo2bar\nfoo2bar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
713 X |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
714 write! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
715 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
716 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
717 call feedkeys("foo2bar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
718 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
719 set key= |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
720 call search('bar') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
721 call assert_equal('bar apr', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
722 normal u |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
723 call assert_equal('apr', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
724 normal u |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
725 call assert_equal('foo mar', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
726 normal u |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
727 call assert_equal('mar', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
728 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
729 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
730 call delete('Xtestfile') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
731 let ufile = has('vms') ? '_un_Xtestfile' : '.Xtestfile.un~' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
732 call delete(ufile) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
733 set undofile& undolevels& cryptmethod& |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
734 endfunc |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
735 |
24134
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
736 " Test for redoing with incrementing numbered registers |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
737 func Test_redo_repeat_numbered_register() |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
738 new |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
739 for [i, v] in [[1, 'one'], [2, 'two'], [3, 'three'], |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
740 \ [4, 'four'], [5, 'five'], [6, 'six'], |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
741 \ [7, 'seven'], [8, 'eight'], [9, 'nine']] |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
742 exe 'let @' .. i .. '="' .. v .. '\n"' |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
743 endfor |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
744 call feedkeys('"1p.........', 'xt') |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
745 call assert_equal(['', 'one', 'two', 'three', 'four', 'five', 'six', |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
746 \ 'seven', 'eight', 'nine', 'nine'], getline(1, '$')) |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
747 bwipe! |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
748 endfunc |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
749 |
24204
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
750 " Test for redo in insert mode using CTRL-O with multibyte characters |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
751 func Test_redo_multibyte_in_insert_mode() |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
752 new |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
753 call feedkeys("a\<C-K>ft", 'xt') |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
754 call feedkeys("uiHe\<C-O>.llo", 'xt') |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
755 call assert_equal("He\ufb05llo", getline(1)) |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
756 bwipe! |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
757 endfunc |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
758 |
28835
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
759 func Test_undo_mark() |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
760 new |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
761 " The undo is applied to the only line. |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
762 call setline(1, 'hello') |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
763 call feedkeys("ggyiw$p", 'xt') |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
764 undo |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
765 call assert_equal([0, 1, 1, 0], getpos("'[")) |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
766 call assert_equal([0, 1, 1, 0], getpos("']")) |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
767 " The undo removes the last line. |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
768 call feedkeys("Goaaaa\<Esc>", 'xt') |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
769 call feedkeys("obbbb\<Esc>", 'xt') |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
770 undo |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
771 call assert_equal([0, 2, 1, 0], getpos("'[")) |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
772 call assert_equal([0, 2, 1, 0], getpos("']")) |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
773 bwipe! |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
774 endfunc |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
775 |
18894
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
776 " vim: shiftwidth=2 sts=2 expandtab |