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