Mercurial > vim
annotate src/testdir/test_undo.vim @ 32586:304341915488 v9.0.1625
patch 9.0.1625: "super" is not considered a reserved name
Commit: https://github.com/vim/vim/commit/ce723f391844695a07d9af02ef60330afd3e158c
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 10 19:00:12 2023 +0100
patch 9.0.1625: "super" is not considered a reserved name
Problem: "super" is not considered a reserved name.
Solution: Add "super" to the list of reserved names. (closes https://github.com/vim/vim/issues/12515)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 10 Jun 2023 20:15:04 +0200 |
parents | 627d4f236ac8 |
children | 257ab4ee8e4a |
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 |
31406
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
6 source check.vim |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
7 source screendump.vim |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
8 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 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
|
10 new |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
11 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
12 normal! Aabc |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 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
|
14 let d = undotree() |
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(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
|
16 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
|
17 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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 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
|
23 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
24 normal! Adef |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 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
|
26 let d = undotree() |
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(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
|
28 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
|
29 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
|
30 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
|
31 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
|
32 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
|
33 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
|
34 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
|
35 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
|
36 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 undo |
12827
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
38 set ul=100 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 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
|
40 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
|
41 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
|
42 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
|
43 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
|
44 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
|
45 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
|
46 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
|
47 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
|
48 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
|
49 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
|
50 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
51 normal! Aghi |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
52 set ul=100 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
53 let d = undotree() |
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(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
|
55 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
|
56 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
|
57 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
|
58 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
|
59 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
|
60 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
|
61 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
|
62 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
|
63 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
|
64 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
65 undo |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
66 set ul=100 |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
67 let d = undotree() |
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(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
|
69 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
|
70 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
|
71 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
|
72 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
|
73 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
|
74 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
|
75 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
|
76 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
|
77 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
|
78 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
|
79 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
80 w! Xtest |
12827
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
81 let d = undotree() |
ff494a964ab7
patch 8.0.1290: seq_cur of undotree() wrong after undo
Christian Brabandt <cb@256bit.org>
parents:
12779
diff
changeset
|
82 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
|
83 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
|
84 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
|
85 bwipe! Xtest |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
86 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
87 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
88 func FillBuffer() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
89 for i in range(1,13) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
90 put=i |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
91 " Set 'undolevels' to split undo. |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
92 exe "setg ul=" . &g:ul |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
93 endfor |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
94 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
95 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
96 func Test_global_local_undolevels() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
97 new one |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
98 set undolevels=5 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
99 call FillBuffer() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
100 " 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
|
101 earlier 10 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
102 call assert_equal(5, &g:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
103 call assert_equal(-123456, &l:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
104 call assert_equal('7', getline('$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
105 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
106 new two |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
107 setlocal undolevels=2 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
108 call FillBuffer() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
109 " 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
|
110 earlier 10 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
111 call assert_equal(5, &g:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
112 call assert_equal(2, &l:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
113 call assert_equal('10', getline('$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
114 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
115 setlocal ul=10 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
116 call assert_equal(5, &g:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
117 call assert_equal(10, &l:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
118 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
119 " 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
|
120 wincmd p |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
121 call assert_equal(5, &g:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
122 call assert_equal(-123456, &l:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
123 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
124 new three |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
125 setglobal ul=50 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
126 call assert_equal(50, &g:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
127 call assert_equal(-123456, &l:undolevels) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
128 |
19991
f27473034f26
patch 8.2.0551: not all code for options is tested
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
129 " 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
|
130 setlocal undolevels=5 |
f27473034f26
patch 8.2.0551: not all code for options is tested
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
131 setlocal undolevels< |
f27473034f26
patch 8.2.0551: not all code for options is tested
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
132 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
|
133 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
134 " Drop created windows |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
135 set ul& |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
136 new |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
137 only! |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
138 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
139 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
140 func BackOne(expected) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
141 call feedkeys('g-', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
142 call assert_equal(a:expected, getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
143 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
144 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
145 func Test_undo_del_chars() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
146 " Setup a buffer without creating undo entries |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
147 new |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
148 set ul=-1 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
149 call setline(1, ['123-456']) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
150 set ul=100 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
151 1 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
152 call test_settime(100) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
153 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
154 " Delete three characters and undo with g- |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
155 call feedkeys('x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
156 call feedkeys('x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
157 call feedkeys('x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
158 call assert_equal('-456', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
159 call BackOne('3-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
160 call BackOne('23-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
161 call BackOne('123-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
162 call assert_fails("BackOne('123-456')") |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
163 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
164 :" 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
|
165 call feedkeys('$x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
166 call feedkeys('x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
167 call feedkeys('x', 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
168 call assert_equal('123-', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
169 call test_settime(101) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
170 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
171 call BackOne('123-4') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
172 call BackOne('123-45') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
173 " skips '123-456' because it's older |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
174 call BackOne('-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
175 call BackOne('3-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
176 call BackOne('23-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
177 call BackOne('123-456') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
178 call assert_fails("BackOne('123-456')") |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
179 normal 10g+ |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
180 call assert_equal('123-', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
181 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
182 :" 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
|
183 call test_settime(103) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
184 call feedkeys("Aa\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
185 call feedkeys("Ab\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
186 call feedkeys("Ac\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
187 call assert_equal('123-abc', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
188 earlier 1s |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
189 call assert_equal('123-', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
190 earlier 3s |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
191 call assert_equal('123-456', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
192 later 1s |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
193 call assert_equal('123-', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
194 later 1h |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
195 call assert_equal('123-abc', getline(1)) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
196 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
197 close! |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
198 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
199 |
10049
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
200 func Test_undolist() |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
201 new |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
202 set ul=100 |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
203 |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
204 let a = execute('undolist') |
10049
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
205 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
|
206 |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
207 " 1 leaf (2 changes). |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
208 call feedkeys('achange1', 'xt') |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
209 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
|
210 let a = execute('undolist') |
10049
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
211 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
|
212 |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
213 " 2 leaves. |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
214 call feedkeys('u', 'xt') |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
215 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
|
216 let a = execute('undolist') |
10049
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
217 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
|
218 close! |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
219 endfunc |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
220 |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
221 func Test_U_command() |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
222 new |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
223 set ul=100 |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
224 call feedkeys("achange1\<Esc>", 'xt') |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
225 call feedkeys("achange2\<Esc>", 'xt') |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
226 norm! U |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
227 call assert_equal('', getline(1)) |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
228 norm! U |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
229 call assert_equal('change1change2', getline(1)) |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
230 close! |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
231 endfunc |
efc8a434f38f
commit https://github.com/vim/vim/commit/c628fdcd46e93c308f742efdf54248695960e290
Christian Brabandt <cb@256bit.org>
parents:
9674
diff
changeset
|
232 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
233 func Test_undojoin() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
234 new |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
235 call feedkeys("Goaaaa\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
236 call feedkeys("obbbb\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
237 call assert_equal(['aaaa', 'bbbb'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
238 call feedkeys("u", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
239 call assert_equal(['aaaa'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
240 call feedkeys("obbbb\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
241 undojoin |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
242 " 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
|
243 call feedkeys("occcc\<Esc>", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
244 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
|
245 call feedkeys("u", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
246 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
|
247 bwipe! |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
248 endfunc |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
249 |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
250 func Test_undojoin_redo() |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
251 new |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
252 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
|
253 call feedkeys("ixx\<Esc>", 'xt') |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
254 call feedkeys(":undojoin | redo\<CR>", 'xt') |
cbf17371627c
patch 8.0.0205: wrong behavior after :undojoin
Christian Brabandt <cb@256bit.org>
parents:
10518
diff
changeset
|
255 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
|
256 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
|
257 bwipe! |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
258 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
259 |
18902
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
260 " 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
|
261 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
|
262 new |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
263 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
|
264 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
|
265 bwipe! |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
266 endfunc |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
267 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
268 " 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
|
269 func Test_undojoin_noop() |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
270 new |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
271 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
|
272 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
|
273 setlocal undolevels=-1 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
274 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
|
275 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
|
276 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
|
277 bwipe! |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
278 endfunc |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
279 |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
280 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
|
281 call delete('Xtest') |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
282 split Xtest |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
283 call feedkeys("ione one one\<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("otwo\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
286 call feedkeys("otwo\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
287 w |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
288 call feedkeys("othree\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
289 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
|
290 earlier 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
291 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
|
292 earlier 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
293 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
|
294 earlier 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
295 call assert_equal([''], getline(1, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
296 later 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
297 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
|
298 later 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
299 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
|
300 later 1f |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
301 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
|
302 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
303 close! |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
304 call delete('Xtest') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
305 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
|
306 |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
18902
diff
changeset
|
307 call assert_fails('earlier xyz', 'E475:') |
9674
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
308 endfunc |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
309 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
310 func Test_insert_expr() |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
311 new |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
312 " calling setline() triggers undo sync |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
313 call feedkeys("oa\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
314 call feedkeys("ob\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
315 set ul=100 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
316 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
|
317 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
|
318 call feedkeys("u", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
319 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
|
320 call feedkeys("u", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
321 call assert_equal(['a', 'b'], getline(2, '$')) |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
322 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
323 call feedkeys("oc\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
324 set ul=100 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
325 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
|
326 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
|
327 call feedkeys("u", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
328 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
|
329 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
330 call feedkeys("od\<Esc>", 'xt') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
331 set ul=100 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
332 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
|
333 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
|
334 call feedkeys("u", 'x') |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
335 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
|
336 |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
337 close! |
adc7212951ee
commit https://github.com/vim/vim/commit/170b10b421f0c9fda08b7cfd3bb043c064f3659a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
338 endfunc |
10518
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
339 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
340 func Test_undofile_earlier() |
30158
008808e60963
patch 9.0.0415: on MS-Windows some tests are flaky
Bram Moolenaar <Bram@vim.org>
parents:
29752
diff
changeset
|
341 if has('win32') |
008808e60963
patch 9.0.0415: on MS-Windows some tests are flaky
Bram Moolenaar <Bram@vim.org>
parents:
29752
diff
changeset
|
342 " FIXME: This test is flaky on MS-Windows. |
008808e60963
patch 9.0.0415: on MS-Windows some tests are flaky
Bram Moolenaar <Bram@vim.org>
parents:
29752
diff
changeset
|
343 let g:test_is_flaky = 1 |
008808e60963
patch 9.0.0415: on MS-Windows some tests are flaky
Bram Moolenaar <Bram@vim.org>
parents:
29752
diff
changeset
|
344 endif |
008808e60963
patch 9.0.0415: on MS-Windows some tests are flaky
Bram Moolenaar <Bram@vim.org>
parents:
29752
diff
changeset
|
345 |
10518
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
346 " Issue #1254 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
347 " 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
|
348 let t0 = localtime() - 43200 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
349 call test_settime(t0) |
29752
b01151812350
patch 9.0.0216: undo earlier test sometimes fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
28835
diff
changeset
|
350 new XfileEarlier |
10518
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
351 call feedkeys("ione\<Esc>", 'xt') |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
352 set ul=100 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
353 call test_settime(t0 + 1) |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
354 call feedkeys("otwo\<Esc>", 'xt') |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
355 set ul=100 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
356 call test_settime(t0 + 2) |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
357 call feedkeys("othree\<Esc>", 'xt') |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
358 set ul=100 |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
359 w |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
360 wundo Xundofile |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
361 bwipe! |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
362 " restore normal timestamps. |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
363 call test_settime(0) |
29752
b01151812350
patch 9.0.0216: undo earlier test sometimes fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
28835
diff
changeset
|
364 new XfileEarlier |
10518
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
365 rundo Xundofile |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
366 earlier 1d |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
367 call assert_equal('', getline(1)) |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
368 bwipe! |
29752
b01151812350
patch 9.0.0216: undo earlier test sometimes fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
28835
diff
changeset
|
369 call delete('XfileEarlier') |
10518
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
370 call delete('Xundofile') |
de77fa909414
commit https://github.com/vim/vim/commit/cbd4de44e8d08fba3c09eb40ad6e36e83faf020a
Christian Brabandt <cb@256bit.org>
parents:
10049
diff
changeset
|
371 endfunc |
12686
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
372 |
18902
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
373 func Test_wundo_errors() |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
374 new |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
375 call setline(1, 'hello') |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
376 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
|
377 bwipe! |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
378 endfunc |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
379 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
380 " 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
|
381 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
|
382 new |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
383 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
|
384 set ul=100 |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
385 wundo Xundofile |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
386 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
|
387 |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
388 " try several sizes |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
389 for size in range(20, 500, 33) |
30867
0913cd44fdfa
patch 9.0.0768: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
390 call writefile(contents[0:size], 'Xundofile', 'D') |
17630
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
391 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
|
392 endfor |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
393 |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
394 bwipe! |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
395 endfunc |
380adf86bf66
patch 8.1.1812: reading a truncted undo file hangs Vim
Bram Moolenaar <Bram@vim.org>
parents:
16702
diff
changeset
|
396 |
18902
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
397 func Test_rundo_errors() |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
398 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
|
399 |
30867
0913cd44fdfa
patch 9.0.0768: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents:
30158
diff
changeset
|
400 call writefile(['abc'], 'Xundofile', 'D') |
18902
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
401 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
|
402 endfunc |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
403 |
22506
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
404 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
|
405 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
|
406 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
|
407 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
|
408 write |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
409 bwipe |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
410 |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
411 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
|
412 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
|
413 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
|
414 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
|
415 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
|
416 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
|
417 bwipe! |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
418 |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
419 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
|
420 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
|
421 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
|
422 endfunc |
a6fe2e1ad5b0
patch 8.2.1801: undo file not found when using ":args" or ":next"
Bram Moolenaar <Bram@vim.org>
parents:
19991
diff
changeset
|
423 |
12686
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
424 " 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
|
425 " 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
|
426 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
|
427 enew! |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
428 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
|
429 edit +/^$ test_undo.vim |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
430 normal @au |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
431 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
|
432 return |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
433 new |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
434 normal @au |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
435 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
|
436 only! |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
437 let @a = '' |
12686
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12644
diff
changeset
|
438 endfunc |
13117
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
439 |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
440 " 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
|
441 func Test_undo_append() |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
442 new |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
443 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
|
444 undo |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
445 norm o |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
446 quit |
cfaa513efa3f
patch 8.0.1433: illegal memory access after undo
Christian Brabandt <cb@256bit.org>
parents:
12827
diff
changeset
|
447 endfunc |
13134
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
448 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
449 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
|
450 new |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
451 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
|
452 normal i1 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
453 undo |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
454 normal i2 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
455 undo |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
456 normal i3 |
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 undo 0 |
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('', 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(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
|
462 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
463 redo |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
464 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
|
465 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
|
466 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
|
467 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
468 undo 2 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
469 undo 0 |
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('', 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(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
|
473 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
474 redo |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
475 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
|
476 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
|
477 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
|
478 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
479 undo 1 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
480 undo 0 |
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('', 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(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
|
484 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
485 redo |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
486 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
|
487 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
|
488 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
|
489 |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
490 bwipe! |
c4b5ad2b3596
patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Christian Brabandt <cb@256bit.org>
parents:
13117
diff
changeset
|
491 endfunc |
13202
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
492 |
18902
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
493 " 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
|
494 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
|
495 new |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
496 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
|
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 undo |
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 oldest 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 message clear |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
504 redo |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
505 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
|
506 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
|
507 |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
508 bwipe! |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
509 endfunc |
b24648ebcbc9
patch 8.2.0012: some undo functionality is not tested
Bram Moolenaar <Bram@vim.org>
parents:
18894
diff
changeset
|
510 |
13202
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
511 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
|
512 new |
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
513 exe "norm\x16r\x160" |
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
514 exe "norm." |
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
515 bwipe! |
2941a86f8aaa
patch 8.0.1475: invalid memory access in read_redo()
Christian Brabandt <cb@256bit.org>
parents:
13134
diff
changeset
|
516 endfunc |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
517 |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
518 funct Test_undofile() |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
519 " 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
|
520 if has('persistent_undo') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
521 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
|
522 else |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
523 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
|
524 endif |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
525 call assert_equal('', undofile('')) |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
526 |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
527 " 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
|
528 call mkdir('Xundodir') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
529 set undodir=Xundodir |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
530 let cwd = getcwd() |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
531 if has('win32') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
532 " 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
|
533 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
|
534 endif |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
535 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
|
536 if has('persistent_undo') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
537 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
|
538 else |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
539 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
|
540 endif |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
541 call assert_equal('', undofile('')) |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
542 call delete('Xundodir', 'd') |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
543 |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
544 " 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
|
545 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
|
546 |
18473
0eeaa9a6e4e7
patch 8.1.2230: MS-Windows: testing external commands can be improved
Bram Moolenaar <Bram@vim.org>
parents:
18058
diff
changeset
|
547 if !has('win32') && isdirectory('/tmp') |
16700
46322a4e6028
patch 8.1.1352: undofile() reports wrong name
Bram Moolenaar <Bram@vim.org>
parents:
15150
diff
changeset
|
548 set undodir=/tmp |
16702
16a698aeeec1
patch 8.1.1353: undo test fails on Mac
Bram Moolenaar <Bram@vim.org>
parents:
16700
diff
changeset
|
549 if has('osx') |
16a698aeeec1
patch 8.1.1353: undo test fails on Mac
Bram Moolenaar <Bram@vim.org>
parents:
16700
diff
changeset
|
550 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
|
551 else |
16a698aeeec1
patch 8.1.1353: undo test fails on Mac
Bram Moolenaar <Bram@vim.org>
parents:
16700
diff
changeset
|
552 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
|
553 endif |
16700
46322a4e6028
patch 8.1.1352: undofile() reports wrong name
Bram Moolenaar <Bram@vim.org>
parents:
15150
diff
changeset
|
554 endif |
46322a4e6028
patch 8.1.1352: undofile() reports wrong name
Bram Moolenaar <Bram@vim.org>
parents:
15150
diff
changeset
|
555 |
14015
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
556 set undodir& |
9709d783261f
patch 8.1.0025: no test for the undofile() function
Christian Brabandt <cb@256bit.org>
parents:
13202
diff
changeset
|
557 endfunc |
18894
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
558 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
559 " Tests for the undo file |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
560 " 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
|
561 func Test_undofile_2() |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
562 set undolevels=100 undofile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
563 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
564 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
|
565 call cursor(1, 1) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
566 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
567 " first a simple one-line change. |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
568 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
569 s/one/ONE/ |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
570 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
571 write |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
572 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
573 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
574 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
575 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
|
576 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
577 " change in original file fails check |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
578 set noundofile |
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 s/line/Line/ |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
581 write |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
582 set undofile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
583 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
584 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
585 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
586 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
|
587 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
588 " 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
|
589 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
|
590 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
|
591 \ 'seven', 'eight', 'nine', 'ten']) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
592 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
593 normal 3Gdd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
594 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
595 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
596 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
597 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
598 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
599 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
600 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
601 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
602 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
603 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
604 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
605 write |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
606 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
607 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
608 normal uuu |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
609 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
|
610 \ getline(1, '$')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
611 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
612 " 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
|
613 set noundofile undolevels=0 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
614 exe "normal i\n" |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
615 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
616 edit! Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
617 set undofile undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
618 normal uuuuuu |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
619 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
|
620 \ 'eight', 'nine', 'ten'], getline(1, '$')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
621 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
622 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
623 call delete('Xtestfile') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
624 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
|
625 call delete(ufile) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
626 set undofile& undolevels& |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
627 endfunc |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
628 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
629 " 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
|
630 func Test_undofile_cryptmethod_zip() |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
631 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
632 set undofile cryptmethod=zip |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
633 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
|
634 call cursor(5, 1) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
635 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
636 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
637 normal kkkdd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
638 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
639 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
640 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
641 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
642 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
643 " encrypt the file using key 'foobar' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
644 call feedkeys("foobar\nfoobar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
645 X |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
646 write! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
647 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
648 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
649 call feedkeys("foobar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
650 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
651 set key= |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
652 normal uu |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
653 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
|
654 \ getline(1, '$')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
655 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
656 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
657 call delete('Xtestfile') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
658 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
|
659 call delete(ufile) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
660 set undofile& undolevels& cryptmethod& |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
661 endfunc |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
662 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
663 " 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
|
664 func Test_undofile_cryptmethod_blowfish() |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
665 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
666 set undofile cryptmethod=blowfish |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
667 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
|
668 call cursor(5, 1) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
669 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
670 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
671 exe 'normal kk0ifoo ' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
672 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
673 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
674 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
675 exe 'normal ibar ' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
676 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
677 " encrypt the file using key 'foobar' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
678 call feedkeys("foobar\nfoobar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
679 X |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
680 write! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
681 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
682 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
683 call feedkeys("foobar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
684 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
685 set key= |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
686 call search('bar') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
687 call assert_equal('bar apr', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
688 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
689 call assert_equal('apr', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
690 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
691 call assert_equal('foo mar', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
692 undo |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
693 call assert_equal('mar', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
694 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
695 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
696 call delete('Xtestfile') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
697 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
|
698 call delete(ufile) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
699 set undofile& undolevels& cryptmethod& |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
700 endfunc |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
701 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
702 " 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
|
703 func Test_undofile_cryptmethod_blowfish2() |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
704 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
705 set undofile cryptmethod=blowfish2 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
706 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
|
707 call cursor(5, 1) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
708 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
709 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
710 exe 'normal kk0ifoo ' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
711 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
712 normal dd |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
713 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
714 exe 'normal ibar ' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
715 set undolevels=100 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
716 " encrypt the file using key 'foo2bar' |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
717 call feedkeys("foo2bar\nfoo2bar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
718 X |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
719 write! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
720 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
721 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
722 call feedkeys("foo2bar\n") |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
723 edit Xtestfile |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
724 set key= |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
725 call search('bar') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
726 call assert_equal('bar apr', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
727 normal u |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
728 call assert_equal('apr', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
729 normal u |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
730 call assert_equal('foo mar', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
731 normal u |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
732 call assert_equal('mar', getline('.')) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
733 |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
734 bwipe! |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
735 call delete('Xtestfile') |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
736 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
|
737 call delete(ufile) |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
738 set undofile& undolevels& cryptmethod& |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
739 endfunc |
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
740 |
24134
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
741 " 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
|
742 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
|
743 new |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
744 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
|
745 \ [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
|
746 \ [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
|
747 exe 'let @' .. i .. '="' .. v .. '\n"' |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
748 endfor |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
749 call feedkeys('"1p.........', 'xt') |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
750 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
|
751 \ '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
|
752 bwipe! |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
753 endfunc |
72e9b861bc92
patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22506
diff
changeset
|
754 |
24204
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
755 " 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
|
756 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
|
757 new |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
758 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
|
759 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
|
760 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
|
761 bwipe! |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
762 endfunc |
ec71c859e94c
patch 8.2.2643: various code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24134
diff
changeset
|
763 |
28835
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
764 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
|
765 new |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
766 " 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
|
767 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
|
768 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
|
769 undo |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
770 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
|
771 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
|
772 " 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
|
773 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
|
774 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
|
775 undo |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
776 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
|
777 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
|
778 bwipe! |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
779 endfunc |
58d2315b096e
patch 8.2.4941: '[ and '] marks may be wrong after undo
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
780 |
31406
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
781 func Test_undo_after_write() |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
782 " use a terminal to make undo work like when text is typed |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
783 CheckRunVimInTerminal |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
784 |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
785 let lines =<< trim END |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
786 edit Xtestfile.txt |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
787 set undolevels=100 undofile |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
788 imap . <Cmd>write<CR> |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
789 write |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
790 END |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
791 call writefile(lines, 'Xtest_undo_after_write', 'D') |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
792 let buf = RunVimInTerminal('-S Xtest_undo_after_write', #{rows: 6}) |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
793 |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
794 call term_sendkeys(buf, "Otest.\<CR>boo!!!\<Esc>") |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
795 sleep 100m |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
796 call term_sendkeys(buf, "u") |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
797 call VerifyScreenDump(buf, 'Test_undo_after_write_1', {}) |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
798 |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
799 call term_sendkeys(buf, "u") |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
800 call VerifyScreenDump(buf, 'Test_undo_after_write_2', {}) |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
801 |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
802 call StopVimInTerminal(buf) |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
803 call delete('Xtestfile.txt') |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
804 endfunc |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
805 |
627d4f236ac8
patch 9.0.1036: undo misbehaves when writing from an insert mode mapping
Bram Moolenaar <Bram@vim.org>
parents:
30867
diff
changeset
|
806 |
18894
aad0d64cc133
patch 8.2.0008: test72 is old style
Bram Moolenaar <Bram@vim.org>
parents:
18473
diff
changeset
|
807 " vim: shiftwidth=2 sts=2 expandtab |