annotate src/testdir/test_quickfix.vim @ 11378:2ed7a34ecc54 v8.0.0574

patch 8.0.0574: get only one quickfix list after :caddbuf commit https://github.com/vim/vim/commit/99895eac1cf71be43ece7e14b50e206e041fbe9f Author: Bram Moolenaar <Bram@vim.org> Date: Thu Apr 20 22:44:47 2017 +0200 patch 8.0.0574: get only one quickfix list after :caddbuf Problem: Get only one quickfix list after :caddbuf. Solution: Reset qf_multiline. (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Thu, 20 Apr 2017 22:45:04 +0200
parents cc8ece2aa389
children c3ebb7d533c6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test for the quickfix commands.
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 if !has('quickfix')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 finish
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 endif
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6
8649
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
7 set encoding=utf-8
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
8
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
9 func s:setup_commands(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
10 if a:cchar == 'c'
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
11 command! -nargs=* -bang Xlist <mods>clist<bang> <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
12 command! -nargs=* Xgetexpr <mods>cgetexpr <args>
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
13 command! -nargs=* Xaddexpr <mods>caddexpr <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
14 command! -nargs=* Xolder <mods>colder <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
15 command! -nargs=* Xnewer <mods>cnewer <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
16 command! -nargs=* Xopen <mods>copen <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
17 command! -nargs=* Xwindow <mods>cwindow <args>
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
18 command! -nargs=* Xbottom <mods>cbottom <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
19 command! -nargs=* Xclose <mods>cclose <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
20 command! -nargs=* -bang Xfile <mods>cfile<bang> <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
21 command! -nargs=* Xgetfile <mods>cgetfile <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
22 command! -nargs=* Xaddfile <mods>caddfile <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
23 command! -nargs=* -bang Xbuffer <mods>cbuffer<bang> <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
24 command! -nargs=* Xgetbuffer <mods>cgetbuffer <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
25 command! -nargs=* Xaddbuffer <mods>caddbuffer <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
26 command! -nargs=* Xrewind <mods>crewind <args>
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
27 command! -count -nargs=* -bang Xnext <mods><count>cnext<bang> <args>
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
28 command! -count -nargs=* -bang Xprev <mods><count>cprev<bang> <args>
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
29 command! -nargs=* -bang Xfirst <mods>cfirst<bang> <args>
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
30 command! -nargs=* -bang Xlast <mods>clast<bang> <args>
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
31 command! -nargs=* -bang Xnfile <mods>cnfile<bang> <args>
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
32 command! -nargs=* -bang Xpfile <mods>cpfile<bang> <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
33 command! -nargs=* Xexpr <mods>cexpr <args>
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
34 command! -range -nargs=* Xvimgrep <mods><count>vimgrep <args>
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
35 command! -nargs=* Xvimgrepadd <mods>vimgrepadd <args>
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
36 command! -nargs=* Xgrep <mods> grep <args>
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
37 command! -nargs=* Xgrepadd <mods> grepadd <args>
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
38 command! -nargs=* Xhelpgrep helpgrep <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
39 let g:Xgetlist = function('getqflist')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
40 let g:Xsetlist = function('setqflist')
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
41 call setqflist([], 'f')
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
42 else
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
43 command! -nargs=* -bang Xlist <mods>llist<bang> <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
44 command! -nargs=* Xgetexpr <mods>lgetexpr <args>
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
45 command! -nargs=* Xaddexpr <mods>laddexpr <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
46 command! -nargs=* Xolder <mods>lolder <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
47 command! -nargs=* Xnewer <mods>lnewer <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
48 command! -nargs=* Xopen <mods>lopen <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
49 command! -nargs=* Xwindow <mods>lwindow <args>
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
50 command! -nargs=* Xbottom <mods>lbottom <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
51 command! -nargs=* Xclose <mods>lclose <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
52 command! -nargs=* -bang Xfile <mods>lfile<bang> <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
53 command! -nargs=* Xgetfile <mods>lgetfile <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
54 command! -nargs=* Xaddfile <mods>laddfile <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
55 command! -nargs=* -bang Xbuffer <mods>lbuffer<bang> <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
56 command! -nargs=* Xgetbuffer <mods>lgetbuffer <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
57 command! -nargs=* Xaddbuffer <mods>laddbuffer <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
58 command! -nargs=* Xrewind <mods>lrewind <args>
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
59 command! -count -nargs=* -bang Xnext <mods><count>lnext<bang> <args>
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
60 command! -count -nargs=* -bang Xprev <mods><count>lprev<bang> <args>
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
61 command! -nargs=* -bang Xfirst <mods>lfirst<bang> <args>
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
62 command! -nargs=* -bang Xlast <mods>llast<bang> <args>
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
63 command! -nargs=* -bang Xnfile <mods>lnfile<bang> <args>
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
64 command! -nargs=* -bang Xpfile <mods>lpfile<bang> <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
65 command! -nargs=* Xexpr <mods>lexpr <args>
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
66 command! -range -nargs=* Xvimgrep <mods><count>lvimgrep <args>
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
67 command! -nargs=* Xvimgrepadd <mods>lvimgrepadd <args>
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
68 command! -nargs=* Xgrep <mods> lgrep <args>
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
69 command! -nargs=* Xgrepadd <mods> lgrepadd <args>
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
70 command! -nargs=* Xhelpgrep lhelpgrep <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
71 let g:Xgetlist = function('getloclist', [0])
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
72 let g:Xsetlist = function('setloclist', [0])
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
73 call setloclist(0, [], 'f')
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
74 endif
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
75 endfunc
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
76
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
77 " Tests for the :clist and :llist commands
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
78 func XlistTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
79 call s:setup_commands(a:cchar)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
80
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
81 if a:cchar == 'l'
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
82 call assert_fails('llist', 'E776:')
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
83 endif
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
84 " With an empty list, command should return error
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
85 Xgetexpr []
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
86 silent! Xlist
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
87 call assert_true(v:errmsg ==# 'E42: No Errors')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
88
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
89 " Populate the list and then try
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
90 Xgetexpr ['non-error 1', 'Xtestfile1:1:3:Line1',
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
91 \ 'non-error 2', 'Xtestfile2:2:2:Line2',
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
92 \ 'non-error 3', 'Xtestfile3:3:1:Line3']
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
93
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
94 " List only valid entries
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
95 let l = split(execute('Xlist', ''), "\n")
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
96 call assert_equal([' 2 Xtestfile1:1 col 3: Line1',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
97 \ ' 4 Xtestfile2:2 col 2: Line2',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
98 \ ' 6 Xtestfile3:3 col 1: Line3'], l)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
99
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
100 " List all the entries
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
101 let l = split(execute('Xlist!', ''), "\n")
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
102 call assert_equal([' 1: non-error 1', ' 2 Xtestfile1:1 col 3: Line1',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
103 \ ' 3: non-error 2', ' 4 Xtestfile2:2 col 2: Line2',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
104 \ ' 5: non-error 3', ' 6 Xtestfile3:3 col 1: Line3'], l)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
105
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
106 " List a range of errors
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
107 let l = split(execute('Xlist 3,6', ''), "\n")
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
108 call assert_equal([' 4 Xtestfile2:2 col 2: Line2',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
109 \ ' 6 Xtestfile3:3 col 1: Line3'], l)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
110
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
111 let l = split(execute('Xlist! 3,4', ''), "\n")
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
112 call assert_equal([' 3: non-error 2', ' 4 Xtestfile2:2 col 2: Line2'], l)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
113
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
114 let l = split(execute('Xlist -6,-4', ''), "\n")
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
115 call assert_equal([' 2 Xtestfile1:1 col 3: Line1'], l)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
116
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
117 let l = split(execute('Xlist! -5,-3', ''), "\n")
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
118 call assert_equal([' 2 Xtestfile1:1 col 3: Line1',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
119 \ ' 3: non-error 2', ' 4 Xtestfile2:2 col 2: Line2'], l)
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
120
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
121 " Test for '+'
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
122 let l = split(execute('Xlist! +2', ''), "\n")
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
123 call assert_equal([' 2 Xtestfile1:1 col 3: Line1',
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
124 \ ' 3: non-error 2', ' 4 Xtestfile2:2 col 2: Line2'], l)
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
125
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
126 " Different types of errors
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
127 call g:Xsetlist([{'lnum':10,'col':5,'type':'W', 'text':'Warning','nr':11},
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
128 \ {'lnum':20,'col':10,'type':'e','text':'Error','nr':22},
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
129 \ {'lnum':30,'col':15,'type':'i','text':'Info','nr':33},
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
130 \ {'lnum':40,'col':20,'type':'x', 'text':'Other','nr':44},
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
131 \ {'lnum':50,'col':25,'type':"\<C-A>",'text':'one','nr':55}])
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
132 let l = split(execute('Xlist', ""), "\n")
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
133 call assert_equal([' 1:10 col 5 warning 11: Warning',
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
134 \ ' 2:20 col 10 error 22: Error',
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
135 \ ' 3:30 col 15 info 33: Info',
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
136 \ ' 4:40 col 20 x 44: Other',
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
137 \ ' 5:50 col 25 55: one'], l)
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
138
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
139 " Error cases
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
140 call assert_fails('Xlist abc', 'E488:')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
141 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
142
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
143 func Test_clist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
144 call XlistTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
145 call XlistTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
146 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
147
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
148 " Tests for the :colder, :cnewer, :lolder and :lnewer commands
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
149 " Note that this test assumes that a quickfix/location list is
7540
b910bb01832a commit https://github.com/vim/vim/commit/cfc0a350a9fa04f1b0cfa1ba31fbd2847376513f
Christian Brabandt <cb@256bit.org>
parents: 7513
diff changeset
150 " already set by the caller.
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
151 func XageTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
152 call s:setup_commands(a:cchar)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
153
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
154 let list = [{'bufnr': 1, 'lnum': 1}]
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
155 call g:Xsetlist(list)
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
156
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
157 " Jumping to a non existent list should return error
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
158 silent! Xolder 99
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
159 call assert_true(v:errmsg ==# 'E380: At bottom of quickfix stack')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
160
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
161 silent! Xnewer 99
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
162 call assert_true(v:errmsg ==# 'E381: At top of quickfix stack')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
163
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
164 " Add three quickfix/location lists
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
165 Xgetexpr ['Xtestfile1:1:3:Line1']
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
166 Xgetexpr ['Xtestfile2:2:2:Line2']
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
167 Xgetexpr ['Xtestfile3:3:1:Line3']
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
168
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
169 " Go back two lists
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
170 Xolder
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
171 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
172 call assert_equal('Line2', l[0].text)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
173
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
174 " Go forward two lists
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
175 Xnewer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
176 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
177 call assert_equal('Line3', l[0].text)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
178
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
179 " Test for the optional count argument
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
180 Xolder 2
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
181 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
182 call assert_equal('Line1', l[0].text)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
183
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
184 Xnewer 2
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
185 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
186 call assert_equal('Line3', l[0].text)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
187 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
188
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
189 func Test_cage()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
190 call XageTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
191 call XageTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
192 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
193
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
194 " Tests for the :cwindow, :lwindow :cclose, :lclose, :copen and :lopen
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
195 " commands
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
196 func XwindowTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
197 call s:setup_commands(a:cchar)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
198
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
199 " Opening the location list window without any errors should fail
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
200 if a:cchar == 'l'
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
201 call assert_fails('lopen', 'E776:')
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
202 endif
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
203
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
204 " Create a list with no valid entries
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
205 Xgetexpr ['non-error 1', 'non-error 2', 'non-error 3']
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
206
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
207 " Quickfix/Location window should not open with no valid errors
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
208 Xwindow
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
209 call assert_true(winnr('$') == 1)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
210
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
211 " Create a list with valid entries
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
212 Xgetexpr ['Xtestfile1:1:3:Line1', 'Xtestfile2:2:2:Line2',
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
213 \ 'Xtestfile3:3:1:Line3']
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
214
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
215 " Open the window
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
216 Xwindow
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
217 call assert_true(winnr('$') == 2 && winnr() == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
218 \ getline('.') ==# 'Xtestfile1|1 col 3| Line1')
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
219 redraw!
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
220
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
221 " Close the window
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
222 Xclose
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
223 call assert_true(winnr('$') == 1)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
224
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
225 " Create a list with no valid entries
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
226 Xgetexpr ['non-error 1', 'non-error 2', 'non-error 3']
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
227
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
228 " Open the window
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
229 Xopen 5
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
230 call assert_true(winnr('$') == 2 && getline('.') ==# '|| non-error 1'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
231 \ && winheight('.') == 5)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
232
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
233 " Opening the window again, should move the cursor to that window
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
234 wincmd t
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
235 Xopen 7
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
236 call assert_true(winnr('$') == 2 && winnr() == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
237 \ winheight('.') == 7 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
238 \ getline('.') ==# '|| non-error 1')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
239
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
240
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
241 " Calling cwindow should close the quickfix window with no valid errors
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
242 Xwindow
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
243 call assert_true(winnr('$') == 1)
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
244
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
245 if a:cchar == 'c'
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
246 " Opening the quickfix window in multiple tab pages should reuse the
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
247 " quickfix buffer
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
248 Xgetexpr ['Xtestfile1:1:3:Line1', 'Xtestfile2:2:2:Line2',
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
249 \ 'Xtestfile3:3:1:Line3']
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
250 Xopen
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
251 let qfbufnum = bufnr('%')
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
252 tabnew
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
253 Xopen
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
254 call assert_equal(qfbufnum, bufnr('%'))
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
255 new | only | tabonly
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
256 endif
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
257 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
258
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
259 func Test_cwindow()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
260 call XwindowTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
261 call XwindowTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
262 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
263
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
264 " Tests for the :cfile, :lfile, :caddfile, :laddfile, :cgetfile and :lgetfile
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
265 " commands.
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
266 func XfileTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
267 call s:setup_commands(a:cchar)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
268
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
269 call writefile(['Xtestfile1:700:10:Line 700',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
270 \ 'Xtestfile2:800:15:Line 800'], 'Xqftestfile1')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
271
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
272 enew!
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
273 Xfile Xqftestfile1
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
274 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
275 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
276 \ l[0].lnum == 700 && l[0].col == 10 && l[0].text ==# 'Line 700' &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
277 \ l[1].lnum == 800 && l[1].col == 15 && l[1].text ==# 'Line 800')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
278
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
279 " Test with a non existent file
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
280 call assert_fails('Xfile non_existent_file', 'E40')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
281
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
282 " Run cfile/lfile from a modified buffer
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
283 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
284 silent! put ='Quickfix'
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
285 silent! Xfile Xqftestfile1
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
286 call assert_true(v:errmsg ==# 'E37: No write since last change (add ! to override)')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
287
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
288 call writefile(['Xtestfile3:900:30:Line 900'], 'Xqftestfile1')
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
289 Xaddfile Xqftestfile1
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
290 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
291 call assert_true(len(l) == 3 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
292 \ l[2].lnum == 900 && l[2].col == 30 && l[2].text ==# 'Line 900')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
293
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
294 call writefile(['Xtestfile1:222:77:Line 222',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
295 \ 'Xtestfile2:333:88:Line 333'], 'Xqftestfile1')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
296
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
297 enew!
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
298 Xgetfile Xqftestfile1
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
299 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
300 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
301 \ l[0].lnum == 222 && l[0].col == 77 && l[0].text ==# 'Line 222' &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
302 \ l[1].lnum == 333 && l[1].col == 88 && l[1].text ==# 'Line 333')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
303
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
304 call delete('Xqftestfile1')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
305 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
306
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
307 func Test_cfile()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
308 call XfileTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
309 call XfileTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
310 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
311
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
312 " Tests for the :cbuffer, :lbuffer, :caddbuffer, :laddbuffer, :cgetbuffer and
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
313 " :lgetbuffer commands.
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
314 func XbufferTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
315 call s:setup_commands(a:cchar)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
316
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
317 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
318 silent! call setline(1, ['Xtestfile7:700:10:Line 700',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
319 \ 'Xtestfile8:800:15:Line 800'])
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
320 Xbuffer!
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
321 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
322 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
323 \ l[0].lnum == 700 && l[0].col == 10 && l[0].text ==# 'Line 700' &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
324 \ l[1].lnum == 800 && l[1].col == 15 && l[1].text ==# 'Line 800')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
325
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
326 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
327 silent! call setline(1, ['Xtestfile9:900:55:Line 900',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
328 \ 'Xtestfile10:950:66:Line 950'])
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
329 Xgetbuffer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
330 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
331 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
332 \ l[0].lnum == 900 && l[0].col == 55 && l[0].text ==# 'Line 900' &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
333 \ l[1].lnum == 950 && l[1].col == 66 && l[1].text ==# 'Line 950')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
334
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
335 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
336 silent! call setline(1, ['Xtestfile11:700:20:Line 700',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
337 \ 'Xtestfile12:750:25:Line 750'])
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
338 Xaddbuffer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
339 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
340 call assert_true(len(l) == 4 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
341 \ l[1].lnum == 950 && l[1].col == 66 && l[1].text ==# 'Line 950' &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
342 \ l[2].lnum == 700 && l[2].col == 20 && l[2].text ==# 'Line 700' &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
343 \ l[3].lnum == 750 && l[3].col == 25 && l[3].text ==# 'Line 750')
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
344 enew!
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
345
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
346 " Check for invalid buffer
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
347 call assert_fails('Xbuffer 199', 'E474:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
348
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
349 " Check for unloaded buffer
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
350 edit Xtestfile1
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
351 let bnr = bufnr('%')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
352 enew!
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
353 call assert_fails('Xbuffer ' . bnr, 'E681:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
354
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
355 " Check for invalid range
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
356 " Using Xbuffer will not run the range check in the cbuffer/lbuffer
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
357 " commands. So directly call the commands.
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
358 if (a:cchar == 'c')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
359 call assert_fails('900,999cbuffer', 'E16:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
360 else
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
361 call assert_fails('900,999lbuffer', 'E16:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
362 endif
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
363 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
364
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
365 func Test_cbuffer()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
366 call XbufferTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
367 call XbufferTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
368 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
369
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
370 func XexprTests(cchar)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
371 call s:setup_commands(a:cchar)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
372
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
373 call assert_fails('Xexpr 10', 'E777:')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
374 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
375
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
376 func Test_cexpr()
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
377 call XexprTests('c')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
378 call XexprTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
379 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
380
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
381 " Tests for :cnext, :cprev, :cfirst, :clast commands
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
382 func Xtest_browse(cchar)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
383 call s:setup_commands(a:cchar)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
384
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
385 " Jumping to first or next location list entry without any error should
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
386 " result in failure
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
387 if a:cchar == 'l'
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
388 call assert_fails('lfirst', 'E776:')
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
389 call assert_fails('lnext', 'E776:')
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
390 endif
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
391
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
392 call s:create_test_file('Xqftestfile1')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
393 call s:create_test_file('Xqftestfile2')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
394
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
395 Xgetexpr ['Xqftestfile1:5:Line5',
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
396 \ 'Xqftestfile1:6:Line6',
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
397 \ 'Xqftestfile2:10:Line10',
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
398 \ 'Xqftestfile2:11:Line11',
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
399 \ 'RegularLine1',
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
400 \ 'RegularLine2']
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
401
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
402 Xfirst
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
403 call assert_fails('Xprev', 'E553')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
404 call assert_fails('Xpfile', 'E553')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
405 Xnfile
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
406 call assert_equal('Xqftestfile2', bufname('%'))
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
407 call assert_equal(10, line('.'))
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
408 Xpfile
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
409 call assert_equal('Xqftestfile1', bufname('%'))
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
410 call assert_equal(6, line('.'))
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
411 Xlast
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
412 Xprev
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
413 call assert_equal('Xqftestfile2', bufname('%'))
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
414 call assert_equal(11, line('.'))
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
415 call assert_fails('Xnext', 'E553')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
416 call assert_fails('Xnfile', 'E553')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
417 Xrewind
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
418 call assert_equal('Xqftestfile1', bufname('%'))
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
419 call assert_equal(5, line('.'))
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
420
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
421 10Xnext
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
422 call assert_equal('Xqftestfile2', bufname('%'))
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
423 call assert_equal(11, line('.'))
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
424 10Xprev
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
425 call assert_equal('Xqftestfile1', bufname('%'))
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
426 call assert_equal(5, line('.'))
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
427
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
428 Xexpr ""
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
429 call assert_fails('Xnext', 'E42:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
430
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
431 call delete('Xqftestfile1')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
432 call delete('Xqftestfile2')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
433 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
434
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
435 func Test_browse()
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
436 call Xtest_browse('c')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
437 call Xtest_browse('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
438 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
439
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
440 func Test_nomem()
9121
7350959e53c3 commit https://github.com/vim/vim/commit/8e8df251bf2505e5decf258397c6069fbe5e2e01
Christian Brabandt <cb@256bit.org>
parents: 9114
diff changeset
441 call test_alloc_fail(GetAllocId('qf_dirname_start'), 0, 0)
7593
87e607fb6853 commit https://github.com/vim/vim/commit/a260b87d9da17f605666630f18c1ed909c2b8bae
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
442 call assert_fails('vimgrep vim runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
443
9121
7350959e53c3 commit https://github.com/vim/vim/commit/8e8df251bf2505e5decf258397c6069fbe5e2e01
Christian Brabandt <cb@256bit.org>
parents: 9114
diff changeset
444 call test_alloc_fail(GetAllocId('qf_dirname_now'), 0, 0)
7593
87e607fb6853 commit https://github.com/vim/vim/commit/a260b87d9da17f605666630f18c1ed909c2b8bae
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
445 call assert_fails('vimgrep vim runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
446
9121
7350959e53c3 commit https://github.com/vim/vim/commit/8e8df251bf2505e5decf258397c6069fbe5e2e01
Christian Brabandt <cb@256bit.org>
parents: 9114
diff changeset
447 call test_alloc_fail(GetAllocId('qf_namebuf'), 0, 0)
7593
87e607fb6853 commit https://github.com/vim/vim/commit/a260b87d9da17f605666630f18c1ed909c2b8bae
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
448 call assert_fails('cfile runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
449
9121
7350959e53c3 commit https://github.com/vim/vim/commit/8e8df251bf2505e5decf258397c6069fbe5e2e01
Christian Brabandt <cb@256bit.org>
parents: 9114
diff changeset
450 call test_alloc_fail(GetAllocId('qf_errmsg'), 0, 0)
7593
87e607fb6853 commit https://github.com/vim/vim/commit/a260b87d9da17f605666630f18c1ed909c2b8bae
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
451 call assert_fails('cfile runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
452
9121
7350959e53c3 commit https://github.com/vim/vim/commit/8e8df251bf2505e5decf258397c6069fbe5e2e01
Christian Brabandt <cb@256bit.org>
parents: 9114
diff changeset
453 call test_alloc_fail(GetAllocId('qf_pattern'), 0, 0)
7593
87e607fb6853 commit https://github.com/vim/vim/commit/a260b87d9da17f605666630f18c1ed909c2b8bae
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
454 call assert_fails('cfile runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
455
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
456 endfunc
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
457
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
458 func s:test_xhelpgrep(cchar)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
459 call s:setup_commands(a:cchar)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
460 Xhelpgrep quickfix
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
461 Xopen
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
462 if a:cchar == 'c'
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
463 let title_text = ':helpgrep quickfix'
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
464 else
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
465 let title_text = ':lhelpgrep quickfix'
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
466 endif
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
467 call assert_true(w:quickfix_title =~ title_text, w:quickfix_title)
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
468
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
469 " Jumping to a help topic should open the help window
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
470 only
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
471 Xnext
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
472 call assert_true(&buftype == 'help')
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
473 call assert_true(winnr('$') == 2)
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
474 " Jumping to the next match should reuse the help window
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
475 Xnext
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
476 call assert_true(&buftype == 'help')
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
477 call assert_true(winnr() == 1)
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
478 call assert_true(winnr('$') == 2)
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
479 " Jumping to the next match from the quickfix window should reuse the help
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
480 " window
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
481 Xopen
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
482 Xnext
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
483 call assert_true(&buftype == 'help')
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
484 call assert_true(winnr() == 1)
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
485 call assert_true(winnr('$') == 2)
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
486
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
487 " This wipes out the buffer, make sure that doesn't cause trouble.
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
488 Xclose
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
489
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
490 new | only
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
491
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
492 " Search for non existing help string
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
493 call assert_fails('Xhelpgrep a1b2c3', 'E480:')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
494 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
495
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
496 func Test_helpgrep()
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
497 call s:test_xhelpgrep('c')
9752
429be545637a commit https://github.com/vim/vim/commit/cf25fdb8f10a92b3bf9e295c466c1b69812b7886
Christian Brabandt <cb@256bit.org>
parents: 9608
diff changeset
498 helpclose
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
499 call s:test_xhelpgrep('l')
7677
85a7a945fb87 commit https://github.com/vim/vim/commit/62ef797496c6243d111c596a592a8ef8c1d1e710
Christian Brabandt <cb@256bit.org>
parents: 7593
diff changeset
500 endfunc
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
501
7710
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
502 func Test_errortitle()
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
503 augroup QfBufWinEnter
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
504 au!
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
505 au BufWinEnter * :let g:a=get(w:, 'quickfix_title', 'NONE')
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
506 augroup END
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
507 copen
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
508 let a=[{'lnum': 308, 'bufnr': bufnr(''), 'col': 58, 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'pattern': '', 'text': ' au BufWinEnter * :let g:a=get(w:, ''quickfix_title'', ''NONE'')'}]
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
509 call setqflist(a)
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
510 call assert_equal(':setqflist()', g:a)
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
511 augroup QfBufWinEnter
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
512 au!
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
513 augroup END
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
514 augroup! QfBufWinEnter
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
515 endfunc
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
516
8603
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
517 func Test_vimgreptitle()
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
518 augroup QfBufWinEnter
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
519 au!
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
520 au BufWinEnter * :let g:a=get(w:, 'quickfix_title', 'NONE')
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
521 augroup END
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
522 try
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
523 vimgrep /pattern/j file
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
524 catch /E480/
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
525 endtry
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
526 copen
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
527 call assert_equal(': vimgrep /pattern/j file', g:a)
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
528 augroup QfBufWinEnter
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
529 au!
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
530 augroup END
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
531 augroup! QfBufWinEnter
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
532 endfunc
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
533
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
534 func XqfTitleTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
535 call s:setup_commands(a:cchar)
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
536
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
537 Xgetexpr ['file:1:1:message']
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
538 let l = g:Xgetlist()
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
539 if a:cchar == 'c'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
540 call setqflist(l, 'r')
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
541 else
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
542 call setloclist(0, l, 'r')
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
543 endif
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
544
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
545 Xopen
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
546 if a:cchar == 'c'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
547 let title = ':setqflist()'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
548 else
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
549 let title = ':setloclist()'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
550 endif
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
551 call assert_equal(title, w:quickfix_title)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
552 Xclose
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
553 endfunc
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
554
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
555 " Tests for quickfix window's title
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
556 func Test_qf_title()
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
557 call XqfTitleTests('c')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
558 call XqfTitleTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
559 endfunc
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
560
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
561 " Tests for 'errorformat'
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
562 func Test_efm()
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
563 let save_efm = &efm
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
564 set efm=%EEEE%m,%WWWW%m,%+CCCC%.%#,%-GGGG%.%#
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
565 cgetexpr ['WWWW', 'EEEE', 'CCCC']
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
566 let l = strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
567 call assert_equal("[['W', 1], ['E^@CCCC', 1]]", l)
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
568 cgetexpr ['WWWW', 'GGGG', 'EEEE', 'CCCC']
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
569 let l = strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
570 call assert_equal("[['W', 1], ['E^@CCCC', 1]]", l)
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
571 cgetexpr ['WWWW', 'GGGG', 'ZZZZ', 'EEEE', 'CCCC', 'YYYY']
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
572 let l = strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]')))
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
573 call assert_equal("[['W', 1], ['ZZZZ', 0], ['E^@CCCC', 1], ['YYYY', 0]]", l)
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
574 let &efm = save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
575 endfunc
8597
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
576
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
577 " This will test for problems in quickfix:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
578 " A. incorrectly copying location lists which caused the location list to show
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
579 " a different name than the file that was actually being displayed.
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
580 " B. not reusing the window for which the location list window is opened but
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
581 " instead creating new windows.
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
582 " C. make sure that the location list window is not reused instead of the
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
583 " window it belongs to.
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
584 "
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
585 " Set up the test environment:
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
586 func ReadTestProtocol(name)
8597
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
587 let base = substitute(a:name, '\v^test://(.*)%(\.[^.]+)?', '\1', '')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
588 let word = substitute(base, '\v(.*)\..*', '\1', '')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
589
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
590 setl modifiable
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
591 setl noreadonly
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
592 setl noswapfile
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
593 setl bufhidden=delete
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
594 %del _
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
595 " For problem 2:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
596 " 'buftype' has to be set to reproduce the constant opening of new windows
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
597 setl buftype=nofile
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
598
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
599 call setline(1, word)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
600
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
601 setl nomodified
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
602 setl nomodifiable
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
603 setl readonly
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
604 exe 'doautocmd BufRead ' . substitute(a:name, '\v^test://(.*)', '\1', '')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
605 endfunc
8597
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
606
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
607 func Test_locationlist()
8597
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
608 enew
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
609
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
610 augroup testgroup
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
611 au!
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
612 autocmd BufReadCmd test://* call ReadTestProtocol(expand("<amatch>"))
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
613 augroup END
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
614
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
615 let words = [ "foo", "bar", "baz", "quux", "shmoo", "spam", "eggs" ]
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
616
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
617 let qflist = []
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
618 for word in words
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
619 call add(qflist, {'filename': 'test://' . word . '.txt', 'text': 'file ' . word . '.txt', })
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
620 " NOTE: problem 1:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
621 " intentionally not setting 'lnum' so that the quickfix entries are not
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
622 " valid
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
623 call setloclist(0, qflist, ' ')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
624 endfor
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
625
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
626 " Test A
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
627 lrewind
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
628 enew
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
629 lopen
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
630 4lnext
8597
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
631 vert split
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
632 wincmd L
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
633 lopen
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
634 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
635 lnext
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
636 let fileName = expand("%")
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
637 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
638 let locationListFileName = substitute(getline(line('.')), '\([^|]*\)|.*', '\1', '')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
639 let fileName = substitute(fileName, '\\', '/', 'g')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
640 let locationListFileName = substitute(locationListFileName, '\\', '/', 'g')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
641 call assert_equal("test://bar.txt", fileName)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
642 call assert_equal("test://bar.txt", locationListFileName)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
643
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
644 wincmd n | only
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
645
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
646 " Test B:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
647 lrewind
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
648 lopen
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
649 2
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
650 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
651 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
652 3
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
653 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
654 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
655 4
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
656 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
657 call assert_equal(2, winnr('$'))
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
658 wincmd n | only
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
659
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
660 " Test C:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
661 lrewind
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
662 lopen
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
663 " Let's move the location list window to the top to check whether it (the
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
664 " first window found) will be reused when we try to open new windows:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
665 wincmd K
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
666 2
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
667 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
668 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
669 3
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
670 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
671 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
672 4
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
673 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
674 1wincmd w
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
675 call assert_equal('quickfix', &buftype)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
676 2wincmd w
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
677 let bufferName = expand("%")
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
678 let bufferName = substitute(bufferName, '\\', '/', 'g')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
679 call assert_equal('test://quux.txt', bufferName)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
680
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
681 wincmd n | only
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
682
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
683 augroup! testgroup
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
684 endfunc
8605
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
685
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
686 func Test_locationlist_curwin_was_closed()
8605
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
687 augroup testgroup
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
688 au!
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
689 autocmd BufReadCmd test_curwin.txt call R(expand("<amatch>"))
8605
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
690 augroup END
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
691
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
692 func! R(n)
8605
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
693 quit
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
694 endfunc
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
695
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
696 new
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
697 let q = []
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
698 call add(q, {'filename': 'test_curwin.txt' })
8605
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
699 call setloclist(0, q)
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
700 call assert_fails('lrewind', 'E924:')
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
701
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
702 augroup! testgroup
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
703 endfunc
8649
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
704
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
705 func Test_locationlist_cross_tab_jump()
10281
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
706 call writefile(['loclistfoo'], 'loclistfoo')
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
707 call writefile(['loclistbar'], 'loclistbar')
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
708 set switchbuf=usetab
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
709
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
710 edit loclistfoo
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
711 tabedit loclistbar
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
712 silent lgrep loclistfoo loclist*
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
713 call assert_equal(1, tabpagenr())
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
714
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
715 enew | only | tabonly
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
716 set switchbuf&vim
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
717 call delete('loclistfoo')
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
718 call delete('loclistbar')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
719 endfunc
10281
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
720
8649
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
721 " More tests for 'errorformat'
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
722 func Test_efm1()
8649
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
723 if !has('unix')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
724 " The 'errorformat' setting is different on non-Unix systems.
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
725 " This test works only on Unix-like systems.
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
726 return
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
727 endif
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
728
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
729 let l = [
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
730 \ '"Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
731 \ '"Xtestfile", line 6 col 19; this is an error',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
732 \ 'gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
733 \ 'Xtestfile:9: parse error before `asd''',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
734 \ 'make: *** [vim] Error 1',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
735 \ 'in file "Xtestfile" linenr 10: there is an error',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
736 \ '',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
737 \ '2 returned',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
738 \ '"Xtestfile", line 11 col 1; this is an error',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
739 \ '"Xtestfile", line 12 col 2; this is another error',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
740 \ '"Xtestfile", line 14:10; this is an error in column 10',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
741 \ '=Xtestfile=, line 15:10; this is another error, but in vcol 10 this time',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
742 \ '"Xtestfile", linenr 16: yet another problem',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
743 \ 'Error in "Xtestfile" at line 17:',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
744 \ 'x should be a dot',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
745 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
746 \ ' ^',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
747 \ 'Error in "Xtestfile" at line 18:',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
748 \ 'x should be a dot',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
749 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
750 \ '.............^',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
751 \ 'Error in "Xtestfile" at line 19:',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
752 \ 'x should be a dot',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
753 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
754 \ '--------------^',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
755 \ 'Error in "Xtestfile" at line 20:',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
756 \ 'x should be a dot',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
757 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
758 \ ' ^',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
759 \ '',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
760 \ 'Does anyone know what is the problem and how to correction it?',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
761 \ '"Xtestfile", line 21 col 9: What is the title of the quickfix window?',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
762 \ '"Xtestfile", line 22 col 9: What is the title of the quickfix window?'
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
763 \ ]
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
764
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
765 call writefile(l, 'Xerrorfile1')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
766 call writefile(l[:-2], 'Xerrorfile2')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
767
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
768 let m = [
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
769 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 2',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
770 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 3',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
771 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 4',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
772 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 5',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
773 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 6',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
774 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 7',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
775 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 8',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
776 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 9',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
777 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 10',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
778 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 11',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
779 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 12',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
780 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 13',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
781 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 14',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
782 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 15',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
783 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 16',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
784 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
785 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
786 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
787 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
788 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 21',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
789 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 22'
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
790 \ ]
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
791 call writefile(m, 'Xtestfile')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
792
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
793 let save_efm = &efm
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
794 set efm+==%f=\\,\ line\ %l%*\\D%v%*[^\ ]\ %m
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
795 set efm^=%AError\ in\ \"%f\"\ at\ line\ %l:,%Z%p^,%C%m
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
796
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
797 exe 'cf Xerrorfile2'
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
798 clast
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
799 copen
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
800 call assert_equal(':cf Xerrorfile2', w:quickfix_title)
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
801 wincmd p
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
802
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
803 exe 'cf Xerrorfile1'
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
804 call assert_equal([4, 12], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
805 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
806 call assert_equal([6, 19], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
807 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
808 call assert_equal([9, 2], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
809 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
810 call assert_equal([10, 2], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
811 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
812 call assert_equal([11, 1], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
813 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
814 call assert_equal([12, 2], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
815 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
816 call assert_equal([14, 10], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
817 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
818 call assert_equal([15, 3, 10], [line('.'), col('.'), virtcol('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
819 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
820 call assert_equal([16, 2], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
821 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
822 call assert_equal([17, 6], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
823 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
824 call assert_equal([18, 7], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
825 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
826 call assert_equal([19, 8], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
827 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
828 call assert_equal([20, 9], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
829 clast
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
830 cprev
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
831 cprev
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
832 wincmd w
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
833 call assert_equal(':cf Xerrorfile1', w:quickfix_title)
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
834 wincmd p
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
835
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
836 let &efm = save_efm
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
837 call delete('Xerrorfile1')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
838 call delete('Xerrorfile2')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
839 call delete('Xtestfile')
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
840 endfunc
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
841
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
842 " Test for quickfix directory stack support
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
843 func s:dir_stack_tests(cchar)
9334
674f9e3ccd1a commit https://github.com/vim/vim/commit/38df43bd13a2498cc96b3ddd9a20dd75126bd171
Christian Brabandt <cb@256bit.org>
parents: 9317
diff changeset
844 call s:setup_commands(a:cchar)
674f9e3ccd1a commit https://github.com/vim/vim/commit/38df43bd13a2498cc96b3ddd9a20dd75126bd171
Christian Brabandt <cb@256bit.org>
parents: 9317
diff changeset
845
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
846 let save_efm=&efm
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
847 set efm=%DEntering\ dir\ '%f',%f:%l:%m,%XLeaving\ dir\ '%f'
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
848
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
849 let lines = ["Entering dir 'dir1/a'",
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
850 \ 'habits2.txt:1:Nine Healthy Habits',
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
851 \ "Entering dir 'b'",
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
852 \ 'habits3.txt:2:0 Hours of television',
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
853 \ 'habits2.txt:7:5 Small meals',
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
854 \ "Entering dir 'dir1/c'",
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
855 \ 'habits4.txt:3:1 Hour of exercise',
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
856 \ "Leaving dir 'dir1/c'",
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
857 \ "Leaving dir 'dir1/a'",
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
858 \ 'habits1.txt:4:2 Liters of water',
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
859 \ "Entering dir 'dir2'",
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
860 \ 'habits5.txt:5:3 Cups of hot green tea',
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
861 \ "Leaving dir 'dir2'"
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
862 \]
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
863
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
864 Xexpr ""
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
865 for l in lines
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
866 Xaddexpr l
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
867 endfor
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
868
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
869 let qf = g:Xgetlist()
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
870
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
871 call assert_equal('dir1/a/habits2.txt', bufname(qf[1].bufnr))
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
872 call assert_equal(1, qf[1].lnum)
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
873 call assert_equal('dir1/a/b/habits3.txt', bufname(qf[3].bufnr))
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
874 call assert_equal(2, qf[3].lnum)
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
875 call assert_equal('dir1/a/habits2.txt', bufname(qf[4].bufnr))
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
876 call assert_equal(7, qf[4].lnum)
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
877 call assert_equal('dir1/c/habits4.txt', bufname(qf[6].bufnr))
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
878 call assert_equal(3, qf[6].lnum)
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
879 call assert_equal('habits1.txt', bufname(qf[9].bufnr))
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
880 call assert_equal(4, qf[9].lnum)
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
881 call assert_equal('dir2/habits5.txt', bufname(qf[11].bufnr))
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
882 call assert_equal(5, qf[11].lnum)
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
883
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
884 let &efm=save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
885 endfunc
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
886
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
887 " Tests for %D and %X errorformat options
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
888 func Test_efm_dirstack()
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
889 " Create the directory stack and files
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
890 call mkdir('dir1')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
891 call mkdir('dir1/a')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
892 call mkdir('dir1/a/b')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
893 call mkdir('dir1/c')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
894 call mkdir('dir2')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
895
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
896 let lines = ["Nine Healthy Habits",
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
897 \ "0 Hours of television",
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
898 \ "1 Hour of exercise",
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
899 \ "2 Liters of water",
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
900 \ "3 Cups of hot green tea",
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
901 \ "4 Short mental breaks",
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
902 \ "5 Small meals",
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
903 \ "6 AM wake up time",
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
904 \ "7 Minutes of laughter",
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
905 \ "8 Hours of sleep (at least)",
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
906 \ "9 PM end of the day and off to bed"
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
907 \ ]
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
908 call writefile(lines, 'habits1.txt')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
909 call writefile(lines, 'dir1/a/habits2.txt')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
910 call writefile(lines, 'dir1/a/b/habits3.txt')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
911 call writefile(lines, 'dir1/c/habits4.txt')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
912 call writefile(lines, 'dir2/habits5.txt')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
913
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
914 call s:dir_stack_tests('c')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
915 call s:dir_stack_tests('l')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
916
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
917 call delete('dir1', 'rf')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
918 call delete('dir2', 'rf')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
919 call delete('habits1.txt')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
920 endfunc
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
921
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
922 " Test for resync after continuing an ignored message
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
923 func Xefm_ignore_continuations(cchar)
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
924 call s:setup_commands(a:cchar)
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
925
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
926 let save_efm = &efm
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
927
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
928 let &efm =
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
929 \ '%Eerror %m %l,' .
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
930 \ '%-Wignored %m %l,' .
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
931 \ '%+Cmore ignored %m %l,' .
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
932 \ '%Zignored end'
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
933 Xgetexpr ['ignored warning 1', 'more ignored continuation 2', 'ignored end', 'error resync 4']
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
934 let l = map(g:Xgetlist(), '[v:val.text, v:val.valid, v:val.lnum, v:val.type]')
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
935 call assert_equal([['resync', 1, 4, 'E']], l)
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
936
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
937 let &efm = save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
938 endfunc
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
939
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
940 func Test_efm_ignore_continuations()
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
941 call Xefm_ignore_continuations('c')
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
942 call Xefm_ignore_continuations('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
943 endfunc
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
944
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
945 " Tests for invalid error format specifies
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
946 func Xinvalid_efm_Tests(cchar)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
947 call s:setup_commands(a:cchar)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
948
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
949 let save_efm = &efm
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
950
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
951 set efm=%f:%l:%m,%f:%f:%l:%m
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
952 call assert_fails('Xexpr "abc.txt:1:Hello world"', 'E372:')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
953
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
954 set efm=%f:%l:%m,%f:%l:%r:%m
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
955 call assert_fails('Xexpr "abc.txt:1:Hello world"', 'E373:')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
956
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
957 set efm=%f:%l:%m,%O:%f:%l:%m
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
958 call assert_fails('Xexpr "abc.txt:1:Hello world"', 'E373:')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
959
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
960 set efm=%f:%l:%m,%f:%l:%*[^a-z
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
961 call assert_fails('Xexpr "abc.txt:1:Hello world"', 'E374:')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
962
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
963 set efm=%f:%l:%m,%f:%l:%*c
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
964 call assert_fails('Xexpr "abc.txt:1:Hello world"', 'E375:')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
965
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
966 set efm=%f:%l:%m,%L%M%N
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
967 call assert_fails('Xexpr "abc.txt:1:Hello world"', 'E376:')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
968
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
969 set efm=%f:%l:%m,%f:%l:%m:%R
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
970 call assert_fails('Xexpr "abc.txt:1:Hello world"', 'E377:')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
971
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
972 set efm=
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
973 call assert_fails('Xexpr "abc.txt:1:Hello world"', 'E378:')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
974
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
975 set efm=%DEntering\ dir\ abc,%f:%l:%m
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
976 call assert_fails('Xexpr ["Entering dir abc", "abc.txt:1:Hello world"]', 'E379:')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
977
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
978 let &efm = save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
979 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
980
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
981 func Test_invalid_efm()
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
982 call Xinvalid_efm_Tests('c')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
983 call Xinvalid_efm_Tests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
984 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
985
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
986 " TODO:
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
987 " Add tests for the following formats in 'errorformat'
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
988 " %r %O
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
989 func Test_efm2()
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
990 let save_efm = &efm
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
991
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
992 " Test for %s format in efm
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
993 set efm=%f:%s
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
994 cexpr 'Xtestfile:Line search text'
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
995 let l = getqflist()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
996 call assert_equal(l[0].pattern, '^\VLine search text\$')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
997 call assert_equal(l[0].lnum, 0)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
998
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
999 let l = split(execute('clist', ''), "\n")
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1000 call assert_equal([' 1 Xtestfile:^\VLine search text\$: '], l)
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1001
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1002 " Test for %P, %Q and %t format specifiers
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1003 let lines=["[Xtestfile1]",
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1004 \ "(1,17) error: ';' missing",
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1005 \ "(21,2) warning: variable 'z' not defined",
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1006 \ "(67,3) error: end of file found before string ended",
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1007 \ "--",
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1008 \ "",
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1009 \ "[Xtestfile2]",
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1010 \ "--",
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1011 \ "",
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1012 \ "[Xtestfile3]",
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1013 \ "NEW compiler v1.1",
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1014 \ "(2,2) warning: variable 'x' not defined",
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1015 \ "(67,3) warning: 's' already defined",
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1016 \ "--"
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1017 \]
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1018 set efm=%+P[%f]%r,(%l\\,%c)%*[\ ]%t%*[^:]:\ %m,%+Q--%r
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1019 " To exercise the push/pop file functionality in quickfix, the test files
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1020 " need to be created.
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1021 call writefile(['Line1'], 'Xtestfile1')
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1022 call writefile(['Line2'], 'Xtestfile2')
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1023 call writefile(['Line3'], 'Xtestfile3')
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1024 cexpr ""
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1025 for l in lines
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1026 caddexpr l
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1027 endfor
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1028 let l = getqflist()
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1029 call assert_equal(12, len(l))
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1030 call assert_equal(21, l[2].lnum)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1031 call assert_equal(2, l[2].col)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1032 call assert_equal('w', l[2].type)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1033 call assert_equal('e', l[3].type)
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1034 call delete('Xtestfile1')
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1035 call delete('Xtestfile2')
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1036 call delete('Xtestfile3')
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1037
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1038 " Tests for %E, %C and %Z format specifiers
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1039 let lines = ["Error 275",
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1040 \ "line 42",
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1041 \ "column 3",
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1042 \ "' ' expected after '--'"
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1043 \]
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1044 set efm=%EError\ %n,%Cline\ %l,%Ccolumn\ %c,%Z%m
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1045 cgetexpr lines
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1046 let l = getqflist()
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1047 call assert_equal(275, l[0].nr)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1048 call assert_equal(42, l[0].lnum)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1049 call assert_equal(3, l[0].col)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1050 call assert_equal('E', l[0].type)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1051 call assert_equal("\n' ' expected after '--'", l[0].text)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1052
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1053 " Test for %>
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1054 let lines = ["Error in line 147 of foo.c:",
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1055 \"unknown variable 'i'"
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1056 \]
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1057 set efm=unknown\ variable\ %m,%E%>Error\ in\ line\ %l\ of\ %f:,%Z%m
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1058 cgetexpr lines
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1059 let l = getqflist()
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1060 call assert_equal(147, l[0].lnum)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1061 call assert_equal('E', l[0].type)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1062 call assert_equal("\nunknown variable 'i'", l[0].text)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1063
9568
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1064 " Test for %A, %C and other formats
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1065 let lines = [
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1066 \"==============================================================",
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1067 \"FAIL: testGetTypeIdCachesResult (dbfacadeTest.DjsDBFacadeTest)",
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1068 \"--------------------------------------------------------------",
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1069 \"Traceback (most recent call last):",
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1070 \' File "unittests/dbfacadeTest.py", line 89, in testFoo',
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1071 \" self.assertEquals(34, dtid)",
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1072 \' File "/usr/lib/python2.2/unittest.py", line 286, in',
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1073 \" failUnlessEqual",
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1074 \" raise self.failureException, \\",
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1075 \"AssertionError: 34 != 33",
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1076 \"",
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1077 \"--------------------------------------------------------------",
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1078 \"Ran 27 tests in 0.063s"
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1079 \]
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1080 set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1081 cgetexpr lines
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1082 let l = getqflist()
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1083 call assert_equal(8, len(l))
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1084 call assert_equal(89, l[4].lnum)
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1085 call assert_equal(1, l[4].valid)
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1086 call assert_equal('unittests/dbfacadeTest.py', bufname(l[4].bufnr))
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1087
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1088 " The following sequence of commands used to crash Vim
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1089 set efm=%W%m
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1090 cgetexpr ['msg1']
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1091 let l = getqflist()
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1092 call assert_equal(1, len(l), string(l))
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1093 call assert_equal('msg1', l[0].text)
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1094 set efm=%C%m
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1095 lexpr 'msg2'
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1096 let l = getloclist(0)
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1097 call assert_equal(1, len(l), string(l))
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1098 call assert_equal('msg2', l[0].text)
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1099 lopen
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1100 call setqflist([], 'r')
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1101 caddbuf
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1102 let l = getqflist()
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1103 call assert_equal(1, len(l), string(l))
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1104 call assert_equal('|| msg2', l[0].text)
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1105
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1106 new | only
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1107 let &efm = save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1108 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1109
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1110 func XquickfixChangedByAutocmd(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1111 call s:setup_commands(a:cchar)
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1112 if a:cchar == 'c'
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1113 let ErrorNr = 'E925'
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1114 func! ReadFunc()
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1115 colder
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1116 cgetexpr []
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1117 endfunc
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1118 else
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1119 let ErrorNr = 'E926'
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1120 func! ReadFunc()
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1121 lolder
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1122 lgetexpr []
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1123 endfunc
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1124 endif
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1125
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1126 augroup testgroup
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1127 au!
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1128 autocmd BufReadCmd test_changed.txt call ReadFunc()
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1129 augroup END
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1130
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1131 new | only
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1132 let words = [ "a", "b" ]
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1133 let qflist = []
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1134 for word in words
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1135 call add(qflist, {'filename': 'test_changed.txt'})
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1136 call g:Xsetlist(qflist, ' ')
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1137 endfor
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1138 call assert_fails('Xrewind', ErrorNr . ':')
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1139
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1140 augroup! testgroup
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1141 endfunc
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1142
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1143 func Test_quickfix_was_changed_by_autocmd()
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1144 call XquickfixChangedByAutocmd('c')
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1145 call XquickfixChangedByAutocmd('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1146 endfunc
8716
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1147
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1148 func Test_caddbuffer_to_empty()
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1149 helpgr quickfix
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1150 call setqflist([], 'r')
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1151 cad
8722
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1152 try
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1153 cn
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1154 catch
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1155 " number of matches is unknown
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1156 call assert_true(v:exception =~ 'E553:')
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1157 endtry
8716
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1158 quit!
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1159 endfunc
8751
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
1160
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
1161 func Test_cgetexpr_works()
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
1162 " this must not crash Vim
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
1163 cgetexpr [$x]
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1164 lgetexpr [$x]
8751
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
1165 endfunc
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1166
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1167 " Tests for the setqflist() and setloclist() functions
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1168 func SetXlistTests(cchar, bnum)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1169 call s:setup_commands(a:cchar)
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1170
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1171 call g:Xsetlist([{'bufnr': a:bnum, 'lnum': 1},
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1172 \ {'bufnr': a:bnum, 'lnum': 2}])
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1173 let l = g:Xgetlist()
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1174 call assert_equal(2, len(l))
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1175 call assert_equal(2, l[1].lnum)
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1176
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1177 Xnext
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1178 call g:Xsetlist([{'bufnr': a:bnum, 'lnum': 3}], 'a')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1179 let l = g:Xgetlist()
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1180 call assert_equal(3, len(l))
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1181 Xnext
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1182 call assert_equal(3, line('.'))
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1183
9114
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1184 " Appending entries to the list should not change the cursor position
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1185 " in the quickfix window
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1186 Xwindow
9114
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1187 1
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1188 call g:Xsetlist([{'bufnr': a:bnum, 'lnum': 4},
9114
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1189 \ {'bufnr': a:bnum, 'lnum': 5}], 'a')
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1190 call assert_equal(1, line('.'))
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1191 close
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1192
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1193 call g:Xsetlist([{'bufnr': a:bnum, 'lnum': 3},
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1194 \ {'bufnr': a:bnum, 'lnum': 4},
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1195 \ {'bufnr': a:bnum, 'lnum': 5}], 'r')
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1196 let l = g:Xgetlist()
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1197 call assert_equal(3, len(l))
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1198 call assert_equal(5, l[2].lnum)
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1199
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1200 call g:Xsetlist([])
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1201 let l = g:Xgetlist()
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1202 call assert_equal(0, len(l))
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1203
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1204 " Error cases:
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1205 " Refer to a non-existing buffer and pass a non-dictionary type
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1206 call assert_fails("call g:Xsetlist([{'bufnr':998, 'lnum':4}," .
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1207 \ " {'bufnr':999, 'lnum':5}])", 'E92:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1208 call g:Xsetlist([[1, 2,3]])
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1209 call assert_equal(0, len(g:Xgetlist()))
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1210 endfunc
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1211
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1212 func Test_setqflist()
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1213 new Xtestfile | only
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1214 let bnum = bufnr('%')
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1215 call setline(1, range(1,5))
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1216
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1217 call SetXlistTests('c', bnum)
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1218 call SetXlistTests('l', bnum)
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1219
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1220 enew!
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1221 call delete('Xtestfile')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1222 endfunc
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1223
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1224 func Xlist_empty_middle(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1225 call s:setup_commands(a:cchar)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1226
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1227 " create three quickfix lists
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1228 let @/ = 'Test_'
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1229 Xvimgrep // test_quickfix.vim
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1230 let testlen = len(g:Xgetlist())
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1231 call assert_true(testlen > 0)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1232 Xvimgrep empty test_quickfix.vim
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1233 call assert_true(len(g:Xgetlist()) > 0)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1234 Xvimgrep matches test_quickfix.vim
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1235 let matchlen = len(g:Xgetlist())
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1236 call assert_true(matchlen > 0)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1237 Xolder
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1238 " make the middle list empty
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1239 call g:Xsetlist([], 'r')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1240 call assert_true(len(g:Xgetlist()) == 0)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1241 Xolder
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1242 call assert_equal(testlen, len(g:Xgetlist()))
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1243 Xnewer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1244 Xnewer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1245 call assert_equal(matchlen, len(g:Xgetlist()))
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1246 endfunc
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1247
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1248 func Test_setqflist_empty_middle()
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1249 call Xlist_empty_middle('c')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1250 call Xlist_empty_middle('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1251 endfunc
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1252
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1253 func Xlist_empty_older(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1254 call s:setup_commands(a:cchar)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1255
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1256 " create three quickfix lists
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1257 Xvimgrep one test_quickfix.vim
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1258 let onelen = len(g:Xgetlist())
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1259 call assert_true(onelen > 0)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1260 Xvimgrep two test_quickfix.vim
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1261 let twolen = len(g:Xgetlist())
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1262 call assert_true(twolen > 0)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1263 Xvimgrep three test_quickfix.vim
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1264 let threelen = len(g:Xgetlist())
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1265 call assert_true(threelen > 0)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1266 Xolder 2
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1267 " make the first list empty, check the others didn't change
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1268 call g:Xsetlist([], 'r')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1269 call assert_true(len(g:Xgetlist()) == 0)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1270 Xnewer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1271 call assert_equal(twolen, len(g:Xgetlist()))
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1272 Xnewer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1273 call assert_equal(threelen, len(g:Xgetlist()))
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1274 endfunc
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1275
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1276 func Test_setqflist_empty_older()
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1277 call Xlist_empty_older('c')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1278 call Xlist_empty_older('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1279 endfunc
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1280
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1281 func XquickfixSetListWithAct(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1282 call s:setup_commands(a:cchar)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1283
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1284 let list1 = [{'filename': 'fnameA', 'text': 'A'},
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1285 \ {'filename': 'fnameB', 'text': 'B'}]
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1286 let list2 = [{'filename': 'fnameC', 'text': 'C'},
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1287 \ {'filename': 'fnameD', 'text': 'D'},
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1288 \ {'filename': 'fnameE', 'text': 'E'}]
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1289
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1290 " {action} is unspecified. Same as specifing ' '.
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1291 new | only
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1292 silent! Xnewer 99
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1293 call g:Xsetlist(list1)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1294 call g:Xsetlist(list2)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1295 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1296 call assert_equal(3, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1297 call assert_equal('C', li[0]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1298 call assert_equal('D', li[1]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1299 call assert_equal('E', li[2]['text'])
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1300 silent! Xolder
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1301 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1302 call assert_equal(2, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1303 call assert_equal('A', li[0]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1304 call assert_equal('B', li[1]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1305
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1306 " {action} is specified ' '.
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1307 new | only
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1308 silent! Xnewer 99
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1309 call g:Xsetlist(list1)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1310 call g:Xsetlist(list2, ' ')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1311 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1312 call assert_equal(3, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1313 call assert_equal('C', li[0]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1314 call assert_equal('D', li[1]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1315 call assert_equal('E', li[2]['text'])
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1316 silent! Xolder
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1317 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1318 call assert_equal(2, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1319 call assert_equal('A', li[0]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1320 call assert_equal('B', li[1]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1321
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1322 " {action} is specified 'a'.
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1323 new | only
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1324 silent! Xnewer 99
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1325 call g:Xsetlist(list1)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1326 call g:Xsetlist(list2, 'a')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1327 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1328 call assert_equal(5, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1329 call assert_equal('A', li[0]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1330 call assert_equal('B', li[1]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1331 call assert_equal('C', li[2]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1332 call assert_equal('D', li[3]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1333 call assert_equal('E', li[4]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1334
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1335 " {action} is specified 'r'.
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1336 new | only
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1337 silent! Xnewer 99
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1338 call g:Xsetlist(list1)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1339 call g:Xsetlist(list2, 'r')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1340 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1341 call assert_equal(3, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1342 call assert_equal('C', li[0]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1343 call assert_equal('D', li[1]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1344 call assert_equal('E', li[2]['text'])
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1345
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1346 " Test for wrong value.
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1347 new | only
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1348 call assert_fails("call g:Xsetlist(0)", 'E714:')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1349 call assert_fails("call g:Xsetlist(list1, '')", 'E927:')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1350 call assert_fails("call g:Xsetlist(list1, 'aa')", 'E927:')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1351 call assert_fails("call g:Xsetlist(list1, ' a')", 'E927:')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1352 call assert_fails("call g:Xsetlist(list1, 0)", 'E928:')
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1353 endfunc
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1354
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1355 func Test_quickfix_set_list_with_act()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1356 call XquickfixSetListWithAct('c')
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1357 call XquickfixSetListWithAct('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1358 endfunc
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1359
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1360 func XLongLinesTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1361 let l = g:Xgetlist()
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1362
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1363 call assert_equal(4, len(l))
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1364 call assert_equal(1, l[0].lnum)
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1365 call assert_equal(1, l[0].col)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1366 call assert_equal(1975, len(l[0].text))
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1367 call assert_equal(2, l[1].lnum)
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1368 call assert_equal(1, l[1].col)
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1369 call assert_equal(4070, len(l[1].text))
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1370 call assert_equal(3, l[2].lnum)
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1371 call assert_equal(1, l[2].col)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1372 call assert_equal(4070, len(l[2].text))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1373 call assert_equal(4, l[3].lnum)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1374 call assert_equal(1, l[3].col)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1375 call assert_equal(10, len(l[3].text))
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1376
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1377 call g:Xsetlist([], 'r')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1378 endfunc
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1379
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1380 func s:long_lines_tests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1381 call s:setup_commands(a:cchar)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1382
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1383 let testfile = 'samples/quickfix.txt'
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1384
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1385 " file
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1386 exe 'Xgetfile' testfile
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1387 call XLongLinesTests(a:cchar)
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1388
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1389 " list
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1390 Xexpr readfile(testfile)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1391 call XLongLinesTests(a:cchar)
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1392
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1393 " string
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1394 Xexpr join(readfile(testfile), "\n")
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1395 call XLongLinesTests(a:cchar)
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1396
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
1397 " buffer
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1398 exe 'edit' testfile
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1399 exe 'Xbuffer' bufnr('%')
9336
52bda0e40ea2 commit https://github.com/vim/vim/commit/f50df3925b7c909d1cda4c868d8c7ba38189aabe
Christian Brabandt <cb@256bit.org>
parents: 9334
diff changeset
1400 call XLongLinesTests(a:cchar)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1401 endfunc
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1402
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1403 func Test_long_lines()
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1404 call s:long_lines_tests('c')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1405 call s:long_lines_tests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1406 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1407
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1408 func s:create_test_file(filename)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1409 let l = []
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1410 for i in range(1, 20)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1411 call add(l, 'Line' . i)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1412 endfor
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1413 call writefile(l, a:filename)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1414 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1415
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1416 func Test_switchbuf()
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1417 call s:create_test_file('Xqftestfile1')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1418 call s:create_test_file('Xqftestfile2')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1419 call s:create_test_file('Xqftestfile3')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1420
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1421 new | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1422 edit Xqftestfile1
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1423 let file1_winid = win_getid()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1424 new Xqftestfile2
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1425 let file2_winid = win_getid()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1426 cgetexpr ['Xqftestfile1:5:Line5',
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1427 \ 'Xqftestfile1:6:Line6',
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1428 \ 'Xqftestfile2:10:Line10',
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1429 \ 'Xqftestfile2:11:Line11',
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1430 \ 'Xqftestfile3:15:Line15',
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1431 \ 'Xqftestfile3:16:Line16']
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1432
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1433 new
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1434 let winid = win_getid()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1435 cfirst | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1436 call assert_equal(winid, win_getid())
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1437 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1438 call assert_equal(winid, win_getid())
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1439 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1440 call assert_equal(winid, win_getid())
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1441 enew
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1442
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1443 set switchbuf=useopen
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1444 cfirst | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1445 call assert_equal(file1_winid, win_getid())
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1446 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1447 call assert_equal(file2_winid, win_getid())
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1448 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1449 call assert_equal(file2_winid, win_getid())
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1450
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1451 enew | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1452 set switchbuf=usetab
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1453 tabedit Xqftestfile1
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1454 tabedit Xqftestfile2
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1455 tabfirst
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1456 cfirst | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1457 call assert_equal(2, tabpagenr())
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1458 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1459 call assert_equal(3, tabpagenr())
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1460 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1461 call assert_equal(3, tabpagenr())
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1462 tabfirst | tabonly | enew
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1463
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1464 set switchbuf=split
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1465 cfirst | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1466 call assert_equal(1, winnr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1467 cnext | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1468 call assert_equal(2, winnr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1469 cnext | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1470 call assert_equal(3, winnr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1471 enew | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1472
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1473 set switchbuf=newtab
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1474 cfirst | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1475 call assert_equal(1, tabpagenr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1476 cnext | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1477 call assert_equal(2, tabpagenr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1478 cnext | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1479 call assert_equal(3, tabpagenr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1480 tabfirst | enew | tabonly | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1481
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1482 set switchbuf=
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1483 edit Xqftestfile1
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1484 let file1_winid = win_getid()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1485 new Xqftestfile2
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1486 let file2_winid = win_getid()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1487 copen
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1488 exe "normal 1G\<CR>"
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1489 call assert_equal(file1_winid, win_getid())
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1490 copen
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1491 exe "normal 3G\<CR>"
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1492 call assert_equal(file2_winid, win_getid())
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1493 copen | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1494 exe "normal 5G\<CR>"
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1495 call assert_equal(2, winnr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1496 call assert_equal(1, bufwinnr('Xqftestfile3'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1497
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1498 " If only quickfix window is open in the current tabpage, jumping to an
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1499 " entry with 'switchubf' set to 'usetab' should search in other tabpages.
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1500 enew | only
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1501 set switchbuf=usetab
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1502 tabedit Xqftestfile1
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1503 tabedit Xqftestfile2
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1504 tabedit Xqftestfile3
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1505 tabfirst
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1506 copen | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1507 clast
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1508 call assert_equal(4, tabpagenr())
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1509 tabfirst | tabonly | enew | only
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1510
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1511 call delete('Xqftestfile1')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1512 call delete('Xqftestfile2')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1513 call delete('Xqftestfile3')
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1514 set switchbuf&vim
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1515
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1516 enew | only
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1517 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1518
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1519 func Xadjust_qflnum(cchar)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1520 call s:setup_commands(a:cchar)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1521
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1522 enew | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1523
9608
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
1524 let fname = 'Xqftestfile' . a:cchar
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
1525 call s:create_test_file(fname)
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
1526 exe 'edit ' . fname
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1527
9608
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
1528 Xgetexpr [fname . ':5:Line5',
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
1529 \ fname . ':10:Line10',
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
1530 \ fname . ':15:Line15',
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
1531 \ fname . ':20:Line20']
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1532
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1533 6,14delete
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1534 call append(6, ['Buffer', 'Window'])
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1535
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1536 let l = g:Xgetlist()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1537
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1538 call assert_equal(5, l[0].lnum)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1539 call assert_equal(6, l[2].lnum)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1540 call assert_equal(13, l[3].lnum)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1541
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1542 enew!
9608
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
1543 call delete(fname)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1544 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1545
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1546 func Test_adjust_lnum()
9608
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
1547 call setloclist(0, [])
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1548 call Xadjust_qflnum('c')
9608
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
1549 call setqflist([])
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1550 call Xadjust_qflnum('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1551 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1552
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1553 " Tests for the :grep/:lgrep and :grepadd/:lgrepadd commands
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1554 func s:test_xgrep(cchar)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1555 call s:setup_commands(a:cchar)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1556
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1557 " The following lines are used for the grep test. Don't remove.
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1558 " Grep_Test_Text: Match 1
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1559 " Grep_Test_Text: Match 2
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1560 " GrepAdd_Test_Text: Match 1
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1561 " GrepAdd_Test_Text: Match 2
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1562 enew! | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1563 set makeef&vim
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1564 silent Xgrep Grep_Test_Text: test_quickfix.vim
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1565 call assert_true(len(g:Xgetlist()) == 3)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1566 Xopen
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1567 call assert_true(w:quickfix_title =~ '^:grep')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1568 Xclose
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1569 enew
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1570 set makeef=Temp_File_##
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1571 silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1572 call assert_true(len(g:Xgetlist()) == 6)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1573 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1574
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1575 func Test_grep()
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1576 if !has('unix')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1577 " The grepprg may not be set on non-Unix systems
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1578 return
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1579 endif
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1580
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1581 call s:test_xgrep('c')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1582 call s:test_xgrep('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1583 endfunc
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1584
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1585 func Test_two_windows()
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1586 " Use one 'errorformat' for two windows. Add an expression to each of them,
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1587 " make sure they each keep their own state.
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1588 set efm=%DEntering\ dir\ '%f',%f:%l:%m,%XLeaving\ dir\ '%f'
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1589 call mkdir('Xone/a', 'p')
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1590 call mkdir('Xtwo/a', 'p')
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1591 let lines = ['1', '2', 'one one one', '4', 'two two two', '6', '7']
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1592 call writefile(lines, 'Xone/a/one.txt')
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1593 call writefile(lines, 'Xtwo/a/two.txt')
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1594
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1595 new one
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1596 let one_id = win_getid()
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1597 lexpr ""
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1598 new two
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1599 let two_id = win_getid()
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1600 lexpr ""
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1601
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1602 laddexpr "Entering dir 'Xtwo/a'"
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1603 call win_gotoid(one_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1604 laddexpr "Entering dir 'Xone/a'"
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1605 call win_gotoid(two_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1606 laddexpr 'two.txt:5:two two two'
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1607 call win_gotoid(one_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1608 laddexpr 'one.txt:3:one one one'
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1609
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1610 let loc_one = getloclist(one_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1611 call assert_equal('Xone/a/one.txt', bufname(loc_one[1].bufnr))
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1612 call assert_equal(3, loc_one[1].lnum)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1613
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1614 let loc_two = getloclist(two_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1615 call assert_equal('Xtwo/a/two.txt', bufname(loc_two[1].bufnr))
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1616 call assert_equal(5, loc_two[1].lnum)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1617
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1618 call win_gotoid(one_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1619 bwipe!
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1620 call win_gotoid(two_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1621 bwipe!
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1622 call delete('Xone', 'rf')
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1623 call delete('Xtwo', 'rf')
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1624 endfunc
9432
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
1625
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1626 func XbottomTests(cchar)
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1627 call s:setup_commands(a:cchar)
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1628
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
1629 " Calling lbottom without any errors should fail
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
1630 if a:cchar == 'l'
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
1631 call assert_fails('lbottom', 'E776:')
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
1632 endif
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
1633
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1634 call g:Xsetlist([{'filename': 'foo', 'lnum': 42}])
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1635 Xopen
9432
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
1636 let wid = win_getid()
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
1637 call assert_equal(1, line('.'))
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
1638 wincmd w
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1639 call g:Xsetlist([{'filename': 'var', 'lnum': 24}], 'a')
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1640 Xbottom
9432
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
1641 call win_gotoid(wid)
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
1642 call assert_equal(2, line('.'))
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1643 Xclose
9432
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
1644 endfunc
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1645
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1646 " Tests for the :cbottom and :lbottom commands
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1647 func Test_cbottom()
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1648 call XbottomTests('c')
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
1649 call XbottomTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1650 endfunc
9538
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1651
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1652 func HistoryTest(cchar)
9538
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1653 call s:setup_commands(a:cchar)
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1654
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1655 " clear all lists after the first one, then replace the first one.
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1656 call g:Xsetlist([])
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
1657 call assert_fails('Xolder 99', 'E380:')
9538
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1658 let entry = {'filename': 'foo', 'lnum': 42}
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1659 call g:Xsetlist([entry], 'r')
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1660 call g:Xsetlist([entry, entry])
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1661 call g:Xsetlist([entry, entry, entry])
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1662 let res = split(execute(a:cchar . 'hist'), "\n")
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1663 call assert_equal(3, len(res))
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1664 let common = 'errors :set' . (a:cchar == 'c' ? 'qf' : 'loc') . 'list()'
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1665 call assert_equal(' error list 1 of 3; 1 ' . common, res[0])
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1666 call assert_equal(' error list 2 of 3; 2 ' . common, res[1])
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1667 call assert_equal('> error list 3 of 3; 3 ' . common, res[2])
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1668 endfunc
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1669
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1670 func Test_history()
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1671 call HistoryTest('c')
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1672 call HistoryTest('l')
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
1673 endfunc
9540
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1674
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1675 func Test_duplicate_buf()
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1676 " make sure we can get the highest buffer number
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1677 edit DoesNotExist
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1678 edit DoesNotExist2
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1679 let last_buffer = bufnr("$")
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1680
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1681 " make sure only one buffer is created
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1682 call writefile(['this one', 'that one'], 'Xgrepthis')
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1683 vimgrep one Xgrepthis
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1684 vimgrep one Xgrepthis
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1685 call assert_equal(last_buffer + 1, bufnr("$"))
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1686
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1687 call delete('Xgrepthis')
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
1688 endfunc
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1689
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1690 " Quickfix/Location list set/get properties tests
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1691 func Xproperty_tests(cchar)
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1692 call s:setup_commands(a:cchar)
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1693
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1694 " Error cases
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1695 call assert_fails('call g:Xgetlist(99)', 'E715:')
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1696 call assert_fails('call g:Xsetlist(99)', 'E714:')
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1697 call assert_fails('call g:Xsetlist([], "a", [])', 'E715:')
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1698
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1699 " Set and get the title
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
1700 call g:Xsetlist([])
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1701 Xopen
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1702 wincmd p
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1703 call g:Xsetlist([{'filename':'foo', 'lnum':27}])
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1704 call g:Xsetlist([], 'a', {'title' : 'Sample'})
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1705 let d = g:Xgetlist({"title":1})
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1706 call assert_equal('Sample', d.title)
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1707
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1708 Xopen
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1709 call assert_equal('Sample', w:quickfix_title)
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1710 Xclose
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1711
9982
e24aa20d815c commit https://github.com/vim/vim/commit/2b529bb6260b52246e92429375d995b9b5ce76b6
Christian Brabandt <cb@256bit.org>
parents: 9850
diff changeset
1712 " Tests for action argument
e24aa20d815c commit https://github.com/vim/vim/commit/2b529bb6260b52246e92429375d995b9b5ce76b6
Christian Brabandt <cb@256bit.org>
parents: 9850
diff changeset
1713 silent! Xolder 999
e24aa20d815c commit https://github.com/vim/vim/commit/2b529bb6260b52246e92429375d995b9b5ce76b6
Christian Brabandt <cb@256bit.org>
parents: 9850
diff changeset
1714 let qfnr = g:Xgetlist({'all':1}).nr
e24aa20d815c commit https://github.com/vim/vim/commit/2b529bb6260b52246e92429375d995b9b5ce76b6
Christian Brabandt <cb@256bit.org>
parents: 9850
diff changeset
1715 call g:Xsetlist([], 'r', {'title' : 'N1'})
e24aa20d815c commit https://github.com/vim/vim/commit/2b529bb6260b52246e92429375d995b9b5ce76b6
Christian Brabandt <cb@256bit.org>
parents: 9850
diff changeset
1716 call assert_equal('N1', g:Xgetlist({'all':1}).title)
e24aa20d815c commit https://github.com/vim/vim/commit/2b529bb6260b52246e92429375d995b9b5ce76b6
Christian Brabandt <cb@256bit.org>
parents: 9850
diff changeset
1717 call g:Xsetlist([], ' ', {'title' : 'N2'})
e24aa20d815c commit https://github.com/vim/vim/commit/2b529bb6260b52246e92429375d995b9b5ce76b6
Christian Brabandt <cb@256bit.org>
parents: 9850
diff changeset
1718 call assert_equal(qfnr + 1, g:Xgetlist({'all':1}).nr)
10237
197795e3530d commit https://github.com/vim/vim/commit/890680ca6364386fabb271c85e0755bcaa6a33c1
Christian Brabandt <cb@256bit.org>
parents: 10056
diff changeset
1719
197795e3530d commit https://github.com/vim/vim/commit/890680ca6364386fabb271c85e0755bcaa6a33c1
Christian Brabandt <cb@256bit.org>
parents: 10056
diff changeset
1720 let res = g:Xgetlist({'nr': 0})
197795e3530d commit https://github.com/vim/vim/commit/890680ca6364386fabb271c85e0755bcaa6a33c1
Christian Brabandt <cb@256bit.org>
parents: 10056
diff changeset
1721 call assert_equal(qfnr + 1, res.nr)
197795e3530d commit https://github.com/vim/vim/commit/890680ca6364386fabb271c85e0755bcaa6a33c1
Christian Brabandt <cb@256bit.org>
parents: 10056
diff changeset
1722 call assert_equal(['nr'], keys(res))
197795e3530d commit https://github.com/vim/vim/commit/890680ca6364386fabb271c85e0755bcaa6a33c1
Christian Brabandt <cb@256bit.org>
parents: 10056
diff changeset
1723
9982
e24aa20d815c commit https://github.com/vim/vim/commit/2b529bb6260b52246e92429375d995b9b5ce76b6
Christian Brabandt <cb@256bit.org>
parents: 9850
diff changeset
1724 call g:Xsetlist([], ' ', {'title' : 'N3'})
e24aa20d815c commit https://github.com/vim/vim/commit/2b529bb6260b52246e92429375d995b9b5ce76b6
Christian Brabandt <cb@256bit.org>
parents: 9850
diff changeset
1725 call assert_equal('N2', g:Xgetlist({'nr':2, 'title':1}).title)
e24aa20d815c commit https://github.com/vim/vim/commit/2b529bb6260b52246e92429375d995b9b5ce76b6
Christian Brabandt <cb@256bit.org>
parents: 9850
diff changeset
1726
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1727 " Changing the title of an earlier quickfix list
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1728 call g:Xsetlist([], ' ', {'title' : 'NewTitle', 'nr' : 2})
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1729 call assert_equal('NewTitle', g:Xgetlist({'nr':2, 'title':1}).title)
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1730
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1731 " Changing the title of an invalid quickfix list
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1732 call assert_equal(-1, g:Xsetlist([], ' ',
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1733 \ {'title' : 'SomeTitle', 'nr' : 99}))
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1734 call assert_equal(-1, g:Xsetlist([], ' ',
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1735 \ {'title' : 'SomeTitle', 'nr' : 'abc'}))
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1736
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1737 if a:cchar == 'c'
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1738 copen
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1739 call assert_equal({'winid':win_getid()}, getqflist({'winid':1}))
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1740 cclose
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1741 endif
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1742
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1743 " Invalid arguments
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1744 call assert_fails('call g:Xgetlist([])', 'E715')
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1745 call assert_fails('call g:Xsetlist([], "a", [])', 'E715')
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1746 let s = g:Xsetlist([], 'a', {'abc':1})
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1747 call assert_equal(-1, s)
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1748
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1749 call assert_equal({}, g:Xgetlist({'abc':1}))
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1750 call assert_equal({}, g:Xgetlist({'nr':99, 'title':1}))
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1751 call assert_equal({}, g:Xgetlist({'nr':[], 'title':1}))
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1752
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1753 if a:cchar == 'l'
10237
197795e3530d commit https://github.com/vim/vim/commit/890680ca6364386fabb271c85e0755bcaa6a33c1
Christian Brabandt <cb@256bit.org>
parents: 10056
diff changeset
1754 call assert_equal({}, getloclist(99, {'title': 1}))
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1755 endif
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1756 endfunc
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1757
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1758 func Test_qf_property()
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1759 call Xproperty_tests('c')
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
1760 call Xproperty_tests('l')
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1761 endfunc
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1762
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1763 " Tests for the QuickFixCmdPre/QuickFixCmdPost autocommands
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1764 func QfAutoCmdHandler(loc, cmd)
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1765 call add(g:acmds, a:loc . a:cmd)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1766 endfunc
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1767
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1768 func Test_Autocmd()
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1769 autocmd QuickFixCmdPre * call QfAutoCmdHandler('pre', expand('<amatch>'))
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1770 autocmd QuickFixCmdPost * call QfAutoCmdHandler('post', expand('<amatch>'))
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1771
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1772 let g:acmds = []
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1773 cexpr "F1:10:Line 10"
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1774 caddexpr "F1:20:Line 20"
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1775 cgetexpr "F1:30:Line 30"
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1776 enew! | call append(0, "F2:10:Line 10")
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1777 cbuffer!
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1778 enew! | call append(0, "F2:20:Line 20")
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1779 cgetbuffer
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1780 enew! | call append(0, "F2:30:Line 30")
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1781 caddbuffer
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1782
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1783 let l = ['precexpr',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1784 \ 'postcexpr',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1785 \ 'precaddexpr',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1786 \ 'postcaddexpr',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1787 \ 'precgetexpr',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1788 \ 'postcgetexpr',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1789 \ 'precbuffer',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1790 \ 'postcbuffer',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1791 \ 'precgetbuffer',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1792 \ 'postcgetbuffer',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1793 \ 'precaddbuffer',
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1794 \ 'postcaddbuffer']
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
1795 call assert_equal(l, g:acmds)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1796 endfunc
10346
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1797
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1798 func Test_Autocmd_Exception()
10346
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1799 set efm=%m
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1800 lgetexpr '?'
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1801
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1802 try
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1803 call DoesNotExit()
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1804 catch
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1805 lgetexpr '1'
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1806 finally
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1807 lgetexpr '1'
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1808 endtry
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1809
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1810 call assert_equal('1', getloclist(0)[0].text)
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1811
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
1812 set efm&vim
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1813 endfunc
10367
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
1814
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1815 func Test_caddbuffer_wrong()
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1816 " This used to cause a memory access in freed memory.
10367
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
1817 let save_efm = &efm
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
1818 set efm=%EEEE%m,%WWWW,%+CCCC%>%#,%GGGG%.#
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
1819 cgetexpr ['WWWW', 'EEEE', 'CCCC']
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
1820 let &efm = save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1821 caddbuffer
10367
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
1822 bwipe!
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
1823 endfunc
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1824
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1825 func Test_caddexpr_wrong()
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1826 " This used to cause a memory access in freed memory.
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1827 cbuffer
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1828 cbuffer
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1829 copen
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1830 let save_efm = &efm
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1831 set efm=%
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1832 call assert_fails('caddexpr ""', 'E376:')
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1833 let &efm = save_efm
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1834 endfunc
10379
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1835
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1836 func Test_dirstack_cleanup()
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1837 " This used to cause a memory access in freed memory.
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1838 let save_efm = &efm
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1839 lexpr '0'
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1840 lopen
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1841 fun X(c)
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1842 let save_efm=&efm
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1843 set efm=%D%f
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1844 if a:c == 'c'
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1845 caddexpr '::'
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1846 else
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1847 laddexpr ':0:0'
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1848 endif
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1849 let &efm=save_efm
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1850 endfun
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1851 call X('c')
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1852 call X('l')
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1853 call setqflist([], 'r')
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1854 caddbuffer
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1855 let &efm = save_efm
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
1856 endfunc
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1857
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1858 " Tests for jumping to entries from the location list window and quickfix
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1859 " window
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1860 func Test_cwindow_jump()
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1861 set efm=%f%%%l%%%m
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1862 lgetexpr ["F1%10%Line 10", "F2%20%Line 20", "F3%30%Line 30"]
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1863 lopen | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1864 lfirst
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1865 call assert_true(winnr('$') == 2)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1866 call assert_true(winnr() == 1)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1867 " Location list for the new window should be set
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1868 call assert_true(getloclist(0)[2].text == 'Line 30')
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1869
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1870 " Open a scratch buffer
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1871 " Open a new window and create a location list
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1872 " Open the location list window and close the other window
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1873 " Jump to an entry.
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1874 " Should create a new window and jump to the entry. The scrtach buffer
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1875 " should not be used.
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1876 enew | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1877 set buftype=nofile
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1878 below new
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1879 lgetexpr ["F1%10%Line 10", "F2%20%Line 20", "F3%30%Line 30"]
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1880 lopen
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1881 2wincmd c
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1882 lnext
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1883 call assert_true(winnr('$') == 3)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1884 call assert_true(winnr() == 2)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1885
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1886 " Open two windows with two different location lists
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1887 " Open the location list window and close the previous window
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1888 " Jump to an entry in the location list window
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1889 " Should open the file in the first window and not set the location list.
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1890 enew | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1891 lgetexpr ["F1%5%Line 5"]
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1892 below new
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1893 lgetexpr ["F1%10%Line 10", "F2%20%Line 20", "F3%30%Line 30"]
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1894 lopen
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1895 2wincmd c
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1896 lnext
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1897 call assert_true(winnr() == 1)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1898 call assert_true(getloclist(0)[0].text == 'Line 5')
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1899
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1900 enew | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1901 cgetexpr ["F1%10%Line 10", "F2%20%Line 20", "F3%30%Line 30"]
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1902 copen
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1903 cnext
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1904 call assert_true(winnr('$') == 2)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1905 call assert_true(winnr() == 1)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1906
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1907 enew | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1908 set efm&vim
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
1909 endfunc
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1910
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1911 func XvimgrepTests(cchar)
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1912 call s:setup_commands(a:cchar)
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1913
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1914 call writefile(['Editor:VIM vim',
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1915 \ 'Editor:Emacs EmAcS',
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1916 \ 'Editor:Notepad NOTEPAD'], 'Xtestfile1')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1917 call writefile(['Linux', 'MacOS', 'MS-Windows'], 'Xtestfile2')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1918
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1919 " Error cases
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1920 call assert_fails('Xvimgrep /abc *', 'E682:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1921
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1922 let @/=''
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1923 call assert_fails('Xvimgrep // *', 'E35:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1924
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1925 call assert_fails('Xvimgrep abc', 'E683:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1926 call assert_fails('Xvimgrep a1b2c3 Xtestfile1', 'E480:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1927 call assert_fails('Xvimgrep pat Xa1b2c3', 'E480:')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1928
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1929 Xexpr ""
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1930 Xvimgrepadd Notepad Xtestfile1
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1931 Xvimgrepadd MacOS Xtestfile2
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1932 let l = g:Xgetlist()
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1933 call assert_equal(2, len(l))
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1934 call assert_equal('Editor:Notepad NOTEPAD', l[0].text)
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1935
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1936 Xvimgrep #\cvim#g Xtestfile?
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1937 let l = g:Xgetlist()
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1938 call assert_equal(2, len(l))
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1939 call assert_equal(8, l[0].col)
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1940 call assert_equal(12, l[1].col)
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1941
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1942 1Xvimgrep ?Editor? Xtestfile*
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1943 let l = g:Xgetlist()
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1944 call assert_equal(1, len(l))
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1945 call assert_equal('Editor:VIM vim', l[0].text)
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1946
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1947 edit +3 Xtestfile2
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1948 Xvimgrep +\cemacs+j Xtestfile1
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1949 let l = g:Xgetlist()
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1950 call assert_equal('Xtestfile2', bufname(''))
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1951 call assert_equal('Editor:Emacs EmAcS', l[0].text)
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1952
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1953 call delete('Xtestfile1')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1954 call delete('Xtestfile2')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1955 endfunc
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1956
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1957 " Tests for the :vimgrep command
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1958 func Test_vimgrep()
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1959 call XvimgrepTests('c')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1960 call XvimgrepTests('l')
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1961 endfunc
11301
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1962
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1963 func XfreeTests(cchar)
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1964 call s:setup_commands(a:cchar)
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1965
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1966 enew | only
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1967
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1968 " Deleting the quickfix stack should work even When the current list is
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1969 " somewhere in the middle of the stack
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1970 Xexpr ['Xfile1:10:10:Line 10', 'Xfile1:15:15:Line 15']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1971 Xexpr ['Xfile2:20:20:Line 20', 'Xfile2:25:25:Line 25']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1972 Xexpr ['Xfile3:30:30:Line 30', 'Xfile3:35:35:Line 35']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1973 Xolder
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1974 call g:Xsetlist([], 'f')
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1975 call assert_equal(0, len(g:Xgetlist()))
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1976
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1977 " After deleting the stack, adding a new list should create a stack with a
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1978 " single list.
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1979 Xexpr ['Xfile1:10:10:Line 10', 'Xfile1:15:15:Line 15']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1980 call assert_equal(1, g:Xgetlist({'all':1}).nr)
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1981
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1982 " Deleting the stack from a quickfix window should update/clear the
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1983 " quickfix/location list window.
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1984 Xexpr ['Xfile1:10:10:Line 10', 'Xfile1:15:15:Line 15']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1985 Xexpr ['Xfile2:20:20:Line 20', 'Xfile2:25:25:Line 25']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1986 Xexpr ['Xfile3:30:30:Line 30', 'Xfile3:35:35:Line 35']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1987 Xolder
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1988 Xwindow
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1989 call g:Xsetlist([], 'f')
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1990 call assert_equal(2, winnr('$'))
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1991 call assert_equal(1, line('$'))
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1992 Xclose
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1993
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1994 " Deleting the stack from a non-quickfix window should update/clear the
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1995 " quickfix/location list window.
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1996 Xexpr ['Xfile1:10:10:Line 10', 'Xfile1:15:15:Line 15']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1997 Xexpr ['Xfile2:20:20:Line 20', 'Xfile2:25:25:Line 25']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1998 Xexpr ['Xfile3:30:30:Line 30', 'Xfile3:35:35:Line 35']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
1999 Xolder
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2000 Xwindow
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2001 wincmd p
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2002 call g:Xsetlist([], 'f')
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2003 call assert_equal(0, len(g:Xgetlist()))
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2004 wincmd p
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2005 call assert_equal(2, winnr('$'))
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2006 call assert_equal(1, line('$'))
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2007
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2008 " After deleting the location list stack, if the location list window is
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2009 " opened, then a new location list should be created. So opening the
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2010 " location list window again should not create a new window.
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2011 if a:cchar == 'l'
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2012 lexpr ['Xfile1:10:10:Line 10', 'Xfile1:15:15:Line 15']
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2013 wincmd p
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2014 lopen
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2015 call assert_equal(2, winnr('$'))
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2016 endif
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2017 Xclose
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2018 endfunc
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2019
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2020 " Tests for the quickifx free functionality
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2021 func Test_qf_free()
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2022 call XfreeTests('c')
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2023 call XfreeTests('l')
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
2024 endfunc
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2025
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2026 func Test_no_reuse_mem()
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2027 set efm=E,%W%m,
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2028 cgetexpr ['C']
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2029 set efm=%C%m
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2030 lexpr '0'
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2031 lopen
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2032 call setqflist([], 'r')
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2033 caddbuf
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2034
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2035 set efm&
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
2036 endfunc