mirror of
https://github.com/vim/vim
synced 2025-07-16 01:01:58 +00:00
patch 9.1.0893: No test that undofile format does not regress
Problem: No test that undofile format does not regress Solution: include a sample undofile to make sure we are always able to read it This is so, that we don't unintentionally change the undofile format and make sure we can load an undo file that has been created by an older Vim. closes: #16127 Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
1
Filelist
1
Filelist
@ -224,6 +224,7 @@ SRC_ALL = \
|
||||
src/testdir/samples/*.vim \
|
||||
src/testdir/samples/test000 \
|
||||
src/testdir/samples/test.zip \
|
||||
src/testdir/samples/test_undo.txt.undo \
|
||||
src/testdir/samples/testa.zip \
|
||||
src/testdir/color_ramp.vim \
|
||||
src/testdir/silent.wav \
|
||||
|
3
src/testdir/samples/test_undo.txt
Normal file
3
src/testdir/samples/test_undo.txt
Normal file
@ -0,0 +1,3 @@
|
||||
one
|
||||
two
|
||||
three
|
BIN
src/testdir/samples/test_undo.txt.undo
Normal file
BIN
src/testdir/samples/test_undo.txt.undo
Normal file
Binary file not shown.
@ -884,4 +884,33 @@ func Test_undo_range_normal()
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
func Test_load_existing_undofile()
|
||||
CheckFeature persistent_undo
|
||||
sp samples/test_undo.txt
|
||||
let mess=execute(':verbose rundo samples/test_undo.txt.undo')
|
||||
call assert_match('Finished reading undo file', mess)
|
||||
|
||||
call assert_equal(['one', 'two', 'three'], getline(1, '$'))
|
||||
norm! u
|
||||
call assert_equal(['one', 'two'], getline(1, '$'))
|
||||
norm! u
|
||||
call assert_equal(['one'], getline(1, '$'))
|
||||
norm! u
|
||||
call assert_equal([''], getline(1, '$'))
|
||||
let mess = execute(':norm! u')
|
||||
call assert_equal([''], getline(1, '$'))
|
||||
call assert_match('Already at oldest change', mess)
|
||||
exe ":norm! \<c-r>"
|
||||
call assert_equal(['one'], getline(1, '$'))
|
||||
exe ":norm! \<c-r>"
|
||||
call assert_equal(['one', 'two'], getline(1, '$'))
|
||||
exe ":norm! \<c-r>"
|
||||
call assert_equal(['one', 'two', 'three'], getline(1, '$'))
|
||||
let mess = execute(":norm! \<c-r>")
|
||||
call assert_equal(['one', 'two', 'three'], getline(1, '$'))
|
||||
call assert_match('Already at newest change', mess)
|
||||
bw!
|
||||
endfunc
|
||||
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
893,
|
||||
/**/
|
||||
892,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user