Mercurial > vim
comparison src/testdir/test_writefile.vim @ 14642:96858d612aff v8.1.0334
patch 8.1.0334: 'autowrite' takes effect when buffer is not to be written
commit https://github.com/vim/vim/commit/8c9e7b00f6566dc41e794ef11c93d93b034c7134
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Aug 30 13:07:17 2018 +0200
patch 8.1.0334: 'autowrite' takes effect when buffer is not to be written
Problem: 'autowrite' takes effect when buffer is not to be written.
Solution: Don't write buffers that are not supposed to be written. (Even Q
Jones, closes #3391) Add tests for 'autowrite'.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 30 Aug 2018 13:15:06 +0200 |
parents | d6553cde1292 |
children | 63d5ae57a663 |
comparison
equal
deleted
inserted
replaced
14641:cdd20c9fd5a4 | 14642:96858d612aff |
---|---|
110 call writefile(['one'], '/dev/stdout') | 110 call writefile(['one'], '/dev/stdout') |
111 else | 111 else |
112 throw 'Skipped: /dev/stdout is not writable' | 112 throw 'Skipped: /dev/stdout is not writable' |
113 endif | 113 endif |
114 endfunc | 114 endfunc |
115 | |
116 func Test_writefile_autowrite() | |
117 set autowrite | |
118 new | |
119 next Xa Xb Xc | |
120 call setline(1, 'aaa') | |
121 next | |
122 call assert_equal(['aaa'], readfile('Xa')) | |
123 call setline(1, 'bbb') | |
124 call assert_fails('edit XX') | |
125 call assert_false(filereadable('Xb')) | |
126 | |
127 set autowriteall | |
128 edit XX | |
129 call assert_equal(['bbb'], readfile('Xb')) | |
130 | |
131 bwipe! | |
132 call delete('Xa') | |
133 call delete('Xb') | |
134 set noautowrite | |
135 endfunc | |
136 | |
137 func Test_writefile_autowrite_nowrite() | |
138 set autowrite | |
139 new | |
140 next Xa Xb Xc | |
141 set buftype=nowrite | |
142 call setline(1, 'aaa') | |
143 let buf = bufnr('%') | |
144 " buffer contents silently lost | |
145 edit XX | |
146 call assert_false(filereadable('Xa')) | |
147 rewind | |
148 call assert_equal('', getline(1)) | |
149 | |
150 bwipe! | |
151 set noautowrite | |
152 endfunc |