Mercurial > vim
comparison src/testdir/test_diffmode.vim @ 18987:e378907d79bf v8.2.0054
patch 8.2.0054: :diffget and :diffput don't have good completion
Commit: https://github.com/vim/vim/commit/ae7dba896975051a3f0b7123faa08dac5635972d
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Dec 29 13:56:33 2019 +0100
patch 8.2.0054: :diffget and :diffput don't have good completion
Problem: :diffget and :diffput don't have good completion.
Solution: Add proper completion. (Dominique Pelle, closes https://github.com/vim/vim/issues/5409)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 29 Dec 2019 14:00:04 +0100 |
parents | 788d76db02ac |
children | 0883a37ccf84 |
comparison
equal
deleted
inserted
replaced
18986:0c14e5992fcf | 18987:e378907d79bf |
---|---|
240 call assert_equal(map(range(1, 10), 'string(v:val)'), getline(1, '$')) | 240 call assert_equal(map(range(1, 10), 'string(v:val)'), getline(1, '$')) |
241 bwipe! a | 241 bwipe! a |
242 bwipe! b | 242 bwipe! b |
243 endfunc | 243 endfunc |
244 | 244 |
245 func Test_diffget_diffput_completion() | |
246 new Xdiff1 | diffthis | |
247 new Xdiff2 | diffthis | |
248 new Xdiff3 | diffthis | |
249 new Xdiff4 | |
250 | |
251 " :diffput and :diffget completes names of buffers which | |
252 " are in diff mode and which are different then current buffer. | |
253 b Xdiff1 | |
254 call feedkeys(":diffput \<C-A>\<C-B>\"\<CR>", 'tx') | |
255 call assert_equal('"diffput Xdiff2 Xdiff3', @:) | |
256 call feedkeys(":diffget \<C-A>\<C-B>\"\<CR>", 'tx') | |
257 call assert_equal('"diffget Xdiff2 Xdiff3', @:) | |
258 call assert_equal(['Xdiff2', 'Xdiff3'], getcompletion('', 'diff_buffer')) | |
259 | |
260 b Xdiff2 | |
261 call feedkeys(":diffput \<C-A>\<C-B>\"\<CR>", 'tx') | |
262 call assert_equal('"diffput Xdiff1 Xdiff3', @:) | |
263 call feedkeys(":diffget \<C-A>\<C-B>\"\<CR>", 'tx') | |
264 call assert_equal('"diffget Xdiff1 Xdiff3', @:) | |
265 call assert_equal(['Xdiff1', 'Xdiff3'], getcompletion('', 'diff_buffer')) | |
266 | |
267 b Xdiff3 | |
268 call feedkeys(":diffput \<C-A>\<C-B>\"\<CR>", 'tx') | |
269 call assert_equal('"diffput Xdiff1 Xdiff2', @:) | |
270 call feedkeys(":diffget \<C-A>\<C-B>\"\<CR>", 'tx') | |
271 call assert_equal('"diffget Xdiff1 Xdiff2', @:) | |
272 call assert_equal(['Xdiff1', 'Xdiff2'], getcompletion('', 'diff_buffer')) | |
273 | |
274 " No completion when in Xdiff4, it's not in diff mode. | |
275 b Xdiff4 | |
276 call feedkeys(":diffput \<C-A>\<C-B>\"\<CR>", 'tx') | |
277 call assert_equal('"diffput ', @:) | |
278 call feedkeys(":diffget \<C-A>\<C-B>\"\<CR>", 'tx') | |
279 call assert_equal('"diffget ', @:) | |
280 call assert_equal([], getcompletion('', 'diff_buffer')) | |
281 | |
282 %bwipe | |
283 endfunc | |
284 | |
245 func Test_dp_do_buffer() | 285 func Test_dp_do_buffer() |
246 e! one | 286 e! one |
247 let bn1=bufnr('%') | 287 let bn1=bufnr('%') |
248 let l = range(60) | 288 let l = range(60) |
249 call setline(1, l) | 289 call setline(1, l) |