forked from aniani/vim
Problem: Test 72 still fails once in a while. Solution: Don't set 'fileformat' to unix, reset it. (Ken Takata)
147 lines
2.1 KiB
Plaintext
147 lines
2.1 KiB
Plaintext
Tests for undo file.
|
||
Since this script is sourced we need to explicitly break changes up in
|
||
undo-able pieces. Do that by setting 'undolevels'.
|
||
|
||
STARTTEST
|
||
:so small.vim
|
||
:"
|
||
:" Test 'undofile': first a simple one-line change.
|
||
:set nocompatible viminfo+=nviminfo visualbell
|
||
:set ul=100 undofile nomore
|
||
:e! Xtestfile
|
||
ggdGithis is one line:set ul=100
|
||
:s/one/ONE/
|
||
:set ul=100
|
||
:w
|
||
:bwipe!
|
||
:e Xtestfile
|
||
u:.w! test.out
|
||
:"
|
||
:" Test 'undofile', change in original file fails check
|
||
:set noundofile
|
||
:e! Xtestfile
|
||
:s/line/Line/
|
||
:w
|
||
:set undofile
|
||
:bwipe!
|
||
:e Xtestfile
|
||
:" TODO: this beeps
|
||
u:.w >>test.out
|
||
:"
|
||
:" Test 'undofile', add 10 lines, delete 6 lines, undo 3
|
||
:set undofile
|
||
ggdGione
|
||
two
|
||
three
|
||
four
|
||
five
|
||
six
|
||
seven
|
||
eight
|
||
nine
|
||
ten:set ul=100
|
||
3Gdd:set ul=100
|
||
dd:set ul=100
|
||
dd:set ul=100
|
||
dd:set ul=100
|
||
dd:set ul=100
|
||
dd:set ul=100
|
||
:w
|
||
:bwipe!
|
||
:e Xtestfile
|
||
uuu:w >>test.out
|
||
:"
|
||
:" Test that reading the undofiles when setting undofile works
|
||
:set noundofile ul=0
|
||
i
|
||
u:e! Xtestfile
|
||
:set undofile ul=100
|
||
uuuuuu:w >>test.out
|
||
:" And now with encryption, cryptmethod=zip
|
||
:e! Xtestfile
|
||
:set undofile cm=zip
|
||
ggdGimonday
|
||
tuesday
|
||
wednesday
|
||
thursday
|
||
friday:set ul=100
|
||
kkkdd:set ul=100
|
||
dd:set ul=100
|
||
dd:set ul=100
|
||
:X
|
||
foobar
|
||
foobar
|
||
:w!
|
||
:bwipe!
|
||
:e Xtestfile
|
||
foobar
|
||
:set key=
|
||
uu:w >>test.out
|
||
:"
|
||
:"
|
||
:" With encryption, cryptmethod=blowfish
|
||
:e! Xtestfile
|
||
rubbish
|
||
:set undofile cm=blowfish ff&
|
||
ggdGijan
|
||
feb
|
||
mar
|
||
apr
|
||
jun:set ul=100
|
||
kk0ifoo :set ul=100
|
||
dd:set ul=100
|
||
ibar :set ul=100
|
||
:X
|
||
foobar
|
||
foobar
|
||
:w!
|
||
:bwipe!
|
||
:e Xtestfile
|
||
foobar
|
||
:set key=
|
||
/bar
|
||
:.w >>test.out
|
||
u:.w >>test.out
|
||
u:.w >>test.out
|
||
u:.w >>test.out
|
||
:"
|
||
:" With encryption, cryptmethod=blowfish2
|
||
:e! Xtestfile
|
||
rubbish
|
||
:set undofile cm=blowfish2 ff&
|
||
ggdGijan
|
||
feb
|
||
mar
|
||
apr
|
||
jun:set ul=100
|
||
kk0ifoo :set ul=100
|
||
dd:set ul=100
|
||
ibar :set ul=100
|
||
:X
|
||
foo2bar
|
||
foo2bar
|
||
:w!
|
||
:bwipe!
|
||
:e Xtestfile
|
||
foo2bar
|
||
:set key=
|
||
/bar
|
||
:.w >>test.out
|
||
u:.w >>test.out
|
||
u:.w >>test.out
|
||
u:.w >>test.out
|
||
:"
|
||
:" Rename the undo file so that it gets cleaned up.
|
||
:if has("vms")
|
||
: call rename("_un_Xtestfile", "Xtestundo")
|
||
:else
|
||
: call rename(".Xtestfile.un~", "Xtestundo")
|
||
:endif
|
||
:qa!
|
||
ENDTEST
|
||
|
||
1111 -----
|
||
2222 -----
|
||
|
||
123456789
|