Bram Moolenaar | 644fdff | 2010-05-30 13:26:21 +0200 | [diff] [blame] | 1 | Tests for undo file. |
| 2 | Since this script is sourced we need to explicitly break changes up in |
| 3 | undo-able pieces. Do that by setting 'undolevels'. |
| 4 | |
| 5 | STARTTEST |
| 6 | :so small.vim |
Bram Moolenaar | c3c766e | 2017-03-08 22:55:19 +0100 | [diff] [blame^] | 7 | :set belloff=all |
Bram Moolenaar | 644fdff | 2010-05-30 13:26:21 +0200 | [diff] [blame] | 8 | :" |
| 9 | :" Test 'undofile': first a simple one-line change. |
Bram Moolenaar | dd10ce9 | 2010-08-07 13:27:48 +0200 | [diff] [blame] | 10 | :set nocompatible viminfo+=nviminfo visualbell |
Bram Moolenaar | 00ec685 | 2010-08-01 15:47:03 +0200 | [diff] [blame] | 11 | :set ul=100 undofile nomore |
Bram Moolenaar | 644fdff | 2010-05-30 13:26:21 +0200 | [diff] [blame] | 12 | :e! Xtestfile |
| 13 | ggdGithis is one line:set ul=100 |
| 14 | :s/one/ONE/ |
| 15 | :set ul=100 |
| 16 | :w |
| 17 | :bwipe! |
| 18 | :e Xtestfile |
| 19 | u:.w! test.out |
| 20 | :" |
| 21 | :" Test 'undofile', change in original file fails check |
| 22 | :set noundofile |
| 23 | :e! Xtestfile |
| 24 | :s/line/Line/ |
| 25 | :w |
| 26 | :set undofile |
| 27 | :bwipe! |
| 28 | :e Xtestfile |
| 29 | u:.w >>test.out |
| 30 | :" |
| 31 | :" Test 'undofile', add 10 lines, delete 6 lines, undo 3 |
| 32 | :set undofile |
| 33 | ggdGione |
| 34 | two |
| 35 | three |
| 36 | four |
| 37 | five |
| 38 | six |
| 39 | seven |
| 40 | eight |
| 41 | nine |
| 42 | ten:set ul=100 |
| 43 | 3Gdd:set ul=100 |
| 44 | dd:set ul=100 |
| 45 | dd:set ul=100 |
| 46 | dd:set ul=100 |
| 47 | dd:set ul=100 |
| 48 | dd:set ul=100 |
| 49 | :w |
| 50 | :bwipe! |
| 51 | :e Xtestfile |
| 52 | uuu:w >>test.out |
| 53 | :" |
Bram Moolenaar | 374d32d | 2012-01-04 19:34:37 +0100 | [diff] [blame] | 54 | :" Test that reading the undofiles when setting undofile works |
| 55 | :set noundofile ul=0 |
| 56 | i |
| 57 | u:e! Xtestfile |
| 58 | :set undofile ul=100 |
| 59 | uuuuuu:w >>test.out |
Bram Moolenaar | 0e1673a | 2010-07-30 21:49:07 +0200 | [diff] [blame] | 60 | :" And now with encryption, cryptmethod=zip |
Bram Moolenaar | a3ff49f | 2010-05-30 22:48:02 +0200 | [diff] [blame] | 61 | :e! Xtestfile |
Bram Moolenaar | 0e1673a | 2010-07-30 21:49:07 +0200 | [diff] [blame] | 62 | :set undofile cm=zip |
Bram Moolenaar | f4274fe | 2010-08-01 17:37:17 +0200 | [diff] [blame] | 63 | ggdGimonday |
Bram Moolenaar | a3ff49f | 2010-05-30 22:48:02 +0200 | [diff] [blame] | 64 | tuesday |
| 65 | wednesday |
| 66 | thursday |
| 67 | friday:set ul=100 |
| 68 | kkkdd:set ul=100 |
| 69 | dd:set ul=100 |
| 70 | dd:set ul=100 |
| 71 | :X |
| 72 | foobar |
| 73 | foobar |
| 74 | :w! |
| 75 | :bwipe! |
| 76 | :e Xtestfile |
| 77 | foobar |
| 78 | :set key= |
| 79 | uu:w >>test.out |
| 80 | :" |
| 81 | :" |
Bram Moolenaar | 0e1673a | 2010-07-30 21:49:07 +0200 | [diff] [blame] | 82 | :" With encryption, cryptmethod=blowfish |
Bram Moolenaar | a3ff49f | 2010-05-30 22:48:02 +0200 | [diff] [blame] | 83 | :e! Xtestfile |
Bram Moolenaar | 8f4ac01 | 2014-08-10 13:38:34 +0200 | [diff] [blame] | 84 | rubbish |
Bram Moolenaar | 72971a2 | 2014-11-05 16:39:28 +0100 | [diff] [blame] | 85 | :set undofile cm=blowfish ff& |
Bram Moolenaar | f4274fe | 2010-08-01 17:37:17 +0200 | [diff] [blame] | 86 | ggdGijan |
Bram Moolenaar | a3ff49f | 2010-05-30 22:48:02 +0200 | [diff] [blame] | 87 | feb |
| 88 | mar |
| 89 | apr |
| 90 | jun:set ul=100 |
| 91 | kk0ifoo :set ul=100 |
| 92 | dd:set ul=100 |
| 93 | ibar :set ul=100 |
| 94 | :X |
| 95 | foobar |
| 96 | foobar |
| 97 | :w! |
| 98 | :bwipe! |
| 99 | :e Xtestfile |
| 100 | foobar |
| 101 | :set key= |
| 102 | /bar |
| 103 | :.w >>test.out |
| 104 | u:.w >>test.out |
| 105 | u:.w >>test.out |
| 106 | u:.w >>test.out |
| 107 | :" |
Bram Moolenaar | 8f4ac01 | 2014-08-10 13:38:34 +0200 | [diff] [blame] | 108 | :" With encryption, cryptmethod=blowfish2 |
| 109 | :e! Xtestfile |
| 110 | rubbish |
Bram Moolenaar | 72971a2 | 2014-11-05 16:39:28 +0100 | [diff] [blame] | 111 | :set undofile cm=blowfish2 ff& |
Bram Moolenaar | 8f4ac01 | 2014-08-10 13:38:34 +0200 | [diff] [blame] | 112 | ggdGijan |
| 113 | feb |
| 114 | mar |
| 115 | apr |
| 116 | jun:set ul=100 |
| 117 | kk0ifoo :set ul=100 |
| 118 | dd:set ul=100 |
| 119 | ibar :set ul=100 |
| 120 | :X |
| 121 | foo2bar |
| 122 | foo2bar |
| 123 | :w! |
| 124 | :bwipe! |
| 125 | :e Xtestfile |
| 126 | foo2bar |
| 127 | :set key= |
| 128 | /bar |
| 129 | :.w >>test.out |
| 130 | u:.w >>test.out |
| 131 | u:.w >>test.out |
| 132 | u:.w >>test.out |
| 133 | :" |
Bram Moolenaar | 644fdff | 2010-05-30 13:26:21 +0200 | [diff] [blame] | 134 | :" Rename the undo file so that it gets cleaned up. |
Bram Moolenaar | 206f011 | 2014-03-12 16:51:55 +0100 | [diff] [blame] | 135 | :if has("vms") |
| 136 | : call rename("_un_Xtestfile", "Xtestundo") |
| 137 | :else |
| 138 | : call rename(".Xtestfile.un~", "Xtestundo") |
| 139 | :endif |
Bram Moolenaar | 644fdff | 2010-05-30 13:26:21 +0200 | [diff] [blame] | 140 | :qa! |
| 141 | ENDTEST |
| 142 | |
| 143 | 1111 ----- |
| 144 | 2222 ----- |
| 145 | |
| 146 | 123456789 |