diff options
author | Jan Edmund Lazo <janedmundlazo@hotmail.com> | 2018-08-13 06:59:30 -0400 |
---|---|---|
committer | Jan Edmund Lazo <janedmundlazo@hotmail.com> | 2018-08-13 11:33:04 -0400 |
commit | e346c01c314bcb8e673cef72dd761b9612ea86db (patch) | |
tree | 5154fc193f4ea25c6eb8366836c5ad5b0e51a7e9 /src/nvim/testdir | |
parent | ee5cc88a73401e4352660862631117c8319950f7 (diff) | |
download | rneovim-e346c01c314bcb8e673cef72dd761b9612ea86db.tar.gz rneovim-e346c01c314bcb8e673cef72dd761b9612ea86db.tar.bz2 rneovim-e346c01c314bcb8e673cef72dd761b9612ea86db.zip |
vim-patch:8.1.0161: buffer not updated with 'autoread' set if file was deleted
Problem: Buffer not updated with 'autoread' set if file was deleted.
(Michael Naumann)
Solution: Don't set the timestamp to zero. (closes vim/vim#3165)
https://github.com/vim/vim/commit/386bc82a3f82f70bad75aaad74dba57a176b5840
Sleep 2 seconds for autoread (https://github.com/neovim/neovim/pull/7592).
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r-- | src/nvim/testdir/test_stat.vim | 56 |
1 files changed, 50 insertions, 6 deletions
diff --git a/src/nvim/testdir/test_stat.vim b/src/nvim/testdir/test_stat.vim index 0a09130b0c..8c44c2ed65 100644 --- a/src/nvim/testdir/test_stat.vim +++ b/src/nvim/testdir/test_stat.vim @@ -46,6 +46,15 @@ func Test_existent_directory() call assert_equal('rwx', getfperm(dname)[0:2]) endfunc +func SleepForTimestamp() + " FAT has a granularity of 2 seconds, otherwise it's usually 1 second + if has('win32') + sleep 2 + else + sleep 2 + endif +endfunc + func Test_checktime() let fname = 'Xtest.tmp' @@ -53,12 +62,7 @@ func Test_checktime() call writefile(fl, fname) set autoread exec 'e' fname - " FAT has a granularity of 2 seconds, otherwise it's usually 1 second - if has('win32') - sleep 2 - else - sleep 2 - endif + call SleepForTimestamp() let fl = readfile(fname) let fl[0] .= ' - checktime' call writefile(fl, fname) @@ -68,6 +72,46 @@ func Test_checktime() call delete(fname) endfunc +func Test_autoread_file_deleted() + new Xautoread + set autoread + call setline(1, 'original') + w! + + call SleepForTimestamp() + if has('win32') + silent !echo changed > Xautoread + else + silent !echo 'changed' > Xautoread + endif + checktime + call assert_equal('changed', trim(getline(1))) + + call SleepForTimestamp() + messages clear + if has('win32') + silent !del Xautoread + else + silent !rm Xautoread + endif + checktime + call assert_match('E211:', execute('messages')) + call assert_equal('changed', trim(getline(1))) + + call SleepForTimestamp() + if has('win32') + silent !echo recreated > Xautoread + else + silent !echo 'recreated' > Xautoread + endif + checktime + call assert_equal('recreated', trim(getline(1))) + + call delete('Xautoread') + bwipe! +endfunc + + func Test_nonexistent_file() let fname = 'Xtest.tmp' |