annotate src/testdir/test_quickfix.vim @ 30669:de319bf98a39 v9.0.0669

patch 9.0.0669: too many delete() calls in tests Commit: https://github.com/vim/vim/commit/db77cb3c08784e6038dd029271b2080c1b2d9acb Author: Bram Moolenaar <Bram@vim.org> Date: Wed Oct 5 21:45:30 2022 +0100 patch 9.0.0669: too many delete() calls in tests Problem: Too many delete() calls in tests. Solution: Use deferred delete where possible.
author Bram Moolenaar <Bram@vim.org>
date Wed, 05 Oct 2022 23:00:04 +0200
parents d891115c0aea
children bba8d0f45cb8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15770
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
1 " Test for the quickfix feature.
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents: 17049
diff changeset
3 source check.vim
27457
4c16acb2525f patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents: 26618
diff changeset
4 import './vim9.vim' as v9
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents: 17049
diff changeset
5 CheckFeature quickfix
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6
18090
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
7 source screendump.vim
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
8
8649
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
9 set encoding=utf-8
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
10
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
11 func s:setup_commands(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
12 if a:cchar == 'c'
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
13 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
14 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
15 command! -nargs=* Xaddexpr <mods>caddexpr <args>
12084
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
16 command! -nargs=* -count Xolder <mods><count>colder <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
17 command! -nargs=* Xnewer <mods>cnewer <args>
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
18 command! -nargs=* Xopen <mods> copen <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
19 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
20 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
21 command! -nargs=* Xclose <mods>cclose <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
22 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
23 command! -nargs=* Xgetfile <mods>cgetfile <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
24 command! -nargs=* Xaddfile <mods>caddfile <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
25 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
26 command! -nargs=* Xgetbuffer <mods>cgetbuffer <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
27 command! -nargs=* Xaddbuffer <mods>caddbuffer <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
28 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
29 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
30 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
31 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
32 command! -nargs=* -bang Xlast <mods>clast<bang> <args>
16515
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
33 command! -count -nargs=* -bang Xnfile <mods><count>cnfile<bang> <args>
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
34 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
35 command! -nargs=* Xexpr <mods>cexpr <args>
24547
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
36 command! -count=999 -nargs=* Xvimgrep <mods> <count>vimgrep <args>
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
37 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
38 command! -nargs=* Xgrep <mods> grep <args>
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
39 command! -nargs=* Xgrepadd <mods> grepadd <args>
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
40 command! -nargs=* Xhelpgrep helpgrep <args>
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
41 command! -nargs=0 -count Xcc <count>cc
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
42 command! -count=1 -nargs=0 Xbelow <mods><count>cbelow
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
43 command! -count=1 -nargs=0 Xabove <mods><count>cabove
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
44 command! -count=1 -nargs=0 Xbefore <mods><count>cbefore
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
45 command! -count=1 -nargs=0 Xafter <mods><count>cafter
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
46 let g:Xgetlist = function('getqflist')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
47 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
48 call setqflist([], 'f')
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
49 else
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
50 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
51 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
52 command! -nargs=* Xaddexpr <mods>laddexpr <args>
12084
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
53 command! -nargs=* -count Xolder <mods><count>lolder <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
54 command! -nargs=* Xnewer <mods>lnewer <args>
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
55 command! -nargs=* Xopen <mods> lopen <args>
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
56 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
57 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
58 command! -nargs=* Xclose <mods>lclose <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
59 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
60 command! -nargs=* Xgetfile <mods>lgetfile <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
61 command! -nargs=* Xaddfile <mods>laddfile <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
62 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
63 command! -nargs=* Xgetbuffer <mods>lgetbuffer <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
64 command! -nargs=* Xaddbuffer <mods>laddbuffer <args>
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
65 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
66 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
67 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
68 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
69 command! -nargs=* -bang Xlast <mods>llast<bang> <args>
16515
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
70 command! -count -nargs=* -bang Xnfile <mods><count>lnfile<bang> <args>
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
71 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
72 command! -nargs=* Xexpr <mods>lexpr <args>
24547
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
73 command! -count=999 -nargs=* Xvimgrep <mods> <count>lvimgrep <args>
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
74 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
75 command! -nargs=* Xgrep <mods> lgrep <args>
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
76 command! -nargs=* Xgrepadd <mods> lgrepadd <args>
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
77 command! -nargs=* Xhelpgrep lhelpgrep <args>
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
78 command! -nargs=0 -count Xcc <count>ll
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
79 command! -count=1 -nargs=0 Xbelow <mods><count>lbelow
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
80 command! -count=1 -nargs=0 Xabove <mods><count>labove
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
81 command! -count=1 -nargs=0 Xbefore <mods><count>lbefore
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
82 command! -count=1 -nargs=0 Xafter <mods><count>lafter
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
83 let g:Xgetlist = function('getloclist', [0])
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
84 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
85 call setloclist(0, [], 'f')
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
86 endif
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
87 endfunc
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
88
26568
c675779d5f2b patch 8.2.3813: confusing error when using :cc without error list
Bram Moolenaar <Bram@vim.org>
parents: 26526
diff changeset
89 " This must be run before any error lists are created.
c675779d5f2b patch 8.2.3813: confusing error when using :cc without error list
Bram Moolenaar <Bram@vim.org>
parents: 26526
diff changeset
90 func Test_AA_cc_no_errors()
c675779d5f2b patch 8.2.3813: confusing error when using :cc without error list
Bram Moolenaar <Bram@vim.org>
parents: 26526
diff changeset
91 call assert_fails('cc', 'E42:')
c675779d5f2b patch 8.2.3813: confusing error when using :cc without error list
Bram Moolenaar <Bram@vim.org>
parents: 26526
diff changeset
92 call assert_fails('ll', 'E42:')
c675779d5f2b patch 8.2.3813: confusing error when using :cc without error list
Bram Moolenaar <Bram@vim.org>
parents: 26526
diff changeset
93 endfunc
c675779d5f2b patch 8.2.3813: confusing error when using :cc without error list
Bram Moolenaar <Bram@vim.org>
parents: 26526
diff changeset
94
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
95 " 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
96 func XlistTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
97 call s:setup_commands(a:cchar)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
98
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
99 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
100 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
101 endif
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
102 " 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
103 Xgetexpr []
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
104 silent! Xlist
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
105 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
106
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
107 " Populate the list and then try
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
108 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
109 non-error 1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
110 Xtestfile1:1:3:Line1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
111 non-error 2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
112 Xtestfile2:2:2:Line2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
113 non-error| 3
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
114 Xtestfile3:3:1:Line3
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
115 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
116 Xgetexpr lines
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
117
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
118 " 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
119 let l = split(execute('Xlist', ''), "\n")
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
120 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
121 \ ' 4 Xtestfile2:2 col 2: Line2',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
122 \ ' 6 Xtestfile3:3 col 1: Line3'], l)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
123
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
124 " 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
125 let l = split(execute('Xlist!', ''), "\n")
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
126 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
127 \ ' 3: non-error 2', ' 4 Xtestfile2:2 col 2: Line2',
18827
f98368dd6615 patch 8.1.2401: :cexpr does not handle | in expression
Bram Moolenaar <Bram@vim.org>
parents: 18740
diff changeset
128 \ ' 5: non-error| 3', ' 6 Xtestfile3:3 col 1: Line3'], l)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
129
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
130 " 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
131 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
132 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
133 \ ' 6 Xtestfile3:3 col 1: Line3'], l)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
134
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
135 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
136 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
137
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
138 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
139 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
140
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
141 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
142 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
143 \ ' 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
144
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
145 " 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
146 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
147 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
148 \ ' 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
149
24964
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
150 " Ranged entries
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
151 call g:Xsetlist([{'lnum':10,'text':'Line1'},
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
152 \ {'lnum':20,'col':10,'text':'Line2'},
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
153 \ {'lnum':30,'col':15,'end_col':20,'text':'Line3'},
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
154 \ {'lnum':40,'end_lnum':45,'text':'Line4'},
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
155 \ {'lnum':50,'end_lnum':55,'col':15,'text':'Line5'},
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
156 \ {'lnum':60,'end_lnum':65,'col':25,'end_col':35,'text':'Line6'}])
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
157 let l = split(execute('Xlist', ""), "\n")
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
158 call assert_equal([' 1:10: Line1',
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
159 \ ' 2:20 col 10: Line2',
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
160 \ ' 3:30 col 15-20: Line3',
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
161 \ ' 4:40-45: Line4',
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
162 \ ' 5:50-55 col 15: Line5',
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
163 \ ' 6:60-65 col 25-35: Line6'], l)
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
164
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
165 " 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
166 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
167 \ {'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
168 \ {'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
169 \ {'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
170 \ {'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
171 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
172 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
173 \ ' 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
174 \ ' 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
175 \ ' 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
176 \ ' 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
177
13821
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
178 " Test for module names, one needs to explicitly set `'valid':v:true` so
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
179 call g:Xsetlist([
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
180 \ {'lnum':10,'col':5,'type':'W','module':'Data.Text','text':'ModuleWarning','nr':11,'valid':v:true},
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
181 \ {'lnum':20,'col':10,'type':'W','module':'Data.Text','filename':'Data/Text.hs','text':'ModuleWarning','nr':22,'valid':v:true},
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
182 \ {'lnum':30,'col':15,'type':'W','filename':'Data/Text.hs','text':'FileWarning','nr':33,'valid':v:true}])
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
183 let l = split(execute('Xlist', ""), "\n")
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
184 call assert_equal([' 1 Data.Text:10 col 5 warning 11: ModuleWarning',
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
185 \ ' 2 Data.Text:20 col 10 warning 22: ModuleWarning',
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
186 \ ' 3 Data/Text.hs:30 col 15 warning 33: FileWarning'], l)
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
187
29511
3778f9415b92 patch 9.0.0097: long quickfix line is truncated for :clist
Bram Moolenaar <Bram@vim.org>
parents: 29379
diff changeset
188 " Very long line should be displayed.
3778f9415b92 patch 9.0.0097: long quickfix line is truncated for :clist
Bram Moolenaar <Bram@vim.org>
parents: 29379
diff changeset
189 let text = 'Line' .. repeat('1234567890', 130)
3778f9415b92 patch 9.0.0097: long quickfix line is truncated for :clist
Bram Moolenaar <Bram@vim.org>
parents: 29379
diff changeset
190 let lines = ['Xtestfile9:2:9:' .. text]
3778f9415b92 patch 9.0.0097: long quickfix line is truncated for :clist
Bram Moolenaar <Bram@vim.org>
parents: 29379
diff changeset
191 Xgetexpr lines
3778f9415b92 patch 9.0.0097: long quickfix line is truncated for :clist
Bram Moolenaar <Bram@vim.org>
parents: 29379
diff changeset
192
3778f9415b92 patch 9.0.0097: long quickfix line is truncated for :clist
Bram Moolenaar <Bram@vim.org>
parents: 29379
diff changeset
193 let l = split(execute('Xlist', ''), "\n")
3778f9415b92 patch 9.0.0097: long quickfix line is truncated for :clist
Bram Moolenaar <Bram@vim.org>
parents: 29379
diff changeset
194 call assert_equal([' 1 Xtestfile9:2 col 9: ' .. text] , l)
3778f9415b92 patch 9.0.0097: long quickfix line is truncated for :clist
Bram Moolenaar <Bram@vim.org>
parents: 29379
diff changeset
195
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
196 " For help entries in the quickfix list, only the filename without directory
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
197 " should be displayed
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
198 Xhelpgrep setqflist()
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
199 let l = split(execute('Xlist 1', ''), "\n")
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
200 call assert_match('^ 1 [^\\/]\{-}:', l[0])
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
201
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
202 " Error cases
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
203 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
204 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
205
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
206 func Test_clist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
207 call XlistTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
208 call XlistTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
209 endfunc
7502
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 " 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
212 " 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
213 " already set by the caller.
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
214 func XageTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
215 call s:setup_commands(a:cchar)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
216
16215
4202f556aefe patch 8.1.1112: duplicate code in quickfix file
Bram Moolenaar <Bram@vim.org>
parents: 16019
diff changeset
217 if a:cchar == 'l'
4202f556aefe patch 8.1.1112: duplicate code in quickfix file
Bram Moolenaar <Bram@vim.org>
parents: 16019
diff changeset
218 " No location list for the current window
4202f556aefe patch 8.1.1112: duplicate code in quickfix file
Bram Moolenaar <Bram@vim.org>
parents: 16019
diff changeset
219 call assert_fails('lolder', 'E776:')
4202f556aefe patch 8.1.1112: duplicate code in quickfix file
Bram Moolenaar <Bram@vim.org>
parents: 16019
diff changeset
220 call assert_fails('lnewer', 'E776:')
4202f556aefe patch 8.1.1112: duplicate code in quickfix file
Bram Moolenaar <Bram@vim.org>
parents: 16019
diff changeset
221 endif
4202f556aefe patch 8.1.1112: duplicate code in quickfix file
Bram Moolenaar <Bram@vim.org>
parents: 16019
diff changeset
222
12692
03a6aeea2096 patch 8.0.1224: still interference between test functions
Christian Brabandt <cb@256bit.org>
parents: 12465
diff changeset
223 let list = [{'bufnr': bufnr('%'), 'lnum': 1}]
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
224 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
225
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
226 " 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
227 silent! Xolder 99
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
228 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
229
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
230 silent! Xnewer 99
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
231 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
232
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
233 " Add three quickfix/location lists
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
234 Xgetexpr ['Xtestfile1:1:3:Line1']
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
235 Xgetexpr ['Xtestfile2:2:2:Line2']
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
236 Xgetexpr ['Xtestfile3:3:1:Line3']
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
237
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
238 " Go back two lists
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
239 Xolder
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
240 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
241 call assert_equal('Line2', l[0].text)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
242
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
243 " Go forward two lists
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
244 Xnewer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
245 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
246 call assert_equal('Line3', l[0].text)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
247
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
248 " 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
249 Xolder 2
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
250 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
251 call assert_equal('Line1', l[0].text)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
252
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
253 Xnewer 2
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
254 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
255 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
256 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
257
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
258 func Test_cage()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
259 call XageTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
260 call XageTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
261 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
262
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
263 " 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
264 " commands
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
265 func XwindowTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
266 call s:setup_commands(a:cchar)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
267
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
268 " 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
269 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
270 call assert_fails('lopen', 'E776:')
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
271 call assert_fails('lwindow', 'E776:')
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
272 endif
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
273
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
274 " 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
275 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
276
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
277 " 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
278 Xwindow
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
279 call assert_true(winnr('$') == 1)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
280
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
281 " Create a list with valid entries
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
282 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
283 Xtestfile1:1:3:Line1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
284 Xtestfile2:2:2:Line2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
285 Xtestfile3:3:1:Line3
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
286 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
287 Xgetexpr lines
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
288
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
289 " Open the window
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
290 Xwindow
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
291 call assert_true(winnr('$') == 2 && winnr() == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
292 \ 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
293 redraw!
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
294
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
295 " Close the window
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
296 Xclose
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
297 call assert_true(winnr('$') == 1)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
298
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
299 " 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
300 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
301
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
302 " Open the window
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
303 Xopen 5
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
304 call assert_true(winnr('$') == 2 && getline('.') ==# '|| non-error 1'
22083
c67a9d3b3683 patch 8.2.1591: using winheight('.') in tests works but is wrong
Bram Moolenaar <Bram@vim.org>
parents: 22015
diff changeset
305 \ && winheight(0) == 5)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
306
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
307 " 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
308 wincmd t
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
309 Xopen 7
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
310 call assert_true(winnr('$') == 2 && winnr() == 2 &&
22083
c67a9d3b3683 patch 8.2.1591: using winheight('.') in tests works but is wrong
Bram Moolenaar <Bram@vim.org>
parents: 22015
diff changeset
311 \ winheight(0) == 7 &&
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
312 \ getline('.') ==# '|| non-error 1')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
313
18740
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
314 " :cnext in quickfix window should move to the next entry
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
315 Xnext
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
316 call assert_equal(2, g:Xgetlist({'idx' : 0}).idx)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
317
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
318 " 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
319 Xwindow
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
320 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
321
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
322 " Specifying the width should adjust the width for a vertically split
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
323 " quickfix window.
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
324 vert Xopen
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
325 call assert_equal(10, winwidth(0))
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
326 vert Xopen 12
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
327 call assert_equal(12, winwidth(0))
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
328 Xclose
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
329
21020
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
330 " Horizontally or vertically splitting the quickfix window should create a
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
331 " normal window/buffer
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
332 Xopen
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
333 wincmd s
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
334 call assert_equal(0, getwininfo(win_getid())[0].quickfix)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
335 call assert_equal(0, getwininfo(win_getid())[0].loclist)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
336 call assert_notequal('quickfix', &buftype)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
337 close
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
338 Xopen
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
339 wincmd v
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
340 call assert_equal(0, getwininfo(win_getid())[0].quickfix)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
341 call assert_equal(0, getwininfo(win_getid())[0].loclist)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
342 call assert_notequal('quickfix', &buftype)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
343 close
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
344 Xopen
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
345 Xclose
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20978
diff changeset
346
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
347 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
348 " 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
349 " quickfix buffer
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
350 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
351 Xtestfile1:1:3:Line1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
352 Xtestfile2:2:2:Line2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
353 Xtestfile3:3:1:Line3
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
354 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
355 Xgetexpr lines
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
356 Xopen
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
357 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
358 tabnew
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
359 Xopen
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
360 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
361 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
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_cwindow()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
366 call XwindowTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
367 call XwindowTests('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
16483
393dd420a753 patch 8.1.1245: ":copen 10" sets height in full-height window
Bram Moolenaar <Bram@vim.org>
parents: 16259
diff changeset
370 func Test_copenHeight()
393dd420a753 patch 8.1.1245: ":copen 10" sets height in full-height window
Bram Moolenaar <Bram@vim.org>
parents: 16259
diff changeset
371 copen
393dd420a753 patch 8.1.1245: ":copen 10" sets height in full-height window
Bram Moolenaar <Bram@vim.org>
parents: 16259
diff changeset
372 wincmd H
393dd420a753 patch 8.1.1245: ":copen 10" sets height in full-height window
Bram Moolenaar <Bram@vim.org>
parents: 16259
diff changeset
373 let height = winheight(0)
393dd420a753 patch 8.1.1245: ":copen 10" sets height in full-height window
Bram Moolenaar <Bram@vim.org>
parents: 16259
diff changeset
374 copen 10
393dd420a753 patch 8.1.1245: ":copen 10" sets height in full-height window
Bram Moolenaar <Bram@vim.org>
parents: 16259
diff changeset
375 call assert_equal(height, winheight(0))
393dd420a753 patch 8.1.1245: ":copen 10" sets height in full-height window
Bram Moolenaar <Bram@vim.org>
parents: 16259
diff changeset
376 quit
393dd420a753 patch 8.1.1245: ":copen 10" sets height in full-height window
Bram Moolenaar <Bram@vim.org>
parents: 16259
diff changeset
377 endfunc
393dd420a753 patch 8.1.1245: ":copen 10" sets height in full-height window
Bram Moolenaar <Bram@vim.org>
parents: 16259
diff changeset
378
18319
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
379 func Test_copenHeight_tabline()
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
380 set tabline=foo showtabline=2
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
381 copen
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
382 wincmd H
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
383 let height = winheight(0)
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
384 copen 10
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
385 call assert_equal(height, winheight(0))
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
386 quit
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
387 set tabline& showtabline&
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
388 endfunc
4cc8a1a134fc patch 8.1.2154: quickfix window height wrong when there is a tabline
Bram Moolenaar <Bram@vim.org>
parents: 18090
diff changeset
389
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
390 " 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
391 " commands.
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
392 func XfileTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
393 call s:setup_commands(a:cchar)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
394
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
395 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
396 Xtestfile1:700:10:Line 700
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
397 Xtestfile2:800:15:Line 800
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
398 END
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
399 call writefile(lines, 'Xqftestfile1', 'D')
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
400
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
401 enew!
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
402 Xfile Xqftestfile1
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
403 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
404 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
405 \ 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
406 \ 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
407
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
408 " Test with a non existent file
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
409 call assert_fails('Xfile non_existent_file', 'E40:')
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
410
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
411 " Run cfile/lfile from a modified buffer
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
412 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
413 silent! put ='Quickfix'
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
414 silent! Xfile Xqftestfile1
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
415 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
416
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
417 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
418 Xaddfile Xqftestfile1
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
419 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
420 call assert_true(len(l) == 3 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
421 \ 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
422
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
423 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
424 Xtestfile1:222:77:Line 222
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
425 Xtestfile2:333:88:Line 333
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
426 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
427 call writefile(lines, 'Xqftestfile1')
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
428
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
429 enew!
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
430 Xgetfile Xqftestfile1
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
431 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
432 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
433 \ 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
434 \ 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
435
18695
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
436 " Test for a file with a long line and without a newline at the end
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
437 let text = repeat('x', 1024)
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
438 let t = 'a.txt:18:' . text
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
439 call writefile([t], 'Xqftestfile1', 'b')
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
440 silent! Xfile Xqftestfile1
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
441 call assert_equal(text, g:Xgetlist()[0].text)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
442 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
443
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
444 func Test_cfile()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
445 call XfileTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
446 call XfileTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
447 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
448
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
449 " 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
450 " :lgetbuffer commands.
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
451 func XbufferTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
452 call s:setup_commands(a:cchar)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
453
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
454 enew!
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
455 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
456 Xtestfile7:700:10:Line 700
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
457 Xtestfile8:800:15:Line 800
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
458 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
459 silent! call setline(1, lines)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
460 Xbuffer!
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
461 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
462 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
463 \ 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
464 \ 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
465
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
466 enew!
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
467 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
468 Xtestfile9:900:55:Line 900
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
469 Xtestfile10:950:66:Line 950
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
470 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
471 silent! call setline(1, lines)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
472 Xgetbuffer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
473 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
474 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
475 \ 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
476 \ 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
477
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
478 enew!
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
479 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
480 Xtestfile11:700:20:Line 700
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
481 Xtestfile12:750:25:Line 750
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
482 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
483 silent! call setline(1, lines)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
484 Xaddbuffer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
485 let l = g:Xgetlist()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
486 call assert_true(len(l) == 4 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
487 \ 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
488 \ 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
489 \ 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
490 enew!
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
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 " 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
493 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
494
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
495 " 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
496 edit Xtestfile1
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
497 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
498 enew!
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
499 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
500
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
501 " 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
502 " 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
503 " 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
504 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
505 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
506 else
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
507 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
508 endif
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
509 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
510
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
511 func Test_cbuffer()
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
512 call XbufferTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
513 call XbufferTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
514 endfunc
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
515
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
516 func XexprTests(cchar)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
517 call s:setup_commands(a:cchar)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
518
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
519 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
520 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
521
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
522 func Test_cexpr()
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
523 call XexprTests('c')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
524 call XexprTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
525 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
526
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
527 " 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
528 func Xtest_browse(cchar)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
529 call s:setup_commands(a:cchar)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
530
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
531 call g:Xsetlist([], 'f')
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
532 " 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
533 " result in failure
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
534 if a:cchar == 'c'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
535 let err = 'E42:'
18740
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
536 let cmd = '$cc'
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
537 else
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
538 let err = 'E776:'
18740
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
539 let cmd = '$ll'
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
540 endif
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
541 call assert_fails('Xnext', err)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
542 call assert_fails('Xprev', err)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
543 call assert_fails('Xnfile', err)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
544 call assert_fails('Xpfile', err)
18740
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
545 call assert_fails(cmd, err)
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
546
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
547 Xexpr ''
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
548 call assert_fails(cmd, 'E42:')
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
549
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
550 call s:create_test_file('Xqftestfile1')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
551 call s:create_test_file('Xqftestfile2')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
552
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
553 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
554 Xqftestfile1:5:Line5
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
555 Xqftestfile1:6:Line6
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
556 Xqftestfile2:10:Line10
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
557 Xqftestfile2:11:Line11
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
558 RegularLine1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
559 RegularLine2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
560 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
561 Xgetexpr lines
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
562
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
563 Xfirst
19471
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19435
diff changeset
564 call assert_fails('-5Xcc', 'E16:')
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
565 call assert_fails('Xprev', 'E553:')
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
566 call assert_fails('Xpfile', 'E553:')
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
567 Xnfile
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
568 call assert_equal('Xqftestfile2', @%)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
569 call assert_equal(10, line('.'))
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
570 Xpfile
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
571 call assert_equal('Xqftestfile1', @%)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
572 call assert_equal(6, line('.'))
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
573 5Xcc
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
574 call assert_equal(5, g:Xgetlist({'idx':0}).idx)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
575 2Xcc
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
576 call assert_equal(2, g:Xgetlist({'idx':0}).idx)
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
577 if a:cchar == 'c'
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
578 cc
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
579 else
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
580 ll
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
581 endif
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
582 call assert_equal(2, g:Xgetlist({'idx':0}).idx)
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
583 10Xcc
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
584 call assert_equal(6, g:Xgetlist({'idx':0}).idx)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
585 Xlast
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
586 Xprev
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
587 call assert_equal('Xqftestfile2', @%)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
588 call assert_equal(11, line('.'))
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
589 call assert_fails('Xnext', 'E553:')
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
590 call assert_fails('Xnfile', 'E553:')
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
591 " To process the range using quickfix list entries, directly use the
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
592 " quickfix commands (don't use the user defined commands)
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
593 if a:cchar == 'c'
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
594 $cc
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
595 else
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
596 $ll
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
597 endif
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
598 call assert_equal(6, g:Xgetlist({'idx':0}).idx)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
599 Xrewind
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
600 call assert_equal('Xqftestfile1', @%)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
601 call assert_equal(5, line('.'))
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
602
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
603 10Xnext
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
604 call assert_equal('Xqftestfile2', @%)
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
605 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
606 10Xprev
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
607 call assert_equal('Xqftestfile1', @%)
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
608 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
609
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
610 " Jumping to an error from the error window using cc command
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
611 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
612 Xqftestfile1:5:Line5
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
613 Xqftestfile1:6:Line6
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
614 Xqftestfile2:10:Line10
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
615 Xqftestfile2:11:Line11
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
616 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
617 Xgetexpr lines
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
618 Xopen
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
619 10Xcc
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
620 call assert_equal(11, line('.'))
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
621 call assert_equal('Xqftestfile2', @%)
19407
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
622 Xopen
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
623 call cursor(2, 1)
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
624 if a:cchar == 'c'
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
625 .cc
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
626 else
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
627 .ll
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
628 endif
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
629 call assert_equal(6, line('.'))
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
630 call assert_equal('Xqftestfile1', @%)
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
631
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
632 " Jumping to an error from the error window (when only the error window is
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
633 " present)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
634 Xopen | only
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
635 Xlast 1
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
636 call assert_equal(5, line('.'))
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
637 call assert_equal('Xqftestfile1', @%)
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
638
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
639 Xexpr ""
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
640 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
641
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
642 call delete('Xqftestfile1')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
643 call delete('Xqftestfile2')
12465
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
644
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
645 " Should be able to use next/prev with invalid entries
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
646 Xexpr ""
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
647 call assert_equal(0, g:Xgetlist({'idx' : 0}).idx)
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
648 call assert_equal(0, g:Xgetlist({'size' : 0}).size)
18827
f98368dd6615 patch 8.1.2401: :cexpr does not handle | in expression
Bram Moolenaar <Bram@vim.org>
parents: 18740
diff changeset
649 Xaddexpr ['foo', 'bar', 'baz', 'quux', 'sh|moo']
12465
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
650 call assert_equal(5, g:Xgetlist({'size' : 0}).size)
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
651 Xlast
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
652 call assert_equal(5, g:Xgetlist({'idx' : 0}).idx)
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
653 Xfirst
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
654 call assert_equal(1, g:Xgetlist({'idx' : 0}).idx)
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
655 2Xnext
805f7fd40e0d patch 8.0.1112: can't get size or current index from quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12427
diff changeset
656 call assert_equal(3, g:Xgetlist({'idx' : 0}).idx)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
657 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
658
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
659 func Test_browse()
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
660 call Xtest_browse('c')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
661 call Xtest_browse('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
662 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
663
27897
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
664 " Test for memory allocation failures
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
665 func Xnomem_tests(cchar)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
666 call s:setup_commands(a:cchar)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
667
9121
7350959e53c3 commit https://github.com/vim/vim/commit/8e8df251bf2505e5decf258397c6069fbe5e2e01
Christian Brabandt <cb@256bit.org>
parents: 9114
diff changeset
668 call test_alloc_fail(GetAllocId('qf_dirname_start'), 0, 0)
27897
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
669 call assert_fails('Xvimgrep vim runtest.vim', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
670
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
671 call test_alloc_fail(GetAllocId('qf_dirname_now'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
672 call assert_fails('Xvimgrep vim runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
673
9121
7350959e53c3 commit https://github.com/vim/vim/commit/8e8df251bf2505e5decf258397c6069fbe5e2e01
Christian Brabandt <cb@256bit.org>
parents: 9114
diff changeset
674 call test_alloc_fail(GetAllocId('qf_namebuf'), 0, 0)
27897
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
675 call assert_fails('Xfile runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
676
9121
7350959e53c3 commit https://github.com/vim/vim/commit/8e8df251bf2505e5decf258397c6069fbe5e2e01
Christian Brabandt <cb@256bit.org>
parents: 9114
diff changeset
677 call test_alloc_fail(GetAllocId('qf_errmsg'), 0, 0)
27897
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
678 call assert_fails('Xfile runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
679
9121
7350959e53c3 commit https://github.com/vim/vim/commit/8e8df251bf2505e5decf258397c6069fbe5e2e01
Christian Brabandt <cb@256bit.org>
parents: 9114
diff changeset
680 call test_alloc_fail(GetAllocId('qf_pattern'), 0, 0)
27897
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
681 call assert_fails('Xfile runtest.vim', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
682
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
683 call test_alloc_fail(GetAllocId('qf_efm_fmtstr'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
684 set efm=%f
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
685 call assert_fails('Xexpr ["Xfile1"]', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
686 set efm&
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
687
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
688 call test_alloc_fail(GetAllocId('qf_efm_fmtpart'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
689 set efm=%f:%l:%m,%f-%l-%m
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
690 call assert_fails('Xaddexpr ["Xfile2", "Xfile3"]', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
691 set efm&
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
692
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
693 call test_alloc_fail(GetAllocId('qf_title'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
694 call assert_fails('Xexpr ""', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
695 call assert_equal('', g:Xgetlist({'all': 1}).title)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
696
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
697 call test_alloc_fail(GetAllocId('qf_mef_name'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
698 set makeef=Xtmp##.err
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
699 call assert_fails('Xgrep needle haystack', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
700 set makeef&
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
701
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
702 call test_alloc_fail(GetAllocId('qf_qfline'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
703 call assert_fails('Xexpr "Xfile1:10:Line10"', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
704
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
705 if a:cchar == 'l'
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
706 for id in ['qf_qfline', 'qf_qfinfo']
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
707 lgetexpr ["Xfile1:10:L10", "Xfile2:20:L20"]
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
708 call test_alloc_fail(GetAllocId(id), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
709 call assert_fails('new', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
710 call assert_equal(2, winnr('$'))
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
711 call assert_equal([], getloclist(0))
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
712 %bw!
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
713 endfor
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
714 endif
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
715
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
716 call test_alloc_fail(GetAllocId('qf_qfline'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
717 try
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
718 call assert_fails('Xvimgrep vim runtest.vim', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
719 catch /^Vim:Interrupt$/
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
720 endtry
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
721
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
722 call test_alloc_fail(GetAllocId('qf_qfline'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
723 try
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
724 call assert_fails('Xvimgrep /vim/f runtest.vim', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
725 catch /^Vim:Interrupt$/
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
726 endtry
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
727
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
728 let l = getqflist({"lines": ["Xfile1:10:L10"]})
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
729 call test_alloc_fail(GetAllocId('qf_qfline'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
730 call assert_fails('call g:Xsetlist(l.items)', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
731
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
732 call test_alloc_fail(GetAllocId('qf_qfline'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
733 try
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
734 call assert_fails('Xhelpgrep quickfix', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
735 catch /^Vim:Interrupt$/
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
736 endtry
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
737
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
738 call test_alloc_fail(GetAllocId('qf_qfinfo'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
739 call assert_fails('let l = g:Xgetlist({"lines": ["Xfile1:10:L10"]})', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
740 call assert_equal(#{items: []}, l)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
741
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
742 if a:cchar == 'l'
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
743 call setqflist([], 'f')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
744 call setloclist(0, [], 'f')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
745 call test_alloc_fail(GetAllocId('qf_qfinfo'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
746 call assert_fails('lhelpgrep quickfix', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
747 call assert_equal([], getloclist(0))
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
748
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
749 call test_alloc_fail(GetAllocId('qf_qfinfo'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
750 call assert_fails('lvimgrep vim runtest.vim', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
751
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
752 let l = getqflist({"lines": ["Xfile1:10:L10"]})
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
753 call test_alloc_fail(GetAllocId('qf_qfinfo'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
754 call assert_fails('call setloclist(0, l.items)', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
755
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
756 call test_alloc_fail(GetAllocId('qf_qfinfo'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
757 call assert_fails('lbuffer', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
758
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
759 call test_alloc_fail(GetAllocId('qf_qfinfo'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
760 call assert_fails('lexpr ["Xfile1:10:L10", "Xfile2:20:L20"]', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
761
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
762 call test_alloc_fail(GetAllocId('qf_qfinfo'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
763 call assert_fails('lfile runtest.vim', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
764 endif
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
765
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
766 call test_alloc_fail(GetAllocId('qf_dirstack'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
767 set efm=%DEntering\ dir\ %f,%f:%l:%m
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
768 call assert_fails('Xexpr ["Entering dir abc", "abc.txt:1:Hello world"]', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
769 set efm&
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
770
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
771 call test_alloc_fail(GetAllocId('qf_dirstack'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
772 set efm=%+P[%f],(%l)%m
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
773 call assert_fails('Xexpr ["[runtest.vim]", "(1)Hello"]', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
774 set efm&
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
775
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
776 call test_alloc_fail(GetAllocId('qf_multiline_pfx'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
777 set efm=%EError,%Cline\ %l,%Z%m
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
778 call assert_fails('Xexpr ["Error", "line 1", "msg"]', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
779 set efm&
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
780
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
781 call test_alloc_fail(GetAllocId('qf_makecmd'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
782 call assert_fails('Xgrep vim runtest.vim', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
783
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
784 call test_alloc_fail(GetAllocId('qf_linebuf'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
785 call assert_fails('Xexpr repeat("a", 8192)', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
786
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
787 call test_alloc_fail(GetAllocId('qf_linebuf'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
788 call assert_fails('Xexpr [repeat("a", 8192)]', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
789
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
790 new
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
791 call setline(1, repeat('a', 8192))
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
792 call test_alloc_fail(GetAllocId('qf_linebuf'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
793 call assert_fails('Xbuffer', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
794 %bw!
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
795
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
796 call writefile([repeat('a', 8192)], 'Xtest', 'D')
27897
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
797 call test_alloc_fail(GetAllocId('qf_linebuf'), 0, 0)
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
798 call assert_fails('Xfile Xtest', 'E342:')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
799 endfunc
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
800
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
801 func Test_nomem()
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
802 call Xnomem_tests('c')
2a2c0958a913 patch 8.2.4474: memory allocation failures not tested in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27873
diff changeset
803 call Xnomem_tests('l')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
804 endfunc
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
805
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
806 func s:test_xhelpgrep(cchar)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
807 call s:setup_commands(a:cchar)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
808 Xhelpgrep quickfix
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
809 Xopen
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
810 if a:cchar == 'c'
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
811 let title_text = ':helpgrep quickfix'
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
812 else
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
813 let title_text = ':lhelpgrep quickfix'
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
814 endif
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
815 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
816
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
817 " 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
818 only
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
819 Xnext
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
820 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
821 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
822 " 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
823 Xnext
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
824 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
825 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
826 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
827 " 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
828 " window
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
829 Xopen
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
830 Xnext
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
831 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
832 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
833 call assert_true(winnr('$') == 2)
24964
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
834 call assert_match('|\d\+ col \d\+-\d\+|', getbufline(winbufnr(2), 1)[0])
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
835
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
836 " 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
837 Xclose
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
838
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
839 " When the current window is vertically split, jumping to a help match
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
840 " should open the help window at the top.
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
841 only | enew
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
842 let w1 = win_getid()
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
843 vert new
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
844 let w2 = win_getid()
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
845 Xnext
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
846 let w3 = win_getid()
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
847 call assert_true(&buftype == 'help')
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
848 call assert_true(winnr() == 1)
18697
c035b4fa4bc5 patch 8.1.2340: quickfix test fails under valgrind and asan
Bram Moolenaar <Bram@vim.org>
parents: 18695
diff changeset
849 " See jump_to_help_window() for details
c035b4fa4bc5 patch 8.1.2340: quickfix test fails under valgrind and asan
Bram Moolenaar <Bram@vim.org>
parents: 18695
diff changeset
850 let w2_width = winwidth(w2)
c035b4fa4bc5 patch 8.1.2340: quickfix test fails under valgrind and asan
Bram Moolenaar <Bram@vim.org>
parents: 18695
diff changeset
851 if w2_width != &columns && w2_width < 80
c035b4fa4bc5 patch 8.1.2340: quickfix test fails under valgrind and asan
Bram Moolenaar <Bram@vim.org>
parents: 18695
diff changeset
852 call assert_equal(['col', [['leaf', w3],
c035b4fa4bc5 patch 8.1.2340: quickfix test fails under valgrind and asan
Bram Moolenaar <Bram@vim.org>
parents: 18695
diff changeset
853 \ ['row', [['leaf', w2], ['leaf', w1]]]]], winlayout())
c035b4fa4bc5 patch 8.1.2340: quickfix test fails under valgrind and asan
Bram Moolenaar <Bram@vim.org>
parents: 18695
diff changeset
854 else
c035b4fa4bc5 patch 8.1.2340: quickfix test fails under valgrind and asan
Bram Moolenaar <Bram@vim.org>
parents: 18695
diff changeset
855 call assert_equal(['row', [['col', [['leaf', w3], ['leaf', w2]]],
c035b4fa4bc5 patch 8.1.2340: quickfix test fails under valgrind and asan
Bram Moolenaar <Bram@vim.org>
parents: 18695
diff changeset
856 \ ['leaf', w1]]] , winlayout())
c035b4fa4bc5 patch 8.1.2340: quickfix test fails under valgrind and asan
Bram Moolenaar <Bram@vim.org>
parents: 18695
diff changeset
857 endif
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
858
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
859 new | only
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
860 set buftype=help
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
861 set modified
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
862 call assert_fails('Xnext', 'E37:')
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
863 set nomodified
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
864 new | only
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
865
12427
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
866 if a:cchar == 'l'
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
867 " When a help window is present, running :lhelpgrep should reuse the
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
868 " help window and not the current window
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
869 new | only
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
870 call g:Xsetlist([], 'f')
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
871 help index.txt
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
872 wincmd w
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
873 lhelpgrep quickfix
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
874 call assert_equal(1, winnr())
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
875 call assert_notequal([], getloclist(1))
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
876 call assert_equal([], getloclist(2))
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
877 endif
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
878
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
879 new | only
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
880
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
881 " 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
882 call assert_fails('Xhelpgrep a1b2c3', 'E480:')
14915
f508bb2fb808 patch 8.1.0469: too often indexing in qf_lists[]
Bram Moolenaar <Bram@vim.org>
parents: 14664
diff changeset
883 " Invalid regular expression
21265
6a4806e326dd patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents: 21100
diff changeset
884 call assert_fails('Xhelpgrep \@<!', 'E866:')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
885 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
886
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
887 func Test_helpgrep()
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
888 call s:test_xhelpgrep('c')
9752
429be545637a commit https://github.com/vim/vim/commit/cf25fdb8f10a92b3bf9e295c466c1b69812b7886
Christian Brabandt <cb@256bit.org>
parents: 9608
diff changeset
889 helpclose
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
890 call s:test_xhelpgrep('l')
7677
85a7a945fb87 commit https://github.com/vim/vim/commit/62ef797496c6243d111c596a592a8ef8c1d1e710
Christian Brabandt <cb@256bit.org>
parents: 7593
diff changeset
891 endfunc
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
892
23493
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
893 def Test_helpgrep_vim9_restore_cpo()
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
894 assert_equal('aABceFs', &cpo)
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
895
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
896 var rtp_save = &rtp
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
897 var dir = 'Xruntime/after'
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
898 &rtp ..= ',' .. dir
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
899 mkdir(dir .. '/ftplugin', 'pR')
23938
2a885d095bff patch 8.2.2511: Vim9: cannot use Vim9 script syntax in some places
Bram Moolenaar <Bram@vim.org>
parents: 23778
diff changeset
900 writefile(['vim9script'], dir .. '/ftplugin/qf.vim')
23493
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
901 filetype plugin on
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
902 silent helpgrep grail
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
903 cwindow
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
904 silent helpgrep grail
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
905
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
906 assert_equal('aABceFs', &cpo)
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
907 &rtp = rtp_save
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
908 cclose
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
909 helpclose
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
910 enddef
f8382c4e6551 patch 8.2.2289: Vim9: 'cpo' can become empty
Bram Moolenaar <Bram@vim.org>
parents: 23203
diff changeset
911
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
912 " When running the :helpgrep command, if an autocmd modifies the 'cpoptions'
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
913 " value, then Vim crashes. (issue fixed by 7.2b-004 and 8.2.4453)
27855
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
914 func Test_helpgrep_restore_cpo_aucmd()
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
915 let save_cpo = &cpo
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
916 augroup QF_Test
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
917 au!
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
918 autocmd BufNew * set cpo=acd
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
919 augroup END
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
920
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
921 helpgrep quickfix
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
922 call assert_equal('acd', &cpo)
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
923 %bw!
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
924
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
925 set cpo&vim
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
926 augroup QF_Test
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
927 au!
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
928 autocmd BufReadPost * set cpo=
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
929 augroup END
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
930
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
931 helpgrep buffer
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
932 call assert_equal('', &cpo)
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
933
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
934 augroup QF_Test
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
935 au!
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
936 augroup END
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
937 %bw!
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
938 let &cpo = save_cpo
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
939 endfunc
44a552776007 patch 8.2.4453: :helpgrep may free an option that was not allocated
Bram Moolenaar <Bram@vim.org>
parents: 27605
diff changeset
940
24590
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
941 def Test_vim9_cexpr()
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
942 var text = 'somefile:95:error'
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
943 cexpr text
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
944 var l = getqflist()
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
945 assert_equal(1, l->len())
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
946 assert_equal(95, l[0].lnum)
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
947 assert_equal('error', l[0].text)
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
948
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
949 text = 'somefile:77:warning'
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
950 caddexpr text
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
951 l = getqflist()
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
952 assert_equal(2, l->len())
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
953 assert_equal(77, l[1].lnum)
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
954 assert_equal('warning', l[1].text)
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
955 enddef
2818f846f099 patch 8.2.2834: Vim9: :cexpr does not work with local variables
Bram Moolenaar <Bram@vim.org>
parents: 24547
diff changeset
956
7710
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
957 func Test_errortitle()
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
958 augroup QfBufWinEnter
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
959 au!
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
960 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
961 augroup END
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
962 copen
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
963 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
964 call setqflist(a)
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
965 call assert_equal(':setqflist()', g:a)
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
966 augroup QfBufWinEnter
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
967 au!
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
968 augroup END
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
969 augroup! QfBufWinEnter
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
970 endfunc
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
971
8603
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
972 func Test_vimgreptitle()
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
973 augroup QfBufWinEnter
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
974 au!
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
975 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
976 augroup END
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
977 try
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
978 vimgrep /pattern/j file
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
979 catch /E480/
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
980 endtry
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
981 copen
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
982 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
983 augroup QfBufWinEnter
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
984 au!
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
985 augroup END
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
986 augroup! QfBufWinEnter
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
987 endfunc
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
988
26026
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
989 func Test_bufwinenter_once()
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
990 augroup QfBufWinEnter
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
991 au!
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
992 au BufWinEnter * let g:got_afile ..= 'got ' .. expand('<afile>')
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
993 augroup END
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
994 let g:got_afile = ''
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
995 copen
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
996 call assert_equal('got quickfix', g:got_afile)
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
997
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
998 cclose
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
999 unlet g:got_afile
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
1000 augroup QfBufWinEnter
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
1001 au!
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
1002 augroup END
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
1003 augroup! QfBufWinEnter
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
1004 endfunc
db9fdfb86679 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Bram Moolenaar <Bram@vim.org>
parents: 25435
diff changeset
1005
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1006 func XqfTitleTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1007 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
1008
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1009 Xgetexpr ['file:1:1:message']
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1010 let l = g:Xgetlist()
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1011 if a:cchar == 'c'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1012 call setqflist(l, 'r')
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1013 else
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1014 call setloclist(0, l, 'r')
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1015 endif
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1016
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1017 Xopen
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1018 if a:cchar == 'c'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1019 let title = ':setqflist()'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1020 else
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1021 let title = ':setloclist()'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1022 endif
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1023 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
1024 Xclose
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1025 endfunc
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1026
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1027 " 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
1028 func Test_qf_title()
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1029 call XqfTitleTests('c')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1030 call XqfTitleTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1031 endfunc
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1032
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1033 " Tests for 'errorformat'
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1034 func Test_efm()
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1035 let save_efm = &efm
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1036 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
1037 cgetexpr ['WWWW', 'EEEE', 'CCCC']
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1038 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
1039 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
1040 cgetexpr ['WWWW', 'GGGG', 'EEEE', 'CCCC']
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
1041 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
1042 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
1043 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
1044 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
1045 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
1046 let &efm = save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1047 endfunc
8597
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1048
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1049 " 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
1050 " 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
1051 " 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
1052 " 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
1053 " instead creating new windows.
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1054 " 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
1055 " window it belongs to.
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1056 "
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1057 " Set up the test environment:
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1058 func ReadTestProtocol(name)
8597
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1059 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
1060 let word = substitute(base, '\v(.*)\..*', '\1', '')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1061
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1062 setl modifiable
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1063 setl noreadonly
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1064 setl noswapfile
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1065 setl bufhidden=delete
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1066 %del _
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1067 " For problem 2:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1068 " '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
1069 setl buftype=nofile
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1070
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1071 call setline(1, word)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1072
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1073 setl nomodified
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1074 setl nomodifiable
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1075 setl readonly
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1076 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
1077 endfunc
8597
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
1078
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1079 func Test_locationlist()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1080 enew
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1081
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1082 augroup testgroup
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1083 au!
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1084 autocmd BufReadCmd test://* call ReadTestProtocol(expand("<amatch>"))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1085 augroup END
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1086
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1087 let words = [ "foo", "bar", "baz", "quux", "shmoo", "spam", "eggs" ]
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1088
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1089 let qflist = []
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1090 for word in words
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1091 call add(qflist, {'filename': 'test://' . word . '.txt', 'text': 'file ' . word . '.txt', })
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1092 " NOTE: problem 1:
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1093 " intentionally not setting 'lnum' so that the quickfix entries are not
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1094 " valid
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1095 eval qflist->setloclist(0, ' ')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1096 endfor
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1097
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1098 " Test A
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1099 lrewind
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1100 enew
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1101 lopen
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1102 4lnext
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1103 vert split
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1104 wincmd L
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1105 lopen
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1106 wincmd p
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1107 lnext
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1108 let fileName = expand("%")
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1109 wincmd p
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1110 let locationListFileName = substitute(getline(line('.')), '\([^|]*\)|.*', '\1', '')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1111 let fileName = substitute(fileName, '\\', '/', 'g')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1112 let locationListFileName = substitute(locationListFileName, '\\', '/', 'g')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1113 call assert_equal("test://bar.txt", fileName)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1114 call assert_equal("test://bar.txt", locationListFileName)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1115
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1116 wincmd n | only
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1117
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1118 " Test B:
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1119 lrewind
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1120 lopen
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1121 2
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1122 exe "normal \<CR>"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1123 wincmd p
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1124 3
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1125 exe "normal \<CR>"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1126 wincmd p
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1127 4
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1128 exe "normal \<CR>"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1129 call assert_equal(2, winnr('$'))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1130 wincmd n | only
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1131
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1132 " Test C:
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1133 lrewind
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1134 lopen
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1135 " Let's move the location list window to the top to check whether it (the
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1136 " first window found) will be reused when we try to open new windows:
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1137 wincmd K
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1138 2
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1139 exe "normal \<CR>"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1140 wincmd p
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1141 3
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1142 exe "normal \<CR>"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1143 wincmd p
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1144 4
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1145 exe "normal \<CR>"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1146 1wincmd w
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1147 call assert_equal('quickfix', &buftype)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1148 2wincmd w
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1149 let bufferName = expand("%")
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1150 let bufferName = substitute(bufferName, '\\', '/', 'g')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1151 call assert_equal('test://quux.txt', bufferName)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1152
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1153 wincmd n | only
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1154
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1155 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
1156 endfunc
8605
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
1157
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1158 func Test_locationlist_curwin_was_closed()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1159 augroup testgroup
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1160 au!
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1161 autocmd BufReadCmd test_curwin.txt call R(expand("<amatch>"))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1162 augroup END
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1163
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1164 func! R(n)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1165 quit
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1166 endfunc
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1167
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1168 new
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1169 let q = []
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1170 call add(q, {'filename': 'test_curwin.txt' })
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1171 call setloclist(0, q)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1172 call assert_fails('lrewind', 'E924:')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1173
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1174 augroup! testgroup
27507
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
1175 delfunc R
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1176 endfunc
8649
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
1177
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1178 func Test_locationlist_cross_tab_jump()
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1179 call writefile(['loclistfoo'], 'loclistfoo', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1180 call writefile(['loclistbar'], 'loclistbar', 'D')
10281
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
1181 set switchbuf=usetab
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
1182
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
1183 edit loclistfoo
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
1184 tabedit loclistbar
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
1185 silent lgrep loclistfoo loclist*
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
1186 call assert_equal(1, tabpagenr())
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
1187
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
1188 enew | only | tabonly
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
1189 set switchbuf&vim
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1190 endfunc
10281
92fa8e5ef210 commit https://github.com/vim/vim/commit/0a9046fbcb33770517ab0220b8100c4494bddab2
Christian Brabandt <cb@256bit.org>
parents: 10257
diff changeset
1191
8649
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
1192 " More tests for 'errorformat'
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1193 func Test_efm1()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1194 " The 'errorformat' setting is different on non-Unix systems.
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1195 " This test works only on Unix-like systems.
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1196 CheckUnix
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1197
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1198 let l =<< trim [DATA]
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1199 "Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1200 "Xtestfile", line 6 col 19; this is an error
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1201 gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1202 Xtestfile:9: parse error before `asd'
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1203 make: *** [vim] Error 1
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1204 in file "Xtestfile" linenr 10: there is an error
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1205
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1206 2 returned
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1207 "Xtestfile", line 11 col 1; this is an error
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1208 "Xtestfile", line 12 col 2; this is another error
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1209 "Xtestfile", line 14:10; this is an error in column 10
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1210 =Xtestfile=, line 15:10; this is another error, but in vcol 10 this time
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1211 "Xtestfile", linenr 16: yet another problem
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1212 Error in "Xtestfile" at line 17:
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1213 x should be a dot
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1214 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1215 ^
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1216 Error in "Xtestfile" at line 18:
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1217 x should be a dot
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1218 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1219 .............^
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1220 Error in "Xtestfile" at line 19:
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1221 x should be a dot
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1222 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1223 --------------^
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1224 Error in "Xtestfile" at line 20:
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1225 x should be a dot
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1226 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1227 ^
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1228
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1229 Does anyone know what is the problem and how to correction it?
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1230 "Xtestfile", line 21 col 9: What is the title of the quickfix window?
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1231 "Xtestfile", line 22 col 9: What is the title of the quickfix window?
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1232 [DATA]
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1233
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1234 call writefile(l, 'Xerrorfile1', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1235 call delete('loclistbar')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1236 call writefile(l[:-2], 'Xerrorfile2', 'D')
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1237
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1238 let m =<< [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1239 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 2
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1240 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 3
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1241 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 4
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1242 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 5
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1243 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 6
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1244 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 7
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1245 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 8
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1246 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 9
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1247 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 10
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1248 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 11
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1249 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 12
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1250 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 13
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1251 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 14
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1252 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 15
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1253 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 16
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1254 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1255 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1256 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1257 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1258 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 21
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1259 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 22
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1260 [DATA]
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1261 call writefile(m, 'Xtestfile', 'D')
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1262
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1263 let save_efm = &efm
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1264 set efm+==%f=\\,\ line\ %l%*\\D%v%*[^\ ]\ %m
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1265 set efm^=%AError\ in\ \"%f\"\ at\ line\ %l:,%Z%p^,%C%m
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1266
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1267 exe 'cf Xerrorfile2'
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1268 clast
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1269 copen
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1270 call assert_equal(':cf Xerrorfile2', w:quickfix_title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1271 wincmd p
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1272
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1273 exe 'cf Xerrorfile1'
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1274 call assert_equal([4, 12], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1275 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1276 call assert_equal([6, 19], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1277 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1278 call assert_equal([9, 2], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1279 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1280 call assert_equal([10, 2], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1281 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1282 call assert_equal([11, 1], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1283 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1284 call assert_equal([12, 2], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1285 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1286 call assert_equal([14, 10], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1287 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1288 call assert_equal([15, 3, 10], [line('.'), col('.'), virtcol('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1289 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1290 call assert_equal([16, 2], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1291 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1292 call assert_equal([17, 6], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1293 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1294 call assert_equal([18, 7], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1295 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1296 call assert_equal([19, 8], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1297 cn
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1298 call assert_equal([20, 9], [line('.'), col('.')])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1299 clast
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1300 cprev
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1301 cprev
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1302 wincmd w
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1303 call assert_equal(':cf Xerrorfile1', w:quickfix_title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1304 wincmd p
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1305
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
1306 let &efm = save_efm
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1307 endfunc
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1308
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1309 " 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
1310 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
1311 call s:setup_commands(a:cchar)
674f9e3ccd1a commit https://github.com/vim/vim/commit/38df43bd13a2498cc96b3ddd9a20dd75126bd171
Christian Brabandt <cb@256bit.org>
parents: 9317
diff changeset
1312
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1313 let save_efm=&efm
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1314 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
1315
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1316 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1317 Entering dir 'dir1/a'
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1318 habits2.txt:1:Nine Healthy Habits
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1319 Entering dir 'b'
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1320 habits3.txt:2:0 Hours of television
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1321 habits2.txt:7:5 Small meals
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1322 Entering dir 'dir1/c'
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1323 habits4.txt:3:1 Hour of exercise
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1324 Leaving dir 'dir1/c'
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1325 Leaving dir 'dir1/a'
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1326 habits1.txt:4:2 Liters of water
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1327 Entering dir 'dir2'
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1328 habits5.txt:5:3 Cups of hot green tea
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1329 Leaving dir 'dir2'
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1330 END
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1331
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1332 Xexpr ""
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1333 for l in lines
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1334 Xaddexpr l
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1335 endfor
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1336
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1337 let qf = g:Xgetlist()
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1338
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1339 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
1340 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
1341 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
1342 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
1343 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
1344 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
1345 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
1346 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
1347 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
1348 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
1349 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
1350 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
1351
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1352 let &efm=save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1353 endfunc
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1354
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1355 " 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
1356 func Test_efm_dirstack()
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1357 " Create the directory stack and files
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1358 call mkdir('dir1', 'R')
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1359 call mkdir('dir1/a')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1360 call mkdir('dir1/a/b')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1361 call mkdir('dir1/c')
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1362 call mkdir('dir2', 'R')
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1363
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1364 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1365 Nine Healthy Habits
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1366 0 Hours of television
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1367 1 Hour of exercise
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1368 2 Liters of water
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1369 3 Cups of hot green tea
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1370 4 Short mental breaks
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1371 5 Small meals
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1372 6 AM wake up time
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1373 7 Minutes of laughter
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1374 8 Hours of sleep (at least)
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1375 9 PM end of the day and off to bed
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1376 END
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1377 call writefile(lines, 'habits1.txt', 'D')
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1378 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
1379 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
1380 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
1381 call writefile(lines, 'dir2/habits5.txt')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1382
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1383 call s:dir_stack_tests('c')
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1384 call s:dir_stack_tests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1385 endfunc
9309
178252c6850e commit https://github.com/vim/vim/commit/ab47c61f46f0797308217cd3c045472cb0ec3195
Christian Brabandt <cb@256bit.org>
parents: 9258
diff changeset
1386
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1387 " 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
1388 func Xefm_ignore_continuations(cchar)
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1389 call s:setup_commands(a:cchar)
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1390
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1391 let save_efm = &efm
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1392
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1393 let &efm =
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1394 \ '%Eerror %m %l,' .
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1395 \ '%-Wignored %m %l,' .
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1396 \ '%+Cmore ignored %m %l,' .
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1397 \ '%Zignored end'
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1398 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1399 ignored warning 1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1400 more ignored continuation 2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1401 ignored end
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1402 error resync 4
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1403 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1404 Xgetexpr lines
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1405 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
1406 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
1407
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1408 let &efm = save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1409 endfunc
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1410
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1411 func Test_efm_ignore_continuations()
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1412 call Xefm_ignore_continuations('c')
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1413 call Xefm_ignore_continuations('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1414 endfunc
10257
2d0e6034743a commit https://github.com/vim/vim/commit/9b4579481892a62e7e002498b9eddaaf75bbda49
Christian Brabandt <cb@256bit.org>
parents: 10237
diff changeset
1415
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1416 " 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
1417 func Xinvalid_efm_Tests(cchar)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1418 call s:setup_commands(a:cchar)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1419
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1420 let save_efm = &efm
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1421
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1422 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
1423 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
1424
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1425 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
1426 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
1427
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1428 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
1429 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
1430
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1431 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
1432 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
1433
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1434 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
1435 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
1436
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1437 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
1438 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
1439
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1440 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
1441 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
1442
18695
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1443 " Invalid regular expression
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1444 set efm=%\\%%k
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1445 call assert_fails('Xexpr "abc.txt:1:Hello world"', 'E867:')
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1446
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1447 set efm=
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1448 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
1449
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1450 " Empty directory name. When there is an error in parsing new entries, make
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1451 " sure the previous quickfix list is made the current list.
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1452 set efm&
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1453 cexpr ["one", "two"]
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1454 let qf_id = getqflist(#{id: 0}).id
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1455 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
1456 call assert_fails('Xexpr ["Entering dir abc", "abc.txt:1:Hello world"]', 'E379:')
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1457 call assert_equal(qf_id, getqflist(#{id: 0}).id)
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1458
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1459 let &efm = save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1460 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1461
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1462 func Test_invalid_efm()
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1463 call Xinvalid_efm_Tests('c')
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1464 call Xinvalid_efm_Tests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1465 endfunc
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1466
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1467 " TODO:
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1468 " 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
1469 " %r %O
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1470 func Test_efm2()
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1471 let save_efm = &efm
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 " Test for %s format in efm
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1474 set efm=%f:%s
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1475 cexpr 'Xtestfile:Line search text'
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1476 let l = getqflist()
18695
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1477 call assert_equal('^\VLine search text\$', l[0].pattern)
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1478 call assert_equal(0, l[0].lnum)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1479
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1480 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
1481 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
1482
18695
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1483 " Test for a long line
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1484 cexpr 'Xtestfile:' . repeat('a', 1026)
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1485 let l = getqflist()
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1486 call assert_equal('^\V' . repeat('a', 1019) . '\$', l[0].pattern)
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1487
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1488 " Test for %P, %Q and %t format specifiers
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1489 let lines =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1490 [Xtestfile1]
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1491 (1,17) error: ';' missing
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1492 (21,2) warning: variable 'z' not defined
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1493 (67,3) error: end of file found before string ended
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1494 --
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1495
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1496 [Xtestfile2]
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1497 --
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1498
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1499 [Xtestfile3]
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1500 NEW compiler v1.1
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1501 (2,2) warning: variable 'x' not defined
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1502 (67,3) warning: 's' already defined
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1503 --
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1504 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1505
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1506 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
1507 " 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
1508 " need to be created.
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1509 call writefile(['Line1'], 'Xtestfile1', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1510 call writefile(['Line2'], 'Xtestfile2', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1511 call writefile(['Line3'], 'Xtestfile3', 'D')
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1512 cexpr ""
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1513 for l in lines
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1514 caddexpr l
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
1515 endfor
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1516 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
1517 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
1518 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
1519 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
1520 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
1521 call assert_equal('e', l[3].type)
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1522
18695
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1523 " Test for %P, %Q with non-existing files
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1524 cexpr lines
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1525 let l = getqflist()
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1526 call assert_equal(14, len(l))
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1527 call assert_equal('[Xtestfile1]', l[0].text)
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1528 call assert_equal('[Xtestfile2]', l[6].text)
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1529 call assert_equal('[Xtestfile3]', l[9].text)
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1530
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1531 " Tests for %E, %C and %Z format specifiers
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1532 let lines =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1533 Error 275
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1534 line 42
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1535 column 3
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1536 ' ' expected after '--'
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1537 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1538
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1539 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
1540 cgetexpr lines
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1541 let l = getqflist()
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1542 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
1543 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
1544 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
1545 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
1546 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
1547
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1548 " Test for %>
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1549 let lines =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1550 Error in line 147 of foo.c:
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1551 unknown variable 'i'
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1552 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1553
9405
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1554 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
1555 cgetexpr lines
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1556 let l = getqflist()
2ce9814053d8 commit https://github.com/vim/vim/commit/0fcc7c6dd1902b71e0e7d0a35ddabafef6455a83
Christian Brabandt <cb@256bit.org>
parents: 9397
diff changeset
1557 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
1558 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
1559 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
1560
9568
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1561 " Test for %A, %C and other formats
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1562 let lines =<< trim [DATA]
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1563 ==============================================================
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1564 FAIL: testGetTypeIdCachesResult (dbfacadeTest.DjsDBFacadeTest)
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1565 --------------------------------------------------------------
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1566 Traceback (most recent call last):
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1567 File "unittests/dbfacadeTest.py", line 89, in testFoo
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1568 self.assertEquals(34, dtid)
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1569 File "/usr/lib/python2.2/unittest.py", line 286, in
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1570 failUnlessEqual
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1571 raise self.failureException, \\
18695
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1572 W:AssertionError: 34 != 33
17172
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1573
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1574 --------------------------------------------------------------
6990c1160ea5 patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
1575 Ran 27 tests in 0.063s
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1576 [DATA]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 16555
diff changeset
1577
18695
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1578 set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%t:%m
9568
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1579 cgetexpr lines
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1580 let l = getqflist()
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1581 call assert_equal(8, len(l))
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1582 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
1583 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
1584 call assert_equal('unittests/dbfacadeTest.py', bufname(l[4].bufnr))
18695
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1585 call assert_equal('W', l[4].type)
9568
ccbd2e604e59 commit https://github.com/vim/vim/commit/e87e6dddc2b2a99572ec0db0833c052214c4fbd3
Christian Brabandt <cb@256bit.org>
parents: 9540
diff changeset
1586
13821
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1587 " Test for %o
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1588 set efm=%f(%o):%l\ %m
13825
eb7707562201 patch 8.0.1784: gvim test gets stuck in dialog
Christian Brabandt <cb@256bit.org>
parents: 13821
diff changeset
1589 cgetexpr ['Xotestfile(Language.PureScript.Types):20 Error']
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1590 call writefile(['Line1'], 'Xotestfile', 'D')
13821
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1591 let l = getqflist()
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1592 call assert_equal(1, len(l), string(l))
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1593 call assert_equal('Language.PureScript.Types', l[0].module)
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1594 copen
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1595 call assert_equal('Language.PureScript.Types|20| Error', getline(1))
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1596 call feedkeys("\<CR>", 'xn')
13825
eb7707562201 patch 8.0.1784: gvim test gets stuck in dialog
Christian Brabandt <cb@256bit.org>
parents: 13821
diff changeset
1597 call assert_equal('Xotestfile', expand('%:t'))
13821
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1598 cclose
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1599 bd
98274127d675 patch 8.0.1782: no simple way to label quickfix entries
Christian Brabandt <cb@256bit.org>
parents: 13819
diff changeset
1600
18695
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1601 " Test for a long module name
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1602 cexpr 'Xtest(' . repeat('m', 1026) . '):15 message'
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1603 let l = getqflist()
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1604 call assert_equal(repeat('m', 1024), l[0].module)
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1605 call assert_equal(15, l[0].lnum)
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1606 call assert_equal('message', l[0].text)
48ded92ce361 patch 8.1.2339: insufficient testing for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18660
diff changeset
1607
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1608 " 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
1609 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
1610 cgetexpr ['msg1']
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1611 let l = getqflist()
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1612 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
1613 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
1614 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
1615 lexpr 'msg2'
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1616 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
1617 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
1618 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
1619 lopen
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1620 call setqflist([], 'r')
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1621 caddbuf
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1622 let l = getqflist()
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1623 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
1624 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
1625
13948
2ed1585c6467 patch 8.0.1844: superfluous quickfix code, missing examples
Christian Brabandt <cb@256bit.org>
parents: 13921
diff changeset
1626 " When matching error lines, case should be ignored. Test for this.
2ed1585c6467 patch 8.0.1844: superfluous quickfix code, missing examples
Christian Brabandt <cb@256bit.org>
parents: 13921
diff changeset
1627 set noignorecase
2ed1585c6467 patch 8.0.1844: superfluous quickfix code, missing examples
Christian Brabandt <cb@256bit.org>
parents: 13921
diff changeset
1628 let l=getqflist({'lines' : ['Xtest:FOO10:Line 20'], 'efm':'%f:foo%l:%m'})
2ed1585c6467 patch 8.0.1844: superfluous quickfix code, missing examples
Christian Brabandt <cb@256bit.org>
parents: 13921
diff changeset
1629 call assert_equal(10, l.items[0].lnum)
2ed1585c6467 patch 8.0.1844: superfluous quickfix code, missing examples
Christian Brabandt <cb@256bit.org>
parents: 13921
diff changeset
1630 call assert_equal('Line 20', l.items[0].text)
2ed1585c6467 patch 8.0.1844: superfluous quickfix code, missing examples
Christian Brabandt <cb@256bit.org>
parents: 13921
diff changeset
1631 set ignorecase&
2ed1585c6467 patch 8.0.1844: superfluous quickfix code, missing examples
Christian Brabandt <cb@256bit.org>
parents: 13921
diff changeset
1632
11378
2ed7a34ecc54 patch 8.0.0574: get only one quickfix list after :caddbuf
Christian Brabandt <cb@256bit.org>
parents: 11301
diff changeset
1633 new | only
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1634 let &efm = save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1635 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
1636
20729
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1637 " Test for '%t' (error type) field in 'efm'
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1638 func Test_efm_error_type()
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1639 let save_efm = &efm
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1640
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1641 " error type
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1642 set efm=%f:%l:%t:%m
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1643 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1644 Xfile1:10:E:msg1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1645 Xfile1:20:W:msg2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1646 Xfile1:30:I:msg3
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1647 Xfile1:40:N:msg4
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1648 Xfile1:50:R:msg5
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1649 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1650 cexpr lines
20729
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1651 let output = split(execute('clist'), "\n")
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1652 call assert_equal([
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1653 \ ' 1 Xfile1:10 error: msg1',
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1654 \ ' 2 Xfile1:20 warning: msg2',
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1655 \ ' 3 Xfile1:30 info: msg3',
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1656 \ ' 4 Xfile1:40 note: msg4',
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1657 \ ' 5 Xfile1:50 R: msg5'], output)
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1658
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1659 " error type and a error number
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1660 set efm=%f:%l:%t:%n:%m
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1661 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1662 Xfile1:10:E:2:msg1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1663 Xfile1:20:W:4:msg2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1664 Xfile1:30:I:6:msg3
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1665 Xfile1:40:N:8:msg4
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1666 Xfile1:50:R:3:msg5
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1667 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1668 cexpr lines
20729
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1669 let output = split(execute('clist'), "\n")
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1670 call assert_equal([
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1671 \ ' 1 Xfile1:10 error 2: msg1',
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1672 \ ' 2 Xfile1:20 warning 4: msg2',
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1673 \ ' 3 Xfile1:30 info 6: msg3',
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1674 \ ' 4 Xfile1:40 note 8: msg4',
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1675 \ ' 5 Xfile1:50 R 3: msg5'], output)
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1676 let &efm = save_efm
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1677 endfunc
ada6f26e6eb1 patch 8.2.0917: quickfix entries do not suport a "note" type
Bram Moolenaar <Bram@vim.org>
parents: 20631
diff changeset
1678
27605
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1679 " Test for end_lnum ('%e') and end_col ('%k') fields in 'efm'
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1680 func Test_efm_end_lnum_col()
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1681 let save_efm = &efm
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1682
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1683 " single line
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1684 set efm=%f:%l-%e:%c-%k:%t:%m
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1685 cexpr ["Xfile1:10-20:1-2:E:msg1", "Xfile1:20-30:2-3:W:msg2",]
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1686 let output = split(execute('clist'), "\n")
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1687 call assert_equal([
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1688 \ ' 1 Xfile1:10-20 col 1-2 error: msg1',
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1689 \ ' 2 Xfile1:20-30 col 2-3 warning: msg2'], output)
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1690
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1691 " multiple lines
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1692 set efm=%A%n)%m,%Z%f:%l-%e:%c-%k
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1693 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1694 1)msg1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1695 Xfile1:14-24:1-2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1696 2)msg2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1697 Xfile1:24-34:3-4
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1698 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
1699 cexpr lines
27605
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1700 let output = split(execute('clist'), "\n")
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1701 call assert_equal([
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1702 \ ' 1 Xfile1:14-24 col 1-2 error 1: msg1',
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1703 \ ' 2 Xfile1:24-34 col 3-4 error 2: msg2'], output)
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1704 let &efm = save_efm
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1705 endfunc
bf540a32439a patch 8.2.4329: no support for end line number and column in 'errorformat'
Bram Moolenaar <Bram@vim.org>
parents: 27601
diff changeset
1706
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1707 func XquickfixChangedByAutocmd(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1708 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
1709 if a:cchar == 'c'
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1710 let ErrorNr = 'E925'
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1711 func! ReadFunc()
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1712 colder
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1713 cgetexpr []
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1714 endfunc
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1715 else
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1716 let ErrorNr = 'E926'
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1717 func! ReadFunc()
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1718 lolder
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1719 lgetexpr []
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1720 endfunc
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1721 endif
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1722
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1723 augroup QF_Test
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1724 au!
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1725 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
1726 augroup END
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1727
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1728 new | only
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1729 let words = [ "a", "b" ]
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1730 let qflist = []
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1731 for word in words
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1732 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
1733 call g:Xsetlist(qflist, ' ')
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1734 endfor
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1735 call assert_fails('Xrewind', ErrorNr . ':')
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1736
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1737 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1738 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1739 augroup END
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1740
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1741 if a:cchar == 'c'
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1742 cexpr ["Xtest1:1:Line"]
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1743 cwindow
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1744 only
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1745 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1746 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1747 autocmd WinEnter * call setqflist([], 'f')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1748 augroup END
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1749 call assert_fails('exe "normal \<CR>"', 'E925:')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1750 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1751 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1752 augroup END
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1753 endif
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1754 %bw!
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1755 endfunc
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1756
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1757 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
1758 call XquickfixChangedByAutocmd('c')
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
1759 call XquickfixChangedByAutocmd('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1760 endfunc
8716
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1761
22256
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1762 func Test_setloclist_in_autocommand()
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
1763 call writefile(['test1', 'test2'], 'Xfile', 'D')
22256
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1764 edit Xfile
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1765 let s:bufnr = bufnr()
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1766 call setloclist(1,
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1767 \ [{'bufnr' : s:bufnr, 'lnum' : 1, 'text' : 'test1'},
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1768 \ {'bufnr' : s:bufnr, 'lnum' : 2, 'text' : 'test2'}])
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1769
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1770 augroup Test_LocList
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1771 au!
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1772 autocmd BufEnter * call setloclist(1,
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1773 \ [{'bufnr' : s:bufnr, 'lnum' : 1, 'text' : 'test1'},
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1774 \ {'bufnr' : s:bufnr, 'lnum' : 2, 'text' : 'test2'}], 'r')
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1775 augroup END
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1776
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1777 lopen
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1778 call assert_fails('exe "normal j\<CR>"', 'E926:')
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1779
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1780 augroup Test_LocList
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1781 au!
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1782 augroup END
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1783 endfunc
c3c9830c7cdc patch 8.2.1677: memory access errors when calling setloclist() in autocommand
Bram Moolenaar <Bram@vim.org>
parents: 22099
diff changeset
1784
8716
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1785 func Test_caddbuffer_to_empty()
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1786 helpgr quickfix
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1787 call setqflist([], 'r')
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1788 cad
8722
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1789 try
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1790 cn
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1791 catch
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1792 " number of matches is unknown
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1793 call assert_true(v:exception =~ 'E553:')
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
1794 endtry
8716
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1795 quit!
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
1796 endfunc
8751
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
1797
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
1798 func Test_cgetexpr_works()
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
1799 " this must not crash Vim
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
1800 cgetexpr [$x]
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1801 lgetexpr [$x]
8751
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
1802 endfunc
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1803
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1804 " 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
1805 func SetXlistTests(cchar, bnum)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1806 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
1807
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1808 call g:Xsetlist([{'bufnr': a:bnum, 'lnum': 1},
24964
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
1809 \ {'bufnr': a:bnum, 'lnum': 2, 'end_lnum': 3, 'col': 4, 'end_col': 5}])
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1810 let l = g:Xgetlist()
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1811 call assert_equal(2, len(l))
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1812 call assert_equal(2, l[1].lnum)
24964
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
1813 call assert_equal(3, l[1].end_lnum)
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
1814 call assert_equal(4, l[1].col)
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
1815 call assert_equal(5, l[1].end_col)
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1816
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1817 Xnext
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1818 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
1819 let l = g:Xgetlist()
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1820 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
1821 Xnext
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1822 call assert_equal(3, line('.'))
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1823
9114
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1824 " 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
1825 " in the quickfix window
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1826 Xwindow
9114
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1827 1
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1828 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
1829 \ {'bufnr': a:bnum, 'lnum': 5}], 'a')
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1830 call assert_equal(1, line('.'))
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1831 close
f221aec7fcca commit https://github.com/vim/vim/commit/2b2b8ae5ab37b04584633c469265d85825166905
Christian Brabandt <cb@256bit.org>
parents: 9033
diff changeset
1832
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1833 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
1834 \ {'bufnr': a:bnum, 'lnum': 4},
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1835 \ {'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
1836 let l = g:Xgetlist()
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1837 call assert_equal(3, len(l))
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1838 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
1839
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1840 call g:Xsetlist([])
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1841 let l = g:Xgetlist()
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1842 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
1843
11390
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1844 " Tests for setting the 'valid' flag
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1845 call g:Xsetlist([{'bufnr':a:bnum, 'lnum':4, 'valid':0}])
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1846 Xwindow
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1847 call assert_equal(1, winnr('$'))
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1848 let l = g:Xgetlist()
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1849 call g:Xsetlist(l)
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1850 call assert_equal(0, g:Xgetlist()[0].valid)
15225
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1851 " Adding a non-valid entry should not mark the list as having valid entries
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1852 call g:Xsetlist([{'bufnr':a:bnum, 'lnum':5, 'valid':0}], 'a')
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1853 Xwindow
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1854 call assert_equal(1, winnr('$'))
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1855
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1856 " :cnext/:cprev should still work even with invalid entries in the list
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1857 let l = [{'bufnr' : a:bnum, 'lnum' : 1, 'text' : '1', 'valid' : 0},
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1858 \ {'bufnr' : a:bnum, 'lnum' : 2, 'text' : '2', 'valid' : 0}]
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1859 call g:Xsetlist(l)
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1860 Xnext
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1861 call assert_equal(2, g:Xgetlist({'idx' : 0}).idx)
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1862 Xprev
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1863 call assert_equal(1, g:Xgetlist({'idx' : 0}).idx)
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1864 " :cnext/:cprev should still work after appending invalid entries to an
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1865 " empty list
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1866 call g:Xsetlist([])
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1867 call g:Xsetlist(l, 'a')
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1868 Xnext
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1869 call assert_equal(2, g:Xgetlist({'idx' : 0}).idx)
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1870 Xprev
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1871 call assert_equal(1, g:Xgetlist({'idx' : 0}).idx)
a413374825dd patch 8.1.0622: adding quickfix items marks items as valid errors
Bram Moolenaar <Bram@vim.org>
parents: 15024
diff changeset
1872
11390
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1873 call g:Xsetlist([{'text':'Text1', 'valid':1}])
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1874 Xwindow
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1875 call assert_equal(2, winnr('$'))
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1876 Xclose
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1877 let save_efm = &efm
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1878 set efm=%m
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1879 Xgetexpr 'TestMessage'
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1880 let l = g:Xgetlist()
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1881 call g:Xsetlist(l)
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1882 call assert_equal(1, g:Xgetlist()[0].valid)
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1883 let &efm = save_efm
73cfcf11d983 patch 8.0.0580: cannot set the valid flag with setqflist()
Christian Brabandt <cb@256bit.org>
parents: 11388
diff changeset
1884
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1885 " Error cases:
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1886 " 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
1887 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
1888 \ " {'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
1889 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
1890 call assert_equal(0, len(g:Xgetlist()))
20178
2fb397573541 patch 8.2.0644: insufficient testing for invalid function arguments
Bram Moolenaar <Bram@vim.org>
parents: 20158
diff changeset
1891 call assert_fails('call g:Xsetlist([], [])', 'E928:')
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1892 call g:Xsetlist([test_null_dict()])
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
1893 call assert_equal([], g:Xgetlist())
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1894 endfunc
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1895
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1896 func Test_setqflist()
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1897 new Xtestfile | only
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1898 let bnum = bufnr('%')
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1899 call setline(1, range(1,5))
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1900
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1901 call SetXlistTests('c', bnum)
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1902 call SetXlistTests('l', bnum)
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1903
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1904 enew!
8932
25c2031e9f9f commit https://github.com/vim/vim/commit/c1808d5822ed9534ef7f0fe509b15bee92a5cc28
Christian Brabandt <cb@256bit.org>
parents: 8751
diff changeset
1905 call delete('Xtestfile')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1906 endfunc
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1907
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1908 func Xlist_empty_middle(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1909 call s:setup_commands(a:cchar)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1910
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1911 " 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
1912 let @/ = 'Test_'
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
1913 Xvimgrep // test_quickfix.vim
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1914 let testlen = len(g:Xgetlist())
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1915 call assert_true(testlen > 0)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1916 Xvimgrep empty test_quickfix.vim
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1917 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
1918 Xvimgrep matches test_quickfix.vim
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1919 let matchlen = len(g:Xgetlist())
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1920 call assert_true(matchlen > 0)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1921 Xolder
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1922 " make the middle list empty
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1923 call g:Xsetlist([], 'r')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1924 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
1925 Xolder
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1926 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
1927 Xnewer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1928 Xnewer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1929 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
1930 endfunc
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1931
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1932 func Test_setqflist_empty_middle()
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1933 call Xlist_empty_middle('c')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1934 call Xlist_empty_middle('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1935 endfunc
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1936
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1937 func Xlist_empty_older(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1938 call s:setup_commands(a:cchar)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1939
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1940 " create three quickfix lists
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1941 Xvimgrep one test_quickfix.vim
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1942 let onelen = len(g:Xgetlist())
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1943 call assert_true(onelen > 0)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1944 Xvimgrep two test_quickfix.vim
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1945 let twolen = len(g:Xgetlist())
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1946 call assert_true(twolen > 0)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1947 Xvimgrep three test_quickfix.vim
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1948 let threelen = len(g:Xgetlist())
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1949 call assert_true(threelen > 0)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1950 Xolder 2
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1951 " 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
1952 call g:Xsetlist([], 'r')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1953 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
1954 Xnewer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1955 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
1956 Xnewer
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1957 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
1958 endfunc
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1959
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1960 func Test_setqflist_empty_older()
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1961 call Xlist_empty_older('c')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1962 call Xlist_empty_older('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1963 endfunc
9258
7e403edce82f commit https://github.com/vim/vim/commit/1cee693b310e1494115a1677fac064941092e1bb
Christian Brabandt <cb@256bit.org>
parents: 9121
diff changeset
1964
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
1965 func XquickfixSetListWithAct(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1966 call s:setup_commands(a:cchar)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1967
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1968 let list1 = [{'filename': 'fnameA', 'text': 'A'},
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1969 \ {'filename': 'fnameB', 'text': 'B'}]
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1970 let list2 = [{'filename': 'fnameC', 'text': 'C'},
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1971 \ {'filename': 'fnameD', 'text': 'D'},
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1972 \ {'filename': 'fnameE', 'text': 'E'}]
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1973
15770
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
1974 " {action} is unspecified. Same as specifying ' '.
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1975 new | only
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1976 silent! Xnewer 99
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1977 call g:Xsetlist(list1)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1978 call g:Xsetlist(list2)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1979 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1980 call assert_equal(3, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1981 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
1982 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
1983 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
1984 silent! Xolder
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1985 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1986 call assert_equal(2, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1987 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
1988 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
1989
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1990 " {action} is specified ' '.
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1991 new | only
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1992 silent! Xnewer 99
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1993 call g:Xsetlist(list1)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1994 call g:Xsetlist(list2, ' ')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
1995 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1996 call assert_equal(3, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
1997 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
1998 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
1999 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
2000 silent! Xolder
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2001 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2002 call assert_equal(2, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2003 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
2004 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
2005
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2006 " {action} is specified 'a'.
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2007 new | only
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2008 silent! Xnewer 99
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2009 call g:Xsetlist(list1)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2010 call g:Xsetlist(list2, 'a')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2011 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2012 call assert_equal(5, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2013 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
2014 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
2015 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
2016 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
2017 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
2018
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2019 " {action} is specified 'r'.
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2020 new | only
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2021 silent! Xnewer 99
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2022 call g:Xsetlist(list1)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2023 call g:Xsetlist(list2, 'r')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2024 let li = g:Xgetlist()
8965
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2025 call assert_equal(3, len(li))
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2026 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
2027 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
2028 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
2029
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2030 " Test for wrong value.
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2031 new | only
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2032 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
2033 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
2034 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
2035 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
2036 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
2037 endfunc
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2038
13066
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
2039 func Test_setqflist_invalid_nr()
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
2040 " The following command used to crash Vim
18000
7a19c8d6bb9e patch 8.1.1996: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17918
diff changeset
2041 eval []->setqflist(' ', {'nr' : $XXX_DOES_NOT_EXIST})
13066
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
2042 endfunc
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
2043
19366
102f9a44c8b3 patch 8.2.0241: crash when setting 'buftype' to "quickfix"
Bram Moolenaar <Bram@vim.org>
parents: 19308
diff changeset
2044 func Test_setqflist_user_sets_buftype()
102f9a44c8b3 patch 8.2.0241: crash when setting 'buftype' to "quickfix"
Bram Moolenaar <Bram@vim.org>
parents: 19308
diff changeset
2045 call setqflist([{'text': 'foo'}, {'text': 'bar'}])
102f9a44c8b3 patch 8.2.0241: crash when setting 'buftype' to "quickfix"
Bram Moolenaar <Bram@vim.org>
parents: 19308
diff changeset
2046 set buftype=quickfix
102f9a44c8b3 patch 8.2.0241: crash when setting 'buftype' to "quickfix"
Bram Moolenaar <Bram@vim.org>
parents: 19308
diff changeset
2047 call setqflist([], 'a')
102f9a44c8b3 patch 8.2.0241: crash when setting 'buftype' to "quickfix"
Bram Moolenaar <Bram@vim.org>
parents: 19308
diff changeset
2048 enew
102f9a44c8b3 patch 8.2.0241: crash when setting 'buftype' to "quickfix"
Bram Moolenaar <Bram@vim.org>
parents: 19308
diff changeset
2049 endfunc
102f9a44c8b3 patch 8.2.0241: crash when setting 'buftype' to "quickfix"
Bram Moolenaar <Bram@vim.org>
parents: 19308
diff changeset
2050
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2051 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
2052 call XquickfixSetListWithAct('c')
90f7dc794aa0 commit https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
Christian Brabandt <cb@256bit.org>
parents: 8932
diff changeset
2053 call XquickfixSetListWithAct('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2054 endfunc
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2055
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2056 func XLongLinesTests(cchar)
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2057 let l = g:Xgetlist()
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2058
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2059 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
2060 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
2061 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
2062 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
2063 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
2064 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
2065 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
2066 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
2067 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
2068 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
2069 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
2070 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
2071 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
2072
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2073 call g:Xsetlist([], 'r')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2074 endfunc
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2075
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2076 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
2077 call s:setup_commands(a:cchar)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2078
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2079 let testfile = 'samples/quickfix.txt'
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2080
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2081 " file
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2082 exe 'Xgetfile' testfile
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2083 call XLongLinesTests(a:cchar)
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2084
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2085 " list
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2086 Xexpr readfile(testfile)
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2087 call XLongLinesTests(a:cchar)
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2088
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2089 " string
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2090 Xexpr join(readfile(testfile), "\n")
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2091 call XLongLinesTests(a:cchar)
9033
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2092
0536d1469b67 commit https://github.com/vim/vim/commit/6be8c8e165204b8aa4eeb8a52be87a58d8b41b9e
Christian Brabandt <cb@256bit.org>
parents: 8965
diff changeset
2093 " buffer
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2094 exe 'edit' testfile
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2095 exe 'Xbuffer' bufnr('%')
9336
52bda0e40ea2 commit https://github.com/vim/vim/commit/f50df3925b7c909d1cda4c868d8c7ba38189aabe
Christian Brabandt <cb@256bit.org>
parents: 9334
diff changeset
2096 call XLongLinesTests(a:cchar)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2097 endfunc
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2098
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2099 func Test_long_lines()
9317
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2100 call s:long_lines_tests('c')
fa3f71185144 commit https://github.com/vim/vim/commit/3ef5bf7d459d6b8a21aaefc80f65448f5a7aa59f
Christian Brabandt <cb@256bit.org>
parents: 9309
diff changeset
2101 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
2102 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2103
22099
b7cc5d8ea702 patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
2104 func Test_cgetfile_on_long_lines()
b7cc5d8ea702 patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
2105 " Problematic values if the line is longer than 4096 bytes. Then 1024 bytes
b7cc5d8ea702 patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
2106 " are read at a time.
b7cc5d8ea702 patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
2107 for len in [4078, 4079, 4080, 5102, 5103, 5104, 6126, 6127, 6128, 7150, 7151, 7152]
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2108 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2109 /tmp/file1:1:1:aaa
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2110 /tmp/file2:1:1:%s
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2111 /tmp/file3:1:1:bbb
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2112 /tmp/file4:1:1:ccc
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2113 END
22099
b7cc5d8ea702 patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
2114 let lines[1] = substitute(lines[1], '%s', repeat('x', len), '')
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
2115 call writefile(lines, 'Xcqetfile.txt', 'D')
22099
b7cc5d8ea702 patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
2116 cgetfile Xcqetfile.txt
b7cc5d8ea702 patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
2117 call assert_equal(4, getqflist(#{size: v:true}).size, 'with length ' .. len)
b7cc5d8ea702 patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
2118 endfor
b7cc5d8ea702 patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
2119 endfunc
b7cc5d8ea702 patch 8.2.1599: missing line end when skipping a long line with :cgetfile
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
2120
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2121 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
2122 let l = []
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2123 for i in range(1, 20)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2124 call add(l, 'Line' . i)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2125 endfor
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2126 call writefile(l, a:filename)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2127 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2128
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2129 func Test_switchbuf()
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2130 call s:create_test_file('Xqftestfile1')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2131 call s:create_test_file('Xqftestfile2')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2132 call s:create_test_file('Xqftestfile3')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2133
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2134 new | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2135 edit Xqftestfile1
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2136 let file1_winid = win_getid()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2137 new Xqftestfile2
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2138 let file2_winid = win_getid()
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2139 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2140 Xqftestfile1:5:Line5
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2141 Xqftestfile1:6:Line6
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2142 Xqftestfile2:10:Line10
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2143 Xqftestfile2:11:Line11
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2144 Xqftestfile3:15:Line15
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2145 Xqftestfile3:16:Line16
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2146 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2147 cgetexpr lines
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2148
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2149 new
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2150 let winid = win_getid()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2151 cfirst | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2152 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
2153 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2154 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
2155 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2156 call assert_equal(winid, win_getid())
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2157
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2158 " Test for 'switchbuf' set to search for files in windows in the current
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2159 " tabpage and jump to an existing window (if present)
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2160 set switchbuf=useopen
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2161 enew
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2162 cfirst | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2163 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
2164 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2165 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
2166 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2167 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
2168
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2169 " Test for 'switchbuf' set to search for files in tabpages and jump to an
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2170 " existing tabpage (if present)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2171 enew | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2172 set switchbuf=usetab
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2173 tabedit Xqftestfile1
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2174 tabedit Xqftestfile2
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
2175 tabedit Xqftestfile3
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2176 tabfirst
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2177 cfirst | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2178 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
2179 2cnext
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2180 call assert_equal(3, tabpagenr())
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
2181 6cnext
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
2182 call assert_equal(4, tabpagenr())
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
2183 2cpfile
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
2184 call assert_equal(2, tabpagenr())
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
2185 2cnfile
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
2186 call assert_equal(4, tabpagenr())
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2187 tabfirst | tabonly | enew
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2188
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2189 " Test for 'switchbuf' set to open a new window for every file
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2190 set switchbuf=split
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2191 cfirst | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2192 call assert_equal(1, winnr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2193 cnext | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2194 call assert_equal(2, winnr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2195 cnext | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2196 call assert_equal(3, winnr('$'))
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2197
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2198 " Test for 'switchbuf' set to open a new tabpage for every file
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2199 set switchbuf=newtab
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2200 enew | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2201 cfirst | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2202 call assert_equal(1, tabpagenr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2203 cnext | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2204 call assert_equal(2, tabpagenr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2205 cnext | cnext
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2206 call assert_equal(3, tabpagenr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2207 tabfirst | enew | tabonly | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2208
18646
394abd397e15 patch 8.1.2315: not always using the right window when jumping to an error
Bram Moolenaar <Bram@vim.org>
parents: 18635
diff changeset
2209 set switchbuf=uselast
394abd397e15 patch 8.1.2315: not always using the right window when jumping to an error
Bram Moolenaar <Bram@vim.org>
parents: 18635
diff changeset
2210 split
394abd397e15 patch 8.1.2315: not always using the right window when jumping to an error
Bram Moolenaar <Bram@vim.org>
parents: 18635
diff changeset
2211 let last_winid = win_getid()
394abd397e15 patch 8.1.2315: not always using the right window when jumping to an error
Bram Moolenaar <Bram@vim.org>
parents: 18635
diff changeset
2212 copen
394abd397e15 patch 8.1.2315: not always using the right window when jumping to an error
Bram Moolenaar <Bram@vim.org>
parents: 18635
diff changeset
2213 exe "normal 1G\<CR>"
394abd397e15 patch 8.1.2315: not always using the right window when jumping to an error
Bram Moolenaar <Bram@vim.org>
parents: 18635
diff changeset
2214 call assert_equal(last_winid, win_getid())
394abd397e15 patch 8.1.2315: not always using the right window when jumping to an error
Bram Moolenaar <Bram@vim.org>
parents: 18635
diff changeset
2215 enew | only
394abd397e15 patch 8.1.2315: not always using the right window when jumping to an error
Bram Moolenaar <Bram@vim.org>
parents: 18635
diff changeset
2216
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2217 " With an empty 'switchbuf', jumping to a quickfix entry should open the
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2218 " file in an existing window (if present)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2219 set switchbuf=
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2220 edit Xqftestfile1
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2221 let file1_winid = win_getid()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2222 new Xqftestfile2
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2223 let file2_winid = win_getid()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2224 copen
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2225 exe "normal 1G\<CR>"
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2226 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
2227 copen
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2228 exe "normal 3G\<CR>"
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2229 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
2230 copen | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2231 exe "normal 5G\<CR>"
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2232 call assert_equal(2, winnr('$'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2233 call assert_equal(1, bufwinnr('Xqftestfile3'))
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2234
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2235 " If only quickfix window is open in the current tabpage, jumping to an
17918
9606c0adc148 patch 8.1.1955: tests contain typos
Bram Moolenaar <Bram@vim.org>
parents: 17172
diff changeset
2236 " entry with 'switchbuf' 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
2237 enew | only
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2238 set switchbuf=usetab
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2239 tabedit Xqftestfile1
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2240 tabedit Xqftestfile2
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2241 tabedit Xqftestfile3
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2242 tabfirst
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2243 copen | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2244 clast
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2245 call assert_equal(4, tabpagenr())
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2246 tabfirst | tabonly | enew | only
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2247
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2248 " Jumping to a file that is not present in any of the tabpages and the
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2249 " current tabpage doesn't have any usable windows, should open it in a new
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2250 " window in the current tabpage.
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2251 copen | only
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2252 cfirst
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2253 call assert_equal(1, tabpagenr())
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
2254 call assert_equal('Xqftestfile1', @%)
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2255
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2256 " If opening a file changes 'switchbuf', then the new value should be
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2257 " retained.
20263
a85a3207679f patch 8.2.0687: some tests do not work on FreeBSD
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
2258 set modeline&vim
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
2259 call writefile(["vim: switchbuf=split"], 'Xqftestfile1', 'D')
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2260 enew | only
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2261 set switchbuf&vim
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2262 cexpr "Xqftestfile1:1:10"
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2263 call assert_equal('split', &switchbuf)
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2264 call writefile(["vim: switchbuf=usetab"], 'Xqftestfile1')
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2265 enew | only
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2266 set switchbuf=useopen
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2267 cexpr "Xqftestfile1:1:10"
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2268 call assert_equal('usetab', &switchbuf)
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2269 call writefile(["vim: switchbuf&vim"], 'Xqftestfile1')
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2270 enew | only
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2271 set switchbuf=useopen
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2272 cexpr "Xqftestfile1:1:10"
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2273 call assert_equal('', &switchbuf)
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2274
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2275 call delete('Xqftestfile2')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2276 call delete('Xqftestfile3')
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2277 set switchbuf&vim
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2278
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
2279 enew | only
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2280 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2281
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2282 func Xadjust_qflnum(cchar)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2283 call s:setup_commands(a:cchar)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2284
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2285 enew | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2286
9608
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
2287 let fname = 'Xqftestfile' . a:cchar
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
2288 call s:create_test_file(fname)
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
2289 exe 'edit ' . fname
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2290
9608
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
2291 Xgetexpr [fname . ':5:Line5',
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
2292 \ fname . ':10:Line10',
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
2293 \ fname . ':15:Line15',
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
2294 \ fname . ':20:Line20']
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2295
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2296 6,14delete
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2297 call append(6, ['Buffer', 'Window'])
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2298
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2299 let l = g:Xgetlist()
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2300 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
2301 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
2302 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
2303
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2304 " If a file doesn't have any quickfix entries, then deleting lines in the
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2305 " file should not update the quickfix list
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2306 call g:Xsetlist([], 'f')
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2307 1,2delete
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2308 call assert_equal([], g:Xgetlist())
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2309
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2310 enew!
9608
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
2311 call delete(fname)
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2312 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2313
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2314 func Test_adjust_lnum()
9608
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
2315 call setloclist(0, [])
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2316 call Xadjust_qflnum('c')
9608
fa64afb99dda commit https://github.com/vim/vim/commit/c1542744e788d96fed24dd421f43009288092504
Christian Brabandt <cb@256bit.org>
parents: 9568
diff changeset
2317 call setqflist([])
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2318 call Xadjust_qflnum('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2319 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2320
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2321 " 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
2322 func s:test_xgrep(cchar)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2323 call s:setup_commands(a:cchar)
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2324
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2325 " 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
2326 " Grep_Test_Text: Match 1
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2327 " Grep_Test_Text: Match 2
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2328 " GrepAdd_Test_Text: Match 1
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2329 " GrepAdd_Test_Text: Match 2
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2330 enew! | only
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2331 set makeef&vim
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2332 silent Xgrep Grep_Test_Text: test_quickfix.vim
18740
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2333 call assert_true(len(g:Xgetlist()) == 5)
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2334 Xopen
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2335 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
2336 Xclose
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2337 enew
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2338 set makeef=Temp_File_##
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2339 silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
18740
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2340 call assert_true(len(g:Xgetlist()) == 9)
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2341
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2342 " Try with 'grepprg' set to 'internal'
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2343 set grepprg=internal
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2344 silent Xgrep Grep_Test_Text: test_quickfix.vim
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2345 silent Xgrepadd GrepAdd_Test_Text: test_quickfix.vim
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2346 call assert_true(len(g:Xgetlist()) == 9)
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2347 set grepprg&vim
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2348
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2349 call writefile(['Vim'], 'XtestTempFile')
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2350 set makeef=XtestTempFile
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2351 silent Xgrep Grep_Test_Text: test_quickfix.vim
18740
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2352 call assert_equal(5, len(g:Xgetlist()))
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2353 call assert_false(filereadable('XtestTempFile'))
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
2354 set makeef&vim
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2355 endfunc
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2356
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2357 func Test_grep()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2358 " The grepprg may not be set on non-Unix systems
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2359 CheckUnix
9342
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2360
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2361 call s:test_xgrep('c')
8ce61744ed94 commit https://github.com/vim/vim/commit/049cba9e9760152b5695399a991dc61cea9ba143
Christian Brabandt <cb@256bit.org>
parents: 9336
diff changeset
2362 call s:test_xgrep('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2363 endfunc
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2364
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2365 func Test_two_windows()
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2366 " 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
2367 " 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
2368 set efm=%DEntering\ dir\ '%f',%f:%l:%m,%XLeaving\ dir\ '%f'
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
2369 call mkdir('Xone/a', 'pR')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
2370 call mkdir('Xtwo/a', 'pR')
9397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2371 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
2372 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
2373 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
2374
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2375 new one
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2376 let one_id = win_getid()
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2377 lexpr ""
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2378 new two
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2379 let two_id = win_getid()
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2380 lexpr ""
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2381
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2382 laddexpr "Entering dir 'Xtwo/a'"
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2383 call win_gotoid(one_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2384 laddexpr "Entering dir 'Xone/a'"
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2385 call win_gotoid(two_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2386 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
2387 call win_gotoid(one_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2388 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
2389
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2390 let loc_one = getloclist(one_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2391 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
2392 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
2393
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2394 let loc_two = getloclist(two_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2395 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
2396 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
2397
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2398 call win_gotoid(one_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2399 bwipe!
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2400 call win_gotoid(two_id)
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2401 bwipe!
e08e8b00fe48 commit https://github.com/vim/vim/commit/361c8f0e517e41f1f1d34dae328044406fde80ac
Christian Brabandt <cb@256bit.org>
parents: 9342
diff changeset
2402 endfunc
9432
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
2403
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2404 func XbottomTests(cchar)
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
2405 call s:setup_commands(a:cchar)
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
2406
11263
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
2407 " 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
2408 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
2409 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
2410 endif
ae5f9f26f81c patch 8.0.0517: there is no way to remove quickfix lists
Christian Brabandt <cb@256bit.org>
parents: 11195
diff changeset
2411
11502
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
2412 call g:Xsetlist([{'filename': 'foo', 'lnum': 42}])
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
2413 Xopen
9432
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
2414 let wid = win_getid()
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
2415 call assert_equal(1, line('.'))
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
2416 wincmd w
11502
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
2417 call g:Xsetlist([{'filename': 'var', 'lnum': 24}], 'a')
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
2418 Xbottom
9432
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
2419 call win_gotoid(wid)
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
2420 call assert_equal(2, line('.'))
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
2421 Xclose
9432
abb72f0b9e06 commit https://github.com/vim/vim/commit/dcb170018642ec144cd87d9d9fe076575b8d1263
Christian Brabandt <cb@256bit.org>
parents: 9405
diff changeset
2422 endfunc
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
2423
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
2424 " 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
2425 func Test_cbottom()
9458
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
2426 call XbottomTests('c')
374afcf9d11d commit https://github.com/vim/vim/commit/537ef08408c50e0c4104d57f74993b3b0ed9560d
Christian Brabandt <cb@256bit.org>
parents: 9432
diff changeset
2427 call XbottomTests('l')
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2428 endfunc
9538
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2429
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2430 func HistoryTest(cchar)
9538
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2431 call s:setup_commands(a:cchar)
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2432
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2433 " 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
2434 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
2435 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
2436 let entry = {'filename': 'foo', 'lnum': 42}
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2437 call g:Xsetlist([entry], 'r')
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2438 call g:Xsetlist([entry, entry])
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2439 call g:Xsetlist([entry, entry, entry])
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2440 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
2441 call assert_equal(3, len(res))
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2442 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
2443 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
2444 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
2445 call assert_equal('> error list 3 of 3; 3 ' . common, res[2])
12427
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
2446
16555
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2447 " Test for changing the quickfix lists
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2448 call assert_equal(3, g:Xgetlist({'nr' : 0}).nr)
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2449 exe '1' . a:cchar . 'hist'
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2450 call assert_equal(1, g:Xgetlist({'nr' : 0}).nr)
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2451 exe '3' . a:cchar . 'hist'
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2452 call assert_equal(3, g:Xgetlist({'nr' : 0}).nr)
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2453 call assert_fails('-2' . a:cchar . 'hist', 'E16:')
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2454 call assert_fails('4' . a:cchar . 'hist', 'E16:')
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2455
12427
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
2456 call g:Xsetlist([], 'f')
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
2457 let l = split(execute(a:cchar . 'hist'), "\n")
fc3e2d5614dd patch 8.0.1093: various small quickfix issues
Christian Brabandt <cb@256bit.org>
parents: 12321
diff changeset
2458 call assert_equal('No entries', l[0])
16555
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2459 if a:cchar == 'c'
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2460 call assert_fails('4chist', 'E16:')
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2461 else
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2462 call assert_fails('4lhist', 'E776:')
1302bc0b80db patch 8.1.1281: cannot specify a count with :chistory
Bram Moolenaar <Bram@vim.org>
parents: 16543
diff changeset
2463 endif
15424
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2464
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2465 " An empty list should still show the stack history
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2466 call g:Xsetlist([])
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2467 let res = split(execute(a:cchar . 'hist'), "\n")
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2468 call assert_equal('> error list 1 of 1; 0 ' . common, res[0])
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2469
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2470 call g:Xsetlist([], 'f')
9538
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2471 endfunc
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2472
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2473 func Test_history()
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2474 call HistoryTest('c')
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2475 call HistoryTest('l')
26da1efa9e46 commit https://github.com/vim/vim/commit/f6acffbe83e622542d9fdf3066f51933e46e4954
Christian Brabandt <cb@256bit.org>
parents: 9458
diff changeset
2476 endfunc
9540
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
2477
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
2478 func Test_duplicate_buf()
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
2479 " 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
2480 edit DoesNotExist
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
2481 edit DoesNotExist2
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
2482 let last_buffer = bufnr("$")
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
2483
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
2484 " make sure only one buffer is created
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
2485 call writefile(['this one', 'that one'], 'Xgrepthis', 'D')
9540
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
2486 vimgrep one Xgrepthis
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
2487 vimgrep one Xgrepthis
64a791c53418 commit https://github.com/vim/vim/commit/015102e91e978a0bb42a14461c132a85e8f7e1ea
Christian Brabandt <cb@256bit.org>
parents: 9538
diff changeset
2488 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
2489 endfunc
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
2490
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
2491 " 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
2492 func Xproperty_tests(cchar)
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2493 call s:setup_commands(a:cchar)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2494
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2495 " Error cases
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2496 call assert_fails('call g:Xgetlist(99)', 'E715:')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2497 call assert_fails('call g:Xsetlist(99)', 'E714:')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2498 call assert_fails('call g:Xsetlist([], "a", [])', 'E715:')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2499
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2500 " Set and get the title
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2501 call g:Xsetlist([])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2502 Xopen
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2503 wincmd p
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2504 call g:Xsetlist([{'filename':'foo', 'lnum':27}])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2505 let s = g:Xsetlist([], 'a', {'title' : 'Sample'})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2506 call assert_equal(0, s)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2507 let d = g:Xgetlist({"title":1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2508 call assert_equal('Sample', d.title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2509 " Try setting title to a non-string value
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2510 call assert_equal(-1, g:Xsetlist([], 'a', {'title' : ['Test']}))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2511 call assert_equal('Sample', g:Xgetlist({"title":1}).title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2512
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2513 Xopen
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2514 call assert_equal('Sample', w:quickfix_title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2515 Xclose
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2516
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2517 " Tests for action argument
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2518 silent! Xolder 999
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2519 let qfnr = g:Xgetlist({'all':1}).nr
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2520 call g:Xsetlist([], 'r', {'title' : 'N1'})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2521 call assert_equal('N1', g:Xgetlist({'all':1}).title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2522 call g:Xsetlist([], ' ', {'title' : 'N2'})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2523 call assert_equal(qfnr + 1, g:Xgetlist({'all':1}).nr)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2524
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2525 let res = g:Xgetlist({'nr': 0})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2526 call assert_equal(qfnr + 1, res.nr)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2527 call assert_equal(['nr'], keys(res))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2528
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2529 call g:Xsetlist([], ' ', {'title' : 'N3'})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2530 call assert_equal('N2', g:Xgetlist({'nr':2, 'title':1}).title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2531
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2532 " Changing the title of an earlier quickfix list
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2533 call g:Xsetlist([], 'r', {'title' : 'NewTitle', 'nr' : 2})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2534 call assert_equal('NewTitle', g:Xgetlist({'nr':2, 'title':1}).title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2535
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2536 " Changing the title of an invalid quickfix list
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2537 call assert_equal(-1, g:Xsetlist([], ' ',
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2538 \ {'title' : 'SomeTitle', 'nr' : 99}))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2539 call assert_equal(-1, g:Xsetlist([], ' ',
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2540 \ {'title' : 'SomeTitle', 'nr' : 'abc'}))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2541
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2542 if a:cchar == 'c'
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2543 copen
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2544 call assert_equal({'winid':win_getid()}, getqflist({'winid':1}))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2545 cclose
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2546 endif
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2547
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2548 " Invalid arguments
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
2549 call assert_fails('call g:Xgetlist([])', 'E715:')
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
2550 call assert_fails('call g:Xsetlist([], "a", [])', 'E715:')
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2551 let s = g:Xsetlist([], 'a', {'abc':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2552 call assert_equal(-1, s)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2553
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2554 call assert_equal({}, g:Xgetlist({'abc':1}))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2555 call assert_equal('', g:Xgetlist({'nr':99, 'title':1}).title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2556 call assert_equal('', g:Xgetlist({'nr':[], 'title':1}).title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2557
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2558 if a:cchar == 'l'
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2559 call assert_equal({}, getloclist(99, {'title': 1}))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2560 endif
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2561
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2562 " Context related tests
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2563 let s = g:Xsetlist([], 'a', {'context':[1,2,3]})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2564 call assert_equal(0, s)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2565 call test_garbagecollect_now()
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2566 let d = g:Xgetlist({'context':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2567 call assert_equal([1,2,3], d.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2568 call g:Xsetlist([], 'a', {'context':{'color':'green'}})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2569 let d = g:Xgetlist({'context':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2570 call assert_equal({'color':'green'}, d.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2571 call g:Xsetlist([], 'a', {'context':"Context info"})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2572 let d = g:Xgetlist({'context':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2573 call assert_equal("Context info", d.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2574 call g:Xsetlist([], 'a', {'context':246})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2575 let d = g:Xgetlist({'context':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2576 call assert_equal(246, d.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2577 " set other Vim data types as context
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2578 call g:Xsetlist([], 'a', {'context' : test_null_blob()})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2579 if has('channel')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2580 call g:Xsetlist([], 'a', {'context' : test_null_channel()})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2581 endif
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2582 if has('job')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2583 call g:Xsetlist([], 'a', {'context' : test_null_job()})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2584 endif
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2585 call g:Xsetlist([], 'a', {'context' : test_null_function()})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2586 call g:Xsetlist([], 'a', {'context' : test_null_partial()})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2587 call g:Xsetlist([], 'a', {'context' : ''})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2588 call test_garbagecollect_now()
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2589 if a:cchar == 'l'
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2590 " Test for copying context across two different location lists
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2591 new | only
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2592 let w1_id = win_getid()
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2593 let l = [1]
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2594 call setloclist(0, [], 'a', {'context':l})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2595 new
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2596 let w2_id = win_getid()
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2597 call add(l, 2)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2598 call assert_equal([1, 2], getloclist(w1_id, {'context':1}).context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2599 call assert_equal([1, 2], getloclist(w2_id, {'context':1}).context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2600 unlet! l
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2601 call assert_equal([1, 2], getloclist(w2_id, {'context':1}).context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2602 only
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2603 call setloclist(0, [], 'f')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2604 call assert_equal('', getloclist(0, {'context':1}).context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2605 endif
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2606
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2607 " Test for changing the context of previous quickfix lists
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2608 call g:Xsetlist([], 'f')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2609 Xexpr "One"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2610 Xexpr "Two"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2611 Xexpr "Three"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2612 call g:Xsetlist([], 'r', {'context' : [1], 'nr' : 1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2613 call g:Xsetlist([], 'a', {'context' : [2], 'nr' : 2})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2614 " Also, check for setting the context using quickfix list number zero.
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2615 call g:Xsetlist([], 'r', {'context' : [3], 'nr' : 0})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2616 call test_garbagecollect_now()
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2617 let l = g:Xgetlist({'nr' : 1, 'context' : 1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2618 call assert_equal([1], l.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2619 let l = g:Xgetlist({'nr' : 2, 'context' : 1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2620 call assert_equal([2], l.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2621 let l = g:Xgetlist({'nr' : 3, 'context' : 1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2622 call assert_equal([3], l.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2623
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2624 " Test for changing the context through reference and for garbage
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2625 " collection of quickfix context
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2626 let l = ["red"]
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2627 call g:Xsetlist([], ' ', {'context' : l})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2628 call add(l, "blue")
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2629 let x = g:Xgetlist({'context' : 1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2630 call add(x.context, "green")
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2631 call assert_equal(["red", "blue", "green"], l)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2632 call assert_equal(["red", "blue", "green"], x.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2633 unlet l
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2634 call test_garbagecollect_now()
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2635 let m = g:Xgetlist({'context' : 1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2636 call assert_equal(["red", "blue", "green"], m.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2637
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2638 " Test for setting/getting items
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2639 Xexpr ""
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2640 let qfprev = g:Xgetlist({'nr':0})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2641 let s = g:Xsetlist([], ' ', {'title':'Green',
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2642 \ 'items' : [{'filename':'F1', 'lnum':10}]})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2643 call assert_equal(0, s)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2644 let qfcur = g:Xgetlist({'nr':0})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2645 call assert_true(qfcur.nr == qfprev.nr + 1)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2646 let l = g:Xgetlist({'items':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2647 call assert_equal('F1', bufname(l.items[0].bufnr))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2648 call assert_equal(10, l.items[0].lnum)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2649 call g:Xsetlist([], 'a', {'items' : [{'filename':'F2', 'lnum':20},
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2650 \ {'filename':'F2', 'lnum':30}]})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2651 let l = g:Xgetlist({'items':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2652 call assert_equal('F2', bufname(l.items[2].bufnr))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2653 call assert_equal(30, l.items[2].lnum)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2654 call g:Xsetlist([], 'r', {'items' : [{'filename':'F3', 'lnum':40}]})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2655 let l = g:Xgetlist({'items':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2656 call assert_equal('F3', bufname(l.items[0].bufnr))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2657 call assert_equal(40, l.items[0].lnum)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2658 call g:Xsetlist([], 'r', {'items' : []})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2659 let l = g:Xgetlist({'items':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2660 call assert_equal(0, len(l.items))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2661
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2662 call g:Xsetlist([], 'r', {'title' : 'TestTitle'})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2663 call g:Xsetlist([], 'r', {'items' : [{'filename' : 'F1', 'lnum' : 10, 'text' : 'L10'}]})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2664 call g:Xsetlist([], 'r', {'items' : [{'filename' : 'F1', 'lnum' : 10, 'text' : 'L10'}]})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2665 call assert_equal('TestTitle', g:Xgetlist({'title' : 1}).title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2666
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2667 " Test for getting id of window associated with a location list window
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2668 if a:cchar == 'l'
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2669 only
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2670 call assert_equal(0, g:Xgetlist({'all' : 1}).filewinid)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2671 let wid = win_getid()
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
2672 Xopen
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2673 call assert_equal(wid, g:Xgetlist({'filewinid' : 1}).filewinid)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2674 wincmd w
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2675 call assert_equal(0, g:Xgetlist({'filewinid' : 1}).filewinid)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2676 only
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2677 endif
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2678
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2679 " The following used to crash Vim with address sanitizer
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2680 call g:Xsetlist([], 'f')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2681 call g:Xsetlist([], 'a', {'items' : [{'filename':'F1', 'lnum':10}]})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2682 call assert_equal(10, g:Xgetlist({'items':1}).items[0].lnum)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2683
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2684 " Try setting the items using a string
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2685 call assert_equal(-1, g:Xsetlist([], ' ', {'items' : 'Test'}))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2686
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2687 " Save and restore the quickfix stack
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2688 call g:Xsetlist([], 'f')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2689 call assert_equal(0, g:Xgetlist({'nr':'$'}).nr)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2690 Xexpr "File1:10:Line1"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2691 Xexpr "File2:20:Line2"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2692 Xexpr "File3:30:Line3"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2693 let last_qf = g:Xgetlist({'nr':'$'}).nr
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2694 call assert_equal(3, last_qf)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2695 let qstack = []
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2696 for i in range(1, last_qf)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2697 let qstack = add(qstack, g:Xgetlist({'nr':i, 'all':1}))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2698 endfor
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2699 call g:Xsetlist([], 'f')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2700 for i in range(len(qstack))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2701 call g:Xsetlist([], ' ', qstack[i])
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2702 endfor
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2703 call assert_equal(3, g:Xgetlist({'nr':'$'}).nr)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2704 call assert_equal(10, g:Xgetlist({'nr':1, 'items':1}).items[0].lnum)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2705 call assert_equal(20, g:Xgetlist({'nr':2, 'items':1}).items[0].lnum)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2706 call assert_equal(30, g:Xgetlist({'nr':3, 'items':1}).items[0].lnum)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2707 call g:Xsetlist([], 'f')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2708
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2709 " Swap two quickfix lists
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2710 Xexpr "File1:10:Line10"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2711 Xexpr "File2:20:Line20"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2712 Xexpr "File3:30:Line30"
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2713 call g:Xsetlist([], 'r', {'nr':1,'title':'Colors','context':['Colors']})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2714 call g:Xsetlist([], 'r', {'nr':2,'title':'Fruits','context':['Fruits']})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2715 let l1=g:Xgetlist({'nr':1,'all':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2716 let l2=g:Xgetlist({'nr':2,'all':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2717 let save_id = l1.id
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2718 let l1.id=l2.id
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2719 let l2.id=save_id
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2720 call g:Xsetlist([], 'r', l1)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2721 call g:Xsetlist([], 'r', l2)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2722 let newl1=g:Xgetlist({'nr':1,'all':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2723 let newl2=g:Xgetlist({'nr':2,'all':1})
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2724 call assert_equal('Fruits', newl1.title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2725 call assert_equal(['Fruits'], newl1.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2726 call assert_equal('Line20', newl1.items[0].text)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2727 call assert_equal('Colors', newl2.title)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2728 call assert_equal(['Colors'], newl2.context)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2729 call assert_equal('Line10', newl2.items[0].text)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2730 call g:Xsetlist([], 'f')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2731
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2732 " Cannot specify both a non-empty list argument and a dict argument
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2733 call assert_fails("call g:Xsetlist([{}], ' ', {})", 'E475:')
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
2734 endfunc
9850
67781bb0a61a commit https://github.com/vim/vim/commit/d823fa910cca43fec3c31c030ee908a14c272640
Christian Brabandt <cb@256bit.org>
parents: 9752
diff changeset
2735
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2736 func Test_qf_property()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2737 call Xproperty_tests('c')
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
2738 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
2739 endfunc
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2740
15424
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2741 " Test for setting the current index in the location/quickfix list
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2742 func Xtest_setqfidx(cchar)
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2743 call s:setup_commands(a:cchar)
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2744
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2745 Xgetexpr "F1:10:1:Line1\nF2:20:2:Line2\nF3:30:3:Line3"
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2746 Xgetexpr "F4:10:1:Line1\nF5:20:2:Line2\nF6:30:3:Line3"
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2747 Xgetexpr "F7:10:1:Line1\nF8:20:2:Line2\nF9:30:3:Line3"
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2748
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2749 call g:Xsetlist([], 'a', {'nr' : 3, 'idx' : 2})
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2750 call g:Xsetlist([], 'a', {'nr' : 2, 'idx' : 2})
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2751 call g:Xsetlist([], 'a', {'nr' : 1, 'idx' : 3})
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2752 Xolder 2
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2753 Xopen
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2754 call assert_equal(3, line('.'))
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2755 Xnewer
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2756 call assert_equal(2, line('.'))
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2757 Xnewer
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2758 call assert_equal(2, line('.'))
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2759 " Update the current index with the quickfix window open
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2760 wincmd w
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2761 call g:Xsetlist([], 'a', {'nr' : 3, 'idx' : 3})
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2762 Xopen
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2763 call assert_equal(3, line('.'))
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2764 Xclose
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2765
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2766 " Set the current index to the last entry
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2767 call g:Xsetlist([], 'a', {'nr' : 1, 'idx' : '$'})
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2768 call assert_equal(3, g:Xgetlist({'nr' : 1, 'idx' : 0}).idx)
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2769 " A large value should set the index to the last index
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2770 call g:Xsetlist([], 'a', {'nr' : 1, 'idx' : 1})
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2771 call g:Xsetlist([], 'a', {'nr' : 1, 'idx' : 999})
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2772 call assert_equal(3, g:Xgetlist({'nr' : 1, 'idx' : 0}).idx)
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2773 " Invalid index values
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2774 call g:Xsetlist([], 'a', {'nr' : 1, 'idx' : -1})
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2775 call assert_equal(3, g:Xgetlist({'nr' : 1, 'idx' : 0}).idx)
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2776 call g:Xsetlist([], 'a', {'nr' : 1, 'idx' : 0})
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2777 call assert_equal(3, g:Xgetlist({'nr' : 1, 'idx' : 0}).idx)
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2778 call g:Xsetlist([], 'a', {'nr' : 1, 'idx' : 'xx'})
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2779 call assert_equal(3, g:Xgetlist({'nr' : 1, 'idx' : 0}).idx)
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2780 call assert_fails("call g:Xsetlist([], 'a', {'nr':1, 'idx':[]})", 'E745:')
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2781
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2782 call g:Xsetlist([], 'f')
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2783 new | only
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2784 endfunc
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2785
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2786 func Test_setqfidx()
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2787 call Xtest_setqfidx('c')
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2788 call Xtest_setqfidx('l')
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2789 endfunc
90c8ff9c19ee patch 8.1.0720: cannot easily change the current quickfx list index
Bram Moolenaar <Bram@vim.org>
parents: 15225
diff changeset
2790
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2791 " 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
2792 func QfAutoCmdHandler(loc, cmd)
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2793 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
2794 endfunc
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2795
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2796 func Test_Autocmd()
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2797 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
2798 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
2799
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2800 let g:acmds = []
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2801 cexpr "F1:10:Line 10"
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2802 caddexpr "F1:20:Line 20"
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2803 cgetexpr "F1:30:Line 30"
12954
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2804 cexpr ""
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2805 caddexpr ""
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2806 cgetexpr ""
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2807 silent! cexpr non_existing_func()
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2808 silent! caddexpr non_existing_func()
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2809 silent! cgetexpr non_existing_func()
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2810 let l =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2811 precexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2812 postcexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2813 precaddexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2814 postcaddexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2815 precgetexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2816 postcgetexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2817 precexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2818 postcexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2819 precaddexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2820 postcaddexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2821 precgetexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2822 postcgetexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2823 precexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2824 precaddexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2825 precgetexpr
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2826 END
12954
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2827 call assert_equal(l, g:acmds)
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2828
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2829 let g:acmds = []
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2830 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
2831 cbuffer!
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2832 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
2833 cgetbuffer
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2834 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
2835 caddbuffer
12954
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2836 new
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2837 let bnum = bufnr('%')
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2838 bunload
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2839 exe 'silent! cbuffer! ' . bnum
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2840 exe 'silent! cgetbuffer ' . bnum
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2841 exe 'silent! caddbuffer ' . bnum
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2842 enew!
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2843 let l =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2844 precbuffer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2845 postcbuffer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2846 precgetbuffer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2847 postcgetbuffer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2848 precaddbuffer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2849 postcaddbuffer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2850 precbuffer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2851 precgetbuffer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2852 precaddbuffer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2853 END
12954
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2854 call assert_equal(l, g:acmds)
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2855
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
2856 call writefile(['Xtest:1:Line1'], 'Xtest', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
2857 call writefile([], 'Xempty', 'D')
12954
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2858 let g:acmds = []
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2859 cfile Xtest
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2860 caddfile Xtest
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2861 cgetfile Xtest
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2862 cfile Xempty
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2863 caddfile Xempty
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2864 cgetfile Xempty
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2865 silent! cfile do_not_exist
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2866 silent! caddfile do_not_exist
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2867 silent! cgetfile do_not_exist
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2868 let l =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2869 precfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2870 postcfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2871 precaddfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2872 postcaddfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2873 precgetfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2874 postcgetfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2875 precfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2876 postcfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2877 precaddfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2878 postcaddfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2879 precgetfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2880 postcgetfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2881 precfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2882 postcfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2883 precaddfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2884 postcaddfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2885 precgetfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2886 postcgetfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2887 END
10056
21f685af3fc1 commit https://github.com/vim/vim/commit/04c4ce650f9e533cd35b2aa6803f4d354d3ec7aa
Christian Brabandt <cb@256bit.org>
parents: 9982
diff changeset
2888 call assert_equal(l, g:acmds)
12954
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2889
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2890 let g:acmds = []
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2891 helpgrep quickfix
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2892 silent! helpgrep non_existing_help_topic
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2893 vimgrep test Xtest
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2894 vimgrepadd test Xtest
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2895 silent! vimgrep non_existing_test Xtest
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2896 silent! vimgrepadd non_existing_test Xtest
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2897 set makeprg=
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2898 silent! make
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2899 set makeprg&
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2900 let l =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2901 prehelpgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2902 posthelpgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2903 prehelpgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2904 posthelpgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2905 previmgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2906 postvimgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2907 previmgrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2908 postvimgrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2909 previmgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2910 postvimgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2911 previmgrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2912 postvimgrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2913 premake
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2914 postmake
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2915 END
12954
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2916 call assert_equal(l, g:acmds)
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2917
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2918 if has('unix')
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2919 " Run this test only on Unix-like systems. The grepprg may not be set on
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2920 " non-Unix systems.
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2921 " The following lines are used for the grep test. Don't remove.
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2922 " Grep_Autocmd_Text: Match 1
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2923 " GrepAdd_Autocmd_Text: Match 2
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2924 let g:acmds = []
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2925 silent grep Grep_Autocmd_Text test_quickfix.vim
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2926 silent grepadd GrepAdd_Autocmd_Text test_quickfix.vim
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2927 silent grep abc123def Xtest
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2928 silent grepadd abc123def Xtest
18740
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2929 set grepprg=internal
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2930 silent grep Grep_Autocmd_Text test_quickfix.vim
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2931 silent grepadd GrepAdd_Autocmd_Text test_quickfix.vim
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2932 silent lgrep Grep_Autocmd_Text test_quickfix.vim
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2933 silent lgrepadd GrepAdd_Autocmd_Text test_quickfix.vim
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
2934 set grepprg&vim
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2935 let l =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2936 pregrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2937 postgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2938 pregrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2939 postgrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2940 pregrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2941 postgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2942 pregrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2943 postgrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2944 pregrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2945 postgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2946 pregrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2947 postgrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2948 prelgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2949 postlgrep
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2950 prelgrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2951 postlgrepadd
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
2952 END
12954
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2953 call assert_equal(l, g:acmds)
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2954 endif
49e136457c66 patch 8.0.1353: QuickFixCmdPost is not used consistently
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
2955
13062
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
2956 au! QuickFixCmdPre
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
2957 au! QuickFixCmdPost
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2958 endfunc
10346
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2959
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2960 func Test_Autocmd_Exception()
10346
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2961 set efm=%m
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2962 lgetexpr '?'
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2963
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2964 try
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2965 call DoesNotExit()
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2966 catch
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2967 lgetexpr '1'
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2968 finally
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2969 lgetexpr '1'
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2970 endtry
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2971
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2972 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
2973
d52d97bf675e commit https://github.com/vim/vim/commit/21662be2211675824df1771c7f169948ede40c41
Christian Brabandt <cb@256bit.org>
parents: 10281
diff changeset
2974 set efm&vim
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2975 endfunc
10367
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
2976
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2977 func Test_caddbuffer_wrong()
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2978 " 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
2979 let save_efm = &efm
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
2980 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
2981 cgetexpr ['WWWW', 'EEEE', 'CCCC']
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
2982 let &efm = save_efm
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2983 caddbuffer
10367
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
2984 bwipe!
4e4e116e3689 commit https://github.com/vim/vim/commit/63bed3d319b5d90765dbdae93a3579b6322d79fb
Christian Brabandt <cb@256bit.org>
parents: 10346
diff changeset
2985 endfunc
10369
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2986
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2987 func Test_caddexpr_wrong()
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2988 " 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
2989 cbuffer
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2990 cbuffer
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2991 copen
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2992 let save_efm = &efm
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2993 set efm=%
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2994 call assert_fails('caddexpr ""', 'E376:')
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2995 let &efm = save_efm
4e5b307638cb commit https://github.com/vim/vim/commit/2b946c9f9b0e0fd805fb8f3e4c16e0a68ae13129
Christian Brabandt <cb@256bit.org>
parents: 10367
diff changeset
2996 endfunc
10379
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
2997
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
2998 func Test_dirstack_cleanup()
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
2999 " 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
3000 let save_efm = &efm
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3001 lexpr '0'
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3002 lopen
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3003 fun X(c)
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3004 let save_efm=&efm
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3005 set efm=%D%f
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3006 if a:c == 'c'
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3007 caddexpr '::'
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3008 else
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3009 laddexpr ':0:0'
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3010 endif
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3011 let &efm=save_efm
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3012 endfun
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3013 call X('c')
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3014 call X('l')
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3015 call setqflist([], 'r')
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3016 caddbuffer
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3017 let &efm = save_efm
73e2a7abe2a3 commit https://github.com/vim/vim/commit/7618e00d3b8bfe064cfc524640d754607361f9df
Christian Brabandt <cb@256bit.org>
parents: 10369
diff changeset
3018 endfunc
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3019
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3020 " 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
3021 " window
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3022 func Test_cwindow_jump()
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3023 set efm=%f%%%l%%%m
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3024 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
3025 lopen | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3026 lfirst
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3027 call assert_true(winnr('$') == 2)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3028 call assert_true(winnr() == 1)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3029 " 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
3030 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
3031
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3032 " Open a scratch buffer
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3033 " 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
3034 " 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
3035 " Jump to an entry.
15770
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
3036 " Should create a new window and jump to the entry. The scratch buffer
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3037 " should not be used.
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3038 enew | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3039 set buftype=nofile
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3040 below new
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3041 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
3042 lopen
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3043 2wincmd c
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3044 lnext
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3045 call assert_true(winnr('$') == 3)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3046 call assert_true(winnr() == 2)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3047
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3048 " 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
3049 " 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
3050 " 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
3051 " 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
3052 enew | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3053 lgetexpr ["F1%5%Line 5"]
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3054 below new
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3055 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
3056 lopen
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3057 2wincmd c
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3058 lnext
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3059 call assert_true(winnr() == 1)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3060 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
3061
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3062 enew | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3063 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
3064 copen
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3065 cnext
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3066 call assert_true(winnr('$') == 2)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3067 call assert_true(winnr() == 1)
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3068
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3069 " open the quickfix buffer in two windows and jump to an entry. Should open
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3070 " the file in the first quickfix window.
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3071 enew | only
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3072 copen
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3073 let bnum = bufnr('')
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3074 exe 'sbuffer ' . bnum
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3075 wincmd b
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3076 cfirst
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3077 call assert_equal(2, winnr())
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
3078 call assert_equal('F1', @%)
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3079 enew | only
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3080 exe 'sb' bnum
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3081 exe 'botright sb' bnum
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3082 wincmd t
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3083 clast
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3084 call assert_equal(2, winnr())
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3085 call assert_equal('quickfix', getwinvar(1, '&buftype'))
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3086 call assert_equal('quickfix', getwinvar(3, '&buftype'))
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3087
19195
2ef19eed524a patch 8.2.0156: various typos in source files and tests
Bram Moolenaar <Bram@vim.org>
parents: 19069
diff changeset
3088 " Jumping to a file from the location list window should find a usable
18740
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3089 " window by wrapping around the window list.
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3090 enew | only
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3091 call setloclist(0, [], 'f')
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3092 new | new
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3093 lgetexpr ["F1%10%Line 10", "F2%20%Line 20", "F3%30%Line 30"]
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3094 lopen
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3095 1close
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3096 call assert_equal(0, getloclist(3, {'id' : 0}).id)
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3097 lnext
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3098 call assert_equal(3, winnr())
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3099 call assert_equal(getloclist(1, {'id' : 0}).id, getloclist(3, {'id' : 0}).id)
d23bb26ba98f patch 8.1.2360: quickfix test coverage can still be improved
Bram Moolenaar <Bram@vim.org>
parents: 18736
diff changeset
3100
11030
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3101 enew | only
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3102 set efm&vim
9d40a98f0834 patch 8.0.0404: not enough testing for quickfix
Christian Brabandt <cb@256bit.org>
parents: 10379
diff changeset
3103 endfunc
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3104
18090
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3105 func Test_cwindow_highlight()
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3106 CheckScreendump
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3107
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3108 let lines =<< trim END
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3109 call setline(1, ['some', 'text', 'with', 'matches'])
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3110 write XCwindow
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3111 vimgrep e XCwindow
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3112 redraw
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3113 cwindow 4
18090
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3114 END
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3115 call writefile(lines, 'XtestCwindow', 'D')
18090
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3116 let buf = RunVimInTerminal('-S XtestCwindow', #{rows: 12})
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3117 call VerifyScreenDump(buf, 'Test_quickfix_cwindow_1', {})
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3118
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3119 call term_sendkeys(buf, ":cnext\<CR>")
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3120 call VerifyScreenDump(buf, 'Test_quickfix_cwindow_2', {})
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3121
29379
4ad168b282bd patch 9.0.0032: in the quickfix window 'cursorline' overrules QuickFixLine
Bram Moolenaar <Bram@vim.org>
parents: 29320
diff changeset
3122 call term_sendkeys(buf, "\<C-W>j:set cursorline\<CR>")
4ad168b282bd patch 9.0.0032: in the quickfix window 'cursorline' overrules QuickFixLine
Bram Moolenaar <Bram@vim.org>
parents: 29320
diff changeset
3123 call VerifyScreenDump(buf, 'Test_quickfix_cwindow_3', {})
4ad168b282bd patch 9.0.0032: in the quickfix window 'cursorline' overrules QuickFixLine
Bram Moolenaar <Bram@vim.org>
parents: 29320
diff changeset
3124
4ad168b282bd patch 9.0.0032: in the quickfix window 'cursorline' overrules QuickFixLine
Bram Moolenaar <Bram@vim.org>
parents: 29320
diff changeset
3125 call term_sendkeys(buf, "j")
4ad168b282bd patch 9.0.0032: in the quickfix window 'cursorline' overrules QuickFixLine
Bram Moolenaar <Bram@vim.org>
parents: 29320
diff changeset
3126 call VerifyScreenDump(buf, 'Test_quickfix_cwindow_4', {})
4ad168b282bd patch 9.0.0032: in the quickfix window 'cursorline' overrules QuickFixLine
Bram Moolenaar <Bram@vim.org>
parents: 29320
diff changeset
3127
18090
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3128 " clean up
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3129 call StopVimInTerminal(buf)
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3130 call delete('XCwindow')
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3131 endfunc
a6c74689fb97 patch 8.1.2040: no highlighting of current line in quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
3132
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3133 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
3134 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
3135
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3136 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3137 Editor:VIM vim
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3138 Editor:Emacs EmAcS
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3139 Editor:Notepad NOTEPAD
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3140 END
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3141 call writefile(lines, 'Xtestfile1', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3142 call writefile(['Linux', 'macOS', 'MS-Windows'], 'Xtestfile2', 'D')
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3143
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3144 " Error cases
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3145 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
3146
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3147 let @/=''
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3148 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
3149
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3150 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
3151 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
3152 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
3153
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3154 Xexpr ""
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3155 Xvimgrepadd Notepad Xtestfile1
26211
485c7c4afeb7 patch 8.2.3637: typos in test files
Bram Moolenaar <Bram@vim.org>
parents: 26026
diff changeset
3156 Xvimgrepadd macOS Xtestfile2
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3157 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
3158 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
3159 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
3160
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
3161 10Xvimgrep #\cvim#g Xtestfile?
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3162 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
3163 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
3164 call assert_equal(8, l[0].col)
24964
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
3165 call assert_equal(11, l[0].end_col)
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3166 call assert_equal(12, l[1].col)
24964
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
3167 call assert_equal(15, l[1].end_col)
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3168
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3169 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
3170 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
3171 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
3172 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
3173
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3174 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
3175 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
3176 let l = g:Xgetlist()
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
3177 call assert_equal('Xtestfile2', @%)
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3178 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
3179
13764
7bba231fdddc patch 8.0.1754: ex_helpgrep() is too long
Christian Brabandt <cb@256bit.org>
parents: 13760
diff changeset
3180 " Test for unloading a buffer after vimgrep searched the buffer
7bba231fdddc patch 8.0.1754: ex_helpgrep() is too long
Christian Brabandt <cb@256bit.org>
parents: 13760
diff changeset
3181 %bwipe
7bba231fdddc patch 8.0.1754: ex_helpgrep() is too long
Christian Brabandt <cb@256bit.org>
parents: 13760
diff changeset
3182 Xvimgrep /Editor/j Xtestfile*
7bba231fdddc patch 8.0.1754: ex_helpgrep() is too long
Christian Brabandt <cb@256bit.org>
parents: 13760
diff changeset
3183 call assert_equal(0, getbufinfo('Xtestfile1')[0].loaded)
7bba231fdddc patch 8.0.1754: ex_helpgrep() is too long
Christian Brabandt <cb@256bit.org>
parents: 13760
diff changeset
3184 call assert_equal([], getbufinfo('Xtestfile2'))
7bba231fdddc patch 8.0.1754: ex_helpgrep() is too long
Christian Brabandt <cb@256bit.org>
parents: 13760
diff changeset
3185
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3186 " Test for opening the dummy buffer used by vimgrep in a window. The new
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3187 " window should be closed
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3188 %bw!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3189 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3190 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3191 autocmd BufReadPre * exe "sb " .. expand("<abuf>")
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3192 augroup END
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3193 call assert_fails("Xvimgrep /sublime/ Xtestfile1", 'E480:')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3194 call assert_equal(1, winnr('$'))
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3195 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3196 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
3197 augroup END
11195
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3198 endfunc
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3199
13c660bd07b2 patch 8.0.0484: :lhelpgrep does not fail after a successful one
Christian Brabandt <cb@256bit.org>
parents: 11030
diff changeset
3200 " 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
3201 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
3202 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
3203 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
3204 endfunc
11301
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3205
23778
8b682f6f3709 patch 8.2.2430: :vimgrep expands wildcards twice
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
3206 func Test_vimgrep_wildcards_expanded_once()
8b682f6f3709 patch 8.2.2430: :vimgrep expands wildcards twice
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
3207 new X[id-01] file.txt
8b682f6f3709 patch 8.2.2430: :vimgrep expands wildcards twice
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
3208 call setline(1, 'some text to search for')
8b682f6f3709 patch 8.2.2430: :vimgrep expands wildcards twice
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
3209 vimgrep text %
8b682f6f3709 patch 8.2.2430: :vimgrep expands wildcards twice
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
3210 bwipe!
8b682f6f3709 patch 8.2.2430: :vimgrep expands wildcards twice
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
3211 endfunc
8b682f6f3709 patch 8.2.2430: :vimgrep expands wildcards twice
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
3212
14976
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3213 " Test for incsearch highlighting of the :vimgrep pattern
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3214 " This test used to cause "E315: ml_get: invalid lnum" errors.
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3215 func Test_vimgrep_incsearch()
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3216 enew
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3217 set incsearch
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3218 call test_override("char_avail", 1)
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3219
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3220 call feedkeys(":2vimgrep assert test_quickfix.vim test_cdo.vim\<CR>", "ntx")
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3221 let l = getqflist()
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3222 call assert_equal(2, len(l))
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3223
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3224 call test_override("ALL", 0)
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3225 set noincsearch
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3226 endfunc
676db1b7fc35 patch 8.1.0499: :2vimgrep causes an ml_get error
Bram Moolenaar <Bram@vim.org>
parents: 14956
diff changeset
3227
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3228 " Test vimgrep with the last search pattern not set
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3229 func Test_vimgrep_with_no_last_search_pat()
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3230 let lines =<< trim [SCRIPT]
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3231 call assert_fails('vimgrep // *', 'E35:')
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3232 call writefile(v:errors, 'Xresult')
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3233 qall!
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3234 [SCRIPT]
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3235 call writefile(lines, 'Xscript', 'D')
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3236 if RunVim([], [], '--clean -S Xscript')
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3237 call assert_equal([], readfile('Xresult'))
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3238 endif
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3239 call delete('Xresult')
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3240 endfunc
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19366
diff changeset
3241
22015
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3242 " Test vimgrep without swap file
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3243 func Test_vimgrep_without_swap_file()
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3244 let lines =<< trim [SCRIPT]
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3245 vimgrep grep test_c*
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3246 call writefile(['done'], 'Xresult')
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3247 qall!
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3248 [SCRIPT]
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3249 call writefile(lines, 'Xscript', 'D')
22015
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3250 if RunVim([], [], '--clean -n -S Xscript Xscript')
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3251 call assert_equal(['done'], readfile('Xresult'))
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3252 endif
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3253 call delete('Xresult')
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3254 endfunc
d8065205ea82 patch 8.2.1557: crash in :vimgrep when started as "vim -n"
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
3255
21668
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3256 func Test_vimgrep_existing_swapfile()
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3257 call writefile(['match apple with apple'], 'Xapple', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3258 call writefile(['swapfile'], '.Xapple.swp', 'D')
21668
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3259 let g:foundSwap = 0
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3260 let g:ignoreSwapExists = 1
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3261 augroup grep
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3262 au SwapExists * let foundSwap = 1 | let v:swapchoice = 'e'
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3263 augroup END
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3264 vimgrep apple Xapple
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3265 call assert_equal(1, g:foundSwap)
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3266 call assert_match('.Xapple.swo', swapname(''))
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3267
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3268 augroup grep
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3269 au! SwapExists
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3270 augroup END
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3271 unlet g:ignoreSwapExists
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3272 endfunc
0843f244e547 patch 8.2.1384: no ATTENTION prompt for :vimgrep first match file
Bram Moolenaar <Bram@vim.org>
parents: 21409
diff changeset
3273
11301
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3274 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
3275 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
3276
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3277 enew | only
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3278
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3279 " 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
3280 " 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
3281 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
3282 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
3283 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
3284 Xolder
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3285 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
3286 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
3287
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3288 " 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
3289 " single list.
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3290 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
3291 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
3292
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3293 " 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
3294 " 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
3295 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
3296 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
3297 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
3298 Xolder
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3299 Xwindow
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3300 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
3301 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
3302 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
3303 Xclose
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3304
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3305 " 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
3306 " 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
3307 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
3308 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
3309 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
3310 Xolder
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3311 Xwindow
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3312 wincmd p
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3313 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
3314 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
3315 wincmd p
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3316 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
3317 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
3318
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3319 " 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
3320 " 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
3321 " 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
3322 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
3323 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
3324 wincmd p
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3325 lopen
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3326 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
3327 endif
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3328 Xclose
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3329 endfunc
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3330
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3331 " Tests for the quickfix free functionality
11301
cc8ece2aa389 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Christian Brabandt <cb@256bit.org>
parents: 11263
diff changeset
3332 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
3333 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
3334 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
3335 endfunc
11445
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3336
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3337 " Test for buffer overflow when parsing lines and adding new entries to
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3338 " the quickfix list.
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3339 func Test_bufoverflow()
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3340 set efm=%f:%l:%m
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3341 cgetexpr ['File1:100:' . repeat('x', 1025)]
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3342
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3343 set efm=%+GCompiler:\ %.%#,%f:%l:%m
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3344 cgetexpr ['Compiler: ' . repeat('a', 1015), 'File1:10:Hello World']
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3345
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3346 set efm=%DEntering\ directory\ %f,%f:%l:%m
29320
a74398c432a4 patch 9.0.0003: functions are global while they could be local
Bram Moolenaar <Bram@vim.org>
parents: 29014
diff changeset
3347 let lines =<< trim eval END
a74398c432a4 patch 9.0.0003: functions are global while they could be local
Bram Moolenaar <Bram@vim.org>
parents: 29014
diff changeset
3348 Entering directory $"{repeat('a', 1006)}"
a74398c432a4 patch 9.0.0003: functions are global while they could be local
Bram Moolenaar <Bram@vim.org>
parents: 29014
diff changeset
3349 File1:10:Hello World
a74398c432a4 patch 9.0.0003: functions are global while they could be local
Bram Moolenaar <Bram@vim.org>
parents: 29014
diff changeset
3350 END
a74398c432a4 patch 9.0.0003: functions are global while they could be local
Bram Moolenaar <Bram@vim.org>
parents: 29014
diff changeset
3351 cgetexpr lines
11445
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3352 set efm&vim
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3353 endfunc
461ac47c3793 patch 8.0.0606: cannot set the context for a specified quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11412
diff changeset
3354
11502
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3355 " Tests for getting the quickfix stack size
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3356 func XsizeTests(cchar)
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3357 call s:setup_commands(a:cchar)
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3358
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3359 call g:Xsetlist([], 'f')
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3360 call assert_equal(0, g:Xgetlist({'nr':'$'}).nr)
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3361 call assert_equal('', g:Xgetlist({'nr':'$', 'all':1}).title)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3362 call assert_equal(0, g:Xgetlist({'nr':0}).nr)
11502
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3363
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3364 Xexpr "File1:10:Line1"
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3365 Xexpr "File2:20:Line2"
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3366 Xexpr "File3:30:Line3"
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3367 Xolder | Xolder
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3368 call assert_equal(3, g:Xgetlist({'nr':'$'}).nr)
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3369 call g:Xsetlist([], 'f')
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3370
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3371 Xexpr "File1:10:Line1"
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3372 Xexpr "File2:20:Line2"
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3373 Xexpr "File3:30:Line3"
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3374 Xolder | Xolder
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3375 call g:Xsetlist([], 'a', {'nr':'$', 'title':'Compiler'})
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3376 call assert_equal('Compiler', g:Xgetlist({'nr':3, 'all':1}).title)
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3377 endfunc
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3378
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3379 func Test_Qf_Size()
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3380 call XsizeTests('c')
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3381 call XsizeTests('l')
46bbef0ee9a6 patch 8.0.0634: cannot easily get to the last quickfix list
Christian Brabandt <cb@256bit.org>
parents: 11445
diff changeset
3382 endfunc
11589
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3383
11611
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3384 func Test_cclose_from_copen()
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3385 augroup QF_Test
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3386 au!
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
3387 au FileType qf :call assert_fails(':cclose', 'E788:')
11611
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3388 augroup END
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3389 copen
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3390 augroup QF_Test
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3391 au!
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3392 augroup END
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3393 augroup! QF_Test
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3394 endfunc
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3395
11589
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3396 func Test_cclose_in_autocmd()
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3397 " Problem is only triggered if "starting" is zero, so that the OptionsSet
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3398 " event will be triggered.
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3399 call test_override('starting', 1)
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3400 augroup QF_Test
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3401 au!
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
3402 au FileType qf :call assert_fails(':cclose', 'E788:')
11589
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3403 augroup END
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3404 copen
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3405 augroup QF_Test
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3406 au!
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3407 augroup END
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3408 augroup! QF_Test
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3409 call test_override('starting', 0)
39787def24bb patch 8.0.0677: setting 'filetype' may switch buffers
Christian Brabandt <cb@256bit.org>
parents: 11549
diff changeset
3410 endfunc
11611
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3411
14648
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3412 " Check that ":file" without an argument is possible even when "curbuf_lock"
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3413 " is set.
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3414 func Test_file_from_copen()
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3415 " Works without argument.
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3416 augroup QF_Test
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3417 au!
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3418 au FileType qf file
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3419 augroup END
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3420 copen
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3421
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3422 augroup QF_Test
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3423 au!
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3424 augroup END
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3425 cclose
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3426
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3427 " Fails with argument.
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3428 augroup QF_Test
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3429 au!
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
3430 au FileType qf call assert_fails(':file foo', 'E788:')
14648
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3431 augroup END
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3432 copen
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3433 augroup QF_Test
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3434 au!
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3435 augroup END
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3436 cclose
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3437
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3438 augroup! QF_Test
18452
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
3439 endfunc
14648
c3222a7342ab patch 8.1.0337: :file fails in quickfix command
Christian Brabandt <cb@256bit.org>
parents: 14603
diff changeset
3440
11611
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3441 func Test_resize_from_copen()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3442 augroup QF_Test
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3443 au!
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3444 au FileType qf resize 5
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3445 augroup END
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3446 try
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3447 " This should succeed without any exception. No other buffers are
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3448 " involved in the autocmd.
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3449 copen
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3450 finally
11611
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3451 augroup QF_Test
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3452 au!
11611
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3453 augroup END
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3454 augroup! QF_Test
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3455 endtry
11611
9dc041e1c8c9 patch 8.0.0688: cannot resize the window in a FileType autocommand
Christian Brabandt <cb@256bit.org>
parents: 11609
diff changeset
3456 endfunc
11705
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3457
22874
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3458 func Test_vimgrep_with_textlock()
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3459 new
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3460
29014
45c182c4f7e9 patch 8.2.5029: "textlock" is always zero
Bram Moolenaar <Bram@vim.org>
parents: 28421
diff changeset
3461 " Simple way to execute something with "textlock" set.
22874
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3462 " Check that vimgrep without jumping can be executed.
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3463 au InsertCharPre * vimgrep /RunTheTest/j runtest.vim
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3464 normal ax
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3465 let qflist = getqflist()
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3466 call assert_true(len(qflist) > 0)
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3467 call assert_match('RunTheTest', qflist[0].text)
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3468 call setqflist([], 'r')
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3469 au! InsertCharPre
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3470
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3471 " Check that vimgrepadd without jumping can be executed.
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3472 au InsertCharPre * vimgrepadd /RunTheTest/j runtest.vim
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3473 normal ax
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3474 let qflist = getqflist()
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3475 call assert_true(len(qflist) > 0)
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3476 call assert_match('RunTheTest', qflist[0].text)
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3477 call setqflist([], 'r')
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3478 au! InsertCharPre
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3479
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3480 " Check that lvimgrep without jumping can be executed.
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3481 au InsertCharPre * lvimgrep /RunTheTest/j runtest.vim
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3482 normal ax
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3483 let qflist = getloclist(0)
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3484 call assert_true(len(qflist) > 0)
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3485 call assert_match('RunTheTest', qflist[0].text)
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3486 call setloclist(0, [], 'r')
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3487 au! InsertCharPre
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3488
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3489 " Check that lvimgrepadd without jumping can be executed.
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3490 au InsertCharPre * lvimgrepadd /RunTheTest/j runtest.vim
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3491 normal ax
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3492 let qflist = getloclist(0)
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3493 call assert_true(len(qflist) > 0)
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3494 call assert_match('RunTheTest', qflist[0].text)
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3495 call setloclist(0, [], 'r')
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3496 au! InsertCharPre
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3497
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3498 " trying to jump will give an error
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3499 au InsertCharPre * vimgrep /RunTheTest/ runtest.vim
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3500 call assert_fails('normal ax', 'E565:')
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3501 au! InsertCharPre
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3502
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3503 au InsertCharPre * vimgrepadd /RunTheTest/ runtest.vim
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3504 call assert_fails('normal ax', 'E565:')
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3505 au! InsertCharPre
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3506
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3507 au InsertCharPre * lvimgrep /RunTheTest/ runtest.vim
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3508 call assert_fails('normal ax', 'E565:')
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3509 au! InsertCharPre
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3510
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3511 au InsertCharPre * lvimgrepadd /RunTheTest/ runtest.vim
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3512 call assert_fails('normal ax', 'E565:')
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3513 au! InsertCharPre
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3514
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3515 bwipe!
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3516 endfunc
db1bc1ab5ec8 patch 8.2.1984: cannot use :vimgrep in omni completion
Bram Moolenaar <Bram@vim.org>
parents: 22870
diff changeset
3517
11705
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3518 " Tests for the quickfix buffer b:changedtick variable
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3519 func Xchangedtick_tests(cchar)
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3520 call s:setup_commands(a:cchar)
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3521
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3522 new | only
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3523
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3524 Xexpr "" | Xexpr "" | Xexpr ""
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3525
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3526 Xopen
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3527 Xolder
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3528 Xolder
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3529 Xaddexpr "F1:10:Line10"
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3530 Xaddexpr "F2:20:Line20"
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3531 call g:Xsetlist([{"filename":"F3", "lnum":30, "text":"Line30"}], 'a')
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3532 call g:Xsetlist([], 'f')
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3533 call assert_equal(8, getbufvar('%', 'changedtick'))
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3534 Xclose
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3535 endfunc
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3536
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3537 func Test_changedtick()
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3538 call Xchangedtick_tests('c')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3539 call Xchangedtick_tests('l')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3540 endfunc
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3541
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3542 " Tests for parsing an expression using setqflist()
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3543 func Xsetexpr_tests(cchar)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3544 call s:setup_commands(a:cchar)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3545
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3546 let t = ["File1:10:Line10", "File1:20:Line20"]
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3547 call g:Xsetlist([], ' ', {'lines' : t})
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3548 call g:Xsetlist([], 'a', {'lines' : ["File1:30:Line30"]})
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3549
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3550 let l = g:Xgetlist()
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3551 call assert_equal(3, len(l))
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3552 call assert_equal(20, l[1].lnum)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3553 call assert_equal('Line30', l[2].text)
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3554 call g:Xsetlist([], 'r', {'lines' : ["File2:5:Line5"]})
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3555 let l = g:Xgetlist()
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3556 call assert_equal(1, len(l))
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3557 call assert_equal('Line5', l[0].text)
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3558 call assert_equal(-1, g:Xsetlist([], 'a', {'lines' : 10}))
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3559 call assert_equal(-1, g:Xsetlist([], 'a', {'lines' : "F1:10:L10"}))
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3560
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3561 call g:Xsetlist([], 'f')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3562 " Add entries to multiple lists
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3563 call g:Xsetlist([], 'a', {'nr' : 1, 'lines' : ["File1:10:Line10"]})
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3564 call g:Xsetlist([], 'a', {'nr' : 2, 'lines' : ["File2:20:Line20"]})
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3565 call g:Xsetlist([], 'a', {'nr' : 1, 'lines' : ["File1:15:Line15"]})
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3566 call g:Xsetlist([], 'a', {'nr' : 2, 'lines' : ["File2:25:Line25"]})
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3567 call assert_equal('Line15', g:Xgetlist({'nr':1, 'items':1}).items[1].text)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3568 call assert_equal('Line25', g:Xgetlist({'nr':2, 'items':1}).items[1].text)
12321
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3569
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3570 " Adding entries using a custom efm
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3571 set efm&
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3572 call g:Xsetlist([], ' ', {'efm' : '%f#%l#%m',
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3573 \ 'lines' : ["F1#10#L10", "F2#20#L20"]})
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3574 call assert_equal(20, g:Xgetlist({'items':1}).items[1].lnum)
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3575 call g:Xsetlist([], 'a', {'efm' : '%f#%l#%m', 'lines' : ["F3:30:L30"]})
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3576 call assert_equal('F3:30:L30', g:Xgetlist({'items':1}).items[2].text)
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3577 call assert_equal(20, g:Xgetlist({'items':1}).items[1].lnum)
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3578 call assert_equal(-1, g:Xsetlist([], 'a', {'efm' : [],
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3579 \ 'lines' : ['F1:10:L10']}))
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3580 endfunc
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3581
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3582 func Test_setexpr()
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3583 call Xsetexpr_tests('c')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3584 call Xsetexpr_tests('l')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3585 endfunc
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3586
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3587 " Tests for per quickfix/location list directory stack
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3588 func Xmultidirstack_tests(cchar)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3589 call s:setup_commands(a:cchar)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3590
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3591 call g:Xsetlist([], 'f')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3592 Xexpr "" | Xexpr ""
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3593
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3594 call g:Xsetlist([], 'a', {'nr' : 1, 'lines' : ["Entering dir 'Xone/a'"]})
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3595 call g:Xsetlist([], 'a', {'nr' : 2, 'lines' : ["Entering dir 'Xtwo/a'"]})
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3596 call g:Xsetlist([], 'a', {'nr' : 1, 'lines' : ["one.txt:3:one one one"]})
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3597 call g:Xsetlist([], 'a', {'nr' : 2, 'lines' : ["two.txt:5:two two two"]})
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3598
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3599 let l1 = g:Xgetlist({'nr':1, 'items':1})
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3600 let l2 = g:Xgetlist({'nr':2, 'items':1})
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3601 call assert_equal('Xone/a/one.txt', bufname(l1.items[1].bufnr))
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3602 call assert_equal(3, l1.items[1].lnum)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3603 call assert_equal('Xtwo/a/two.txt', bufname(l2.items[1].bufnr))
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3604 call assert_equal(5, l2.items[1].lnum)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3605 endfunc
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3606
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3607 func Test_multidirstack()
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3608 call mkdir('Xone/a', 'pR')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3609 call mkdir('Xtwo/a', 'pR')
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3610 let lines = ['1', '2', 'one one one', '4', 'two two two', '6', '7']
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3611 call writefile(lines, 'Xone/a/one.txt')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3612 call writefile(lines, 'Xtwo/a/two.txt')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3613 let save_efm = &efm
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3614 set efm=%DEntering\ dir\ '%f',%f:%l:%m,%XLeaving\ dir\ '%f'
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3615
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3616 call Xmultidirstack_tests('c')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3617 call Xmultidirstack_tests('l')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3618
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3619 let &efm = save_efm
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3620 endfunc
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3621
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3622 " Tests for per quickfix/location list file stack
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3623 func Xmultifilestack_tests(cchar)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3624 call s:setup_commands(a:cchar)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3625
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3626 call g:Xsetlist([], 'f')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3627 Xexpr "" | Xexpr ""
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3628
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3629 call g:Xsetlist([], 'a', {'nr' : 1, 'lines' : ["[one.txt]"]})
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3630 call g:Xsetlist([], 'a', {'nr' : 2, 'lines' : ["[two.txt]"]})
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3631 call g:Xsetlist([], 'a', {'nr' : 1, 'lines' : ["(3,5) one one one"]})
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3632 call g:Xsetlist([], 'a', {'nr' : 2, 'lines' : ["(5,9) two two two"]})
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3633
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3634 let l1 = g:Xgetlist({'nr':1, 'items':1})
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3635 let l2 = g:Xgetlist({'nr':2, 'items':1})
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3636 call assert_equal('one.txt', bufname(l1.items[1].bufnr))
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3637 call assert_equal(3, l1.items[1].lnum)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3638 call assert_equal('two.txt', bufname(l2.items[1].bufnr))
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3639 call assert_equal(5, l2.items[1].lnum)
13612
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3640
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3641 " Test for start of a new error line in the same line where a previous
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3642 " error line ends with a file stack.
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3643 let efm_val = 'Error\ l%l\ in\ %f,'
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3644 let efm_val .= '%-P%>(%f%r,Error\ l%l\ in\ %m,%-Q)%r'
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3645 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3646 (one.txt
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3647 Error l4 in one.txt
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3648 ) (two.txt
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3649 Error l6 in two.txt
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3650 )
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3651 Error l8 in one.txt
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3652 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3653 let l = g:Xgetlist({'lines': lines, 'efm' : efm_val})
13612
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3654 call assert_equal(3, len(l.items))
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3655 call assert_equal('one.txt', bufname(l.items[0].bufnr))
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3656 call assert_equal(4, l.items[0].lnum)
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3657 call assert_equal('one.txt', l.items[0].text)
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3658 call assert_equal('two.txt', bufname(l.items[1].bufnr))
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3659 call assert_equal(6, l.items[1].lnum)
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3660 call assert_equal('two.txt', l.items[1].text)
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3661 call assert_equal('one.txt', bufname(l.items[2].bufnr))
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3662 call assert_equal(8, l.items[2].lnum)
89223f5d5d12 patch 8.0.1678: errorformat "%r" implies "%>"
Christian Brabandt <cb@256bit.org>
parents: 13594
diff changeset
3663 call assert_equal('', l.items[2].text)
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3664 endfunc
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3665
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3666 func Test_multifilestack()
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3667 let lines = ['1', '2', 'one one one', '4', 'two two two', '6', '7']
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3668 call writefile(lines, 'one.txt', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3669 call writefile(lines, 'two.txt', 'D')
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3670 let save_efm = &efm
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3671 set efm=%+P[%f],(%l\\,%c)\ %m,%-Q
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3672
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3673 call Xmultifilestack_tests('c')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3674 call Xmultifilestack_tests('l')
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3675
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3676 let &efm = save_efm
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3677 endfunc
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3678
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3679 " Tests for per buffer 'efm' setting
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3680 func Test_perbuf_efm()
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3681 call writefile(["File1-10-Line10"], 'one.txt', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3682 call writefile(["File2#20#Line20"], 'two.txt', 'D')
12048
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3683 set efm=%f#%l#%m
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3684 new | only
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3685 new
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3686 setlocal efm=%f-%l-%m
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3687 cfile one.txt
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3688 wincmd w
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3689 caddfile two.txt
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3690
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3691 let l = getqflist()
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3692 call assert_equal(10, l[0].lnum)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3693 call assert_equal('Line20', l[1].text)
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3694
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3695 set efm&
ebd313aa5a6c patch 8.0.0904: cannot set a location list from text
Christian Brabandt <cb@256bit.org>
parents: 11800
diff changeset
3696 new | only
11705
c43118ecb0a3 patch 8.0.0735: no indication that the quickfix window/buffer changed
Christian Brabandt <cb@256bit.org>
parents: 11611
diff changeset
3697 endfunc
11800
5ceaecedbad2 patch 8.0.0782: using freed memory in quickfix code
Christian Brabandt <cb@256bit.org>
parents: 11705
diff changeset
3698
5ceaecedbad2 patch 8.0.0782: using freed memory in quickfix code
Christian Brabandt <cb@256bit.org>
parents: 11705
diff changeset
3699 " Open multiple help windows using ":lhelpgrep
5ceaecedbad2 patch 8.0.0782: using freed memory in quickfix code
Christian Brabandt <cb@256bit.org>
parents: 11705
diff changeset
3700 " This test used to crash Vim
5ceaecedbad2 patch 8.0.0782: using freed memory in quickfix code
Christian Brabandt <cb@256bit.org>
parents: 11705
diff changeset
3701 func Test_Multi_LL_Help()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3702 new | only
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3703 lhelpgrep window
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3704 lopen
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3705 e#
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3706 lhelpgrep buffer
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3707 call assert_equal(3, winnr('$'))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3708 call assert_true(len(getloclist(1)) != 0)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3709 call assert_true(len(getloclist(2)) != 0)
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
3710 new | only
11800
5ceaecedbad2 patch 8.0.0782: using freed memory in quickfix code
Christian Brabandt <cb@256bit.org>
parents: 11705
diff changeset
3711 endfunc
12084
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3712
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3713 " Tests for adding new quickfix lists using setqflist()
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3714 func XaddQf_tests(cchar)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3715 call s:setup_commands(a:cchar)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3716
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3717 " Create a new list using ' ' for action
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3718 call g:Xsetlist([], 'f')
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3719 call g:Xsetlist([], ' ', {'title' : 'Test1'})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3720 let l = g:Xgetlist({'nr' : '$', 'all' : 1})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3721 call assert_equal(1, l.nr)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3722 call assert_equal('Test1', l.title)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3723
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3724 " Create a new list using ' ' for action and '$' for 'nr'
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3725 call g:Xsetlist([], 'f')
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3726 call g:Xsetlist([], ' ', {'title' : 'Test2', 'nr' : '$'})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3727 let l = g:Xgetlist({'nr' : '$', 'all' : 1})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3728 call assert_equal(1, l.nr)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3729 call assert_equal('Test2', l.title)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3730
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3731 " Create a new list using 'a' for action
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3732 call g:Xsetlist([], 'f')
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3733 call g:Xsetlist([], 'a', {'title' : 'Test3'})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3734 let l = g:Xgetlist({'nr' : '$', 'all' : 1})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3735 call assert_equal(1, l.nr)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3736 call assert_equal('Test3', l.title)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3737
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3738 " Create a new list using 'a' for action and '$' for 'nr'
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3739 call g:Xsetlist([], 'f')
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3740 call g:Xsetlist([], 'a', {'title' : 'Test3', 'nr' : '$'})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3741 call g:Xsetlist([], 'a', {'title' : 'Test4'})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3742 let l = g:Xgetlist({'nr' : '$', 'all' : 1})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3743 call assert_equal(1, l.nr)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3744 call assert_equal('Test4', l.title)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3745
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3746 " Adding a quickfix list should remove all the lists following the current
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3747 " list.
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3748 Xexpr "" | Xexpr "" | Xexpr ""
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3749 silent! 10Xolder
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3750 call g:Xsetlist([], ' ', {'title' : 'Test5'})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3751 let l = g:Xgetlist({'nr' : '$', 'all' : 1})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3752 call assert_equal(2, l.nr)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3753 call assert_equal('Test5', l.title)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3754
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3755 " Add a quickfix list using '$' as the list number.
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3756 let lastqf = g:Xgetlist({'nr':'$'}).nr
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3757 silent! 99Xolder
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3758 call g:Xsetlist([], ' ', {'nr' : '$', 'title' : 'Test6'})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3759 let l = g:Xgetlist({'nr' : '$', 'all' : 1})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3760 call assert_equal(lastqf + 1, l.nr)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3761 call assert_equal('Test6', l.title)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3762
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3763 " Add a quickfix list using 'nr' set to one more than the quickfix
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3764 " list size.
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3765 let lastqf = g:Xgetlist({'nr':'$'}).nr
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3766 silent! 99Xolder
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3767 call g:Xsetlist([], ' ', {'nr' : lastqf + 1, 'title' : 'Test7'})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3768 let l = g:Xgetlist({'nr' : '$', 'all' : 1})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3769 call assert_equal(lastqf + 1, l.nr)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3770 call assert_equal('Test7', l.title)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3771
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3772 " Add a quickfix list to a stack with 10 lists using 'nr' set to '$'
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3773 exe repeat('Xexpr "" |', 9) . 'Xexpr ""'
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3774 silent! 99Xolder
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3775 call g:Xsetlist([], ' ', {'nr' : '$', 'title' : 'Test8'})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3776 let l = g:Xgetlist({'nr' : '$', 'all' : 1})
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3777 call assert_equal(10, l.nr)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3778 call assert_equal('Test8', l.title)
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3779
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3780 " Add a quickfix list using 'nr' set to a value greater than 10
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3781 call assert_equal(-1, g:Xsetlist([], ' ', {'nr' : 12, 'title' : 'Test9'}))
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3782
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3783 " Try adding a quickfix list with 'nr' set to a value greater than the
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3784 " quickfix list size but less than 10.
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3785 call g:Xsetlist([], 'f')
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3786 Xexpr "" | Xexpr "" | Xexpr ""
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3787 silent! 99Xolder
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3788 call assert_equal(-1, g:Xsetlist([], ' ', {'nr' : 8, 'title' : 'Test10'}))
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3789
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3790 " Add a quickfix list using 'nr' set to a some string or list
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3791 call assert_equal(-1, g:Xsetlist([], ' ', {'nr' : [1,2], 'title' : 'Test11'}))
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3792 endfunc
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3793
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3794 func Test_add_qf()
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3795 call XaddQf_tests('c')
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3796 call XaddQf_tests('l')
69ce6b3f0834 patch 8.0.0922: quickfix list always added after current one
Christian Brabandt <cb@256bit.org>
parents: 12048
diff changeset
3797 endfunc
12252
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3798
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3799 " Test for getting the quickfix list items from some text without modifying
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3800 " the quickfix stack
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3801 func XgetListFromLines(cchar)
12252
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3802 call s:setup_commands(a:cchar)
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3803 call g:Xsetlist([], 'f')
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3804
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3805 let l = g:Xgetlist({'lines' : ["File2:20:Line20", "File2:30:Line30"]}).items
12252
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3806 call assert_equal(2, len(l))
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3807 call assert_equal(30, l[1].lnum)
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3808
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3809 call assert_equal({}, g:Xgetlist({'lines' : 10}))
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3810 call assert_equal({}, g:Xgetlist({'lines' : 'File1:10:Line10'}))
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3811 call assert_equal([], g:Xgetlist({'lines' : []}).items)
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3812 call assert_equal([], g:Xgetlist({'lines' : [10, 20]}).items)
12252
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3813
12321
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3814 " Parse text using a custom efm
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3815 set efm&
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3816 let l = g:Xgetlist({'lines':['File3#30#Line30'], 'efm' : '%f#%l#%m'}).items
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3817 call assert_equal('Line30', l[0].text)
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3818 let l = g:Xgetlist({'lines':['File3:30:Line30'], 'efm' : '%f-%l-%m'}).items
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3819 call assert_equal('File3:30:Line30', l[0].text)
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3820 let l = g:Xgetlist({'lines':['File3:30:Line30'], 'efm' : [1,2]})
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3821 call assert_equal({}, l)
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3822 call assert_fails("call g:Xgetlist({'lines':['abc'], 'efm':'%2'})", 'E376:')
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3823 call assert_fails("call g:Xgetlist({'lines':['abc'], 'efm':''})", 'E378:')
2779d593a706 patch 8.0.1040: cannot use another error format in getqflist()
Christian Brabandt <cb@256bit.org>
parents: 12303
diff changeset
3824
12252
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3825 " Make sure that the quickfix stack is not modified
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3826 call assert_equal(0, g:Xgetlist({'nr' : '$'}).nr)
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3827 endfunc
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3828
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3829 func Test_get_list_from_lines()
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3830 call XgetListFromLines('c')
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3831 call XgetListFromLines('l')
12252
3d0e042ec13c patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Christian Brabandt <cb@256bit.org>
parents: 12084
diff changeset
3832 endfunc
12287
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3833
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3834 " Tests for the quickfix list id
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3835 func Xqfid_tests(cchar)
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3836 call s:setup_commands(a:cchar)
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3837
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3838 call g:Xsetlist([], 'f')
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3839 call assert_equal(0, g:Xgetlist({'id':0}).id)
12287
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3840 Xexpr ''
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3841 let start_id = g:Xgetlist({'id' : 0}).id
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3842 Xexpr '' | Xexpr ''
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3843 Xolder
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3844 call assert_equal(start_id, g:Xgetlist({'id':0, 'nr':1}).id)
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3845 call assert_equal(start_id + 1, g:Xgetlist({'id':0, 'nr':0}).id)
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3846 call assert_equal(start_id + 2, g:Xgetlist({'id':0, 'nr':'$'}).id)
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3847 call assert_equal(0, g:Xgetlist({'id':0, 'nr':99}).id)
12287
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3848 call assert_equal(2, g:Xgetlist({'id':start_id + 1, 'nr':0}).nr)
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3849 call assert_equal(0, g:Xgetlist({'id':99, 'nr':0}).id)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3850 call assert_equal(0, g:Xgetlist({'id':"abc", 'nr':0}).id)
12287
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3851
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3852 call g:Xsetlist([], 'a', {'id':start_id, 'context':[1,2]})
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3853 call assert_equal([1,2], g:Xgetlist({'nr':1, 'context':1}).context)
12303
ec7a4fd21dd5 patch 8.0.1031: "text" argument for getqflist() is confusing
Christian Brabandt <cb@256bit.org>
parents: 12299
diff changeset
3854 call g:Xsetlist([], 'a', {'id':start_id+1, 'lines':['F1:10:L10']})
12287
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3855 call assert_equal('L10', g:Xgetlist({'nr':2, 'items':1}).items[0].text)
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3856 call assert_equal(-1, g:Xsetlist([], 'a', {'id':999, 'title':'Vim'}))
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3857 call assert_equal(-1, g:Xsetlist([], 'a', {'id':'abc', 'title':'Vim'}))
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3858
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3859 let qfid = g:Xgetlist({'id':0, 'nr':0})
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3860 call g:Xsetlist([], 'f')
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3861 call assert_equal(0, g:Xgetlist({'id':qfid, 'nr':0}).id)
12287
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3862 endfunc
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3863
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3864 func Test_qf_id()
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3865 call Xqfid_tests('c')
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3866 call Xqfid_tests('l')
20641a7e1fc9 patch 8.0.1023: it is not easy to identify a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 12252
diff changeset
3867 endfunc
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3868
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3869 func Xqfjump_tests(cchar)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3870 call s:setup_commands(a:cchar)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3871
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3872 call writefile(["Line1\tFoo", "Line2"], 'F1', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3873 call writefile(["Line1\tBar", "Line2"], 'F2', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
3874 call writefile(["Line1\tBaz", "Line2"], 'F3', 'D')
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3875
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3876 call g:Xsetlist([], 'f')
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3877
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3878 " Tests for
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3879 " Jumping to a line using a pattern
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3880 " Jumping to a column greater than the last column in a line
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3881 " Jumping to a line greater than the last line in the file
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3882 let l = []
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3883 for i in range(1, 7)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3884 call add(l, {})
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3885 endfor
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3886 let l[0].filename='F1'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3887 let l[0].pattern='Line1'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3888 let l[1].filename='F2'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3889 let l[1].pattern='Line1'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3890 let l[2].filename='F3'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3891 let l[2].pattern='Line1'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3892 let l[3].filename='F3'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3893 let l[3].lnum=1
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3894 let l[3].col=9
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3895 let l[3].vcol=1
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3896 let l[4].filename='F3'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3897 let l[4].lnum=99
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3898 let l[5].filename='F3'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3899 let l[5].lnum=1
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3900 let l[5].col=99
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3901 let l[5].vcol=1
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3902 let l[6].filename='F3'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3903 let l[6].pattern='abcxyz'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3904
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3905 call g:Xsetlist([], ' ', {'items' : l})
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3906 Xopen | only
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3907 2Xnext
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3908 call assert_equal(3, g:Xgetlist({'idx' : 0}).idx)
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
3909 call assert_equal('F3', @%)
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3910 Xnext
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3911 call assert_equal(7, col('.'))
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3912 Xnext
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3913 call assert_equal(2, line('.'))
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3914 Xnext
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3915 call assert_equal(9, col('.'))
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3916 2
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3917 Xnext
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3918 call assert_equal(2, line('.'))
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3919
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3920 if a:cchar == 'l'
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3921 " When jumping to a location list entry in the location list window and
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3922 " no usable windows are available, then a new window should be opened.
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3923 enew! | new | only
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3924 call g:Xsetlist([], 'f')
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3925 setlocal buftype=nofile
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3926 new
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3927 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3928 F1:1:1:Line1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3929 F1:2:2:Line2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3930 F2:1:1:Line1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3931 F2:2:2:Line2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3932 F3:1:1:Line1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3933 F3:2:2:Line2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3934 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
3935 call g:Xsetlist([], ' ', {'lines': lines})
13016
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3936 Xopen
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3937 let winid = win_getid()
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3938 wincmd p
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3939 close
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3940 call win_gotoid(winid)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3941 Xnext
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3942 call assert_equal(3, winnr('$'))
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3943 call assert_equal(1, winnr())
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3944 call assert_equal(2, line('.'))
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3945
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3946 " When jumping to an entry in the location list window and the window
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3947 " associated with the location list is not present and a window containing
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3948 " the file is already present, then that window should be used.
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3949 close
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3950 belowright new
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3951 call g:Xsetlist([], 'f')
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3952 edit F3
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3953 call win_gotoid(winid)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3954 Xlast
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3955 call assert_equal(3, winnr())
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3956 call assert_equal(6, g:Xgetlist({'size' : 1}).size)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3957 call assert_equal(winid, g:Xgetlist({'winid' : 1}).winid)
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3958 endif
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3959
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3960 " Cleanup
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3961 enew!
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3962 new | only
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3963 endfunc
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3964
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3965 func Test_qfjump()
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3966 call Xqfjump_tests('c')
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3967 call Xqfjump_tests('l')
e47e70300f30 patch 8.0.1384: not enough quickfix help; confusing winid
Christian Brabandt <cb@256bit.org>
parents: 12954
diff changeset
3968 endfunc
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3969
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3970 " Tests for the getqflist() and getloclist() functions when the list is not
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3971 " present or is empty
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3972 func Xgetlist_empty_tests(cchar)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3973 call s:setup_commands(a:cchar)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3974
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3975 " Empty quickfix stack
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3976 call g:Xsetlist([], 'f')
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3977 call assert_equal('', g:Xgetlist({'context' : 0}).context)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3978 call assert_equal(0, g:Xgetlist({'id' : 0}).id)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3979 call assert_equal(0, g:Xgetlist({'idx' : 0}).idx)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3980 call assert_equal([], g:Xgetlist({'items' : 0}).items)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3981 call assert_equal(0, g:Xgetlist({'nr' : 0}).nr)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3982 call assert_equal(0, g:Xgetlist({'size' : 0}).size)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3983 call assert_equal('', g:Xgetlist({'title' : 0}).title)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3984 call assert_equal(0, g:Xgetlist({'winid' : 0}).winid)
13062
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
3985 call assert_equal(0, g:Xgetlist({'changedtick' : 0}).changedtick)
14664
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
3986 if a:cchar == 'c'
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
3987 call assert_equal({'context' : '', 'id' : 0, 'idx' : 0,
16019
096b8ccd855e patch 8.1.1015: quickfix buffer shows up in list, can't get buffer number
Bram Moolenaar <Bram@vim.org>
parents: 15965
diff changeset
3988 \ 'items' : [], 'nr' : 0, 'size' : 0, 'qfbufnr' : 0,
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
3989 \ 'title' : '', 'winid' : 0, 'changedtick': 0,
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
3990 \ 'quickfixtextfunc' : ''}, g:Xgetlist({'all' : 0}))
14664
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
3991 else
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
3992 call assert_equal({'context' : '', 'id' : 0, 'idx' : 0,
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
3993 \ 'items' : [], 'nr' : 0, 'size' : 0, 'title' : '',
16019
096b8ccd855e patch 8.1.1015: quickfix buffer shows up in list, can't get buffer number
Bram Moolenaar <Bram@vim.org>
parents: 15965
diff changeset
3994 \ 'winid' : 0, 'changedtick': 0, 'filewinid' : 0,
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
3995 \ 'qfbufnr' : 0, 'quickfixtextfunc' : ''},
14664
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
3996 \ g:Xgetlist({'all' : 0}))
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
3997 endif
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
3998
13115
9812a9ca3ab2 patch 8.0.1432: after ":copen" can't get the window-ID of the quickfix window
Christian Brabandt <cb@256bit.org>
parents: 13105
diff changeset
3999 " Quickfix window with empty stack
9812a9ca3ab2 patch 8.0.1432: after ":copen" can't get the window-ID of the quickfix window
Christian Brabandt <cb@256bit.org>
parents: 13105
diff changeset
4000 silent! Xopen
9812a9ca3ab2 patch 8.0.1432: after ":copen" can't get the window-ID of the quickfix window
Christian Brabandt <cb@256bit.org>
parents: 13105
diff changeset
4001 let qfwinid = (a:cchar == 'c') ? win_getid() : 0
16019
096b8ccd855e patch 8.1.1015: quickfix buffer shows up in list, can't get buffer number
Bram Moolenaar <Bram@vim.org>
parents: 15965
diff changeset
4002 let qfbufnr = (a:cchar == 'c') ? bufnr('') : 0
13115
9812a9ca3ab2 patch 8.0.1432: after ":copen" can't get the window-ID of the quickfix window
Christian Brabandt <cb@256bit.org>
parents: 13105
diff changeset
4003 call assert_equal(qfwinid, g:Xgetlist({'winid' : 0}).winid)
9812a9ca3ab2 patch 8.0.1432: after ":copen" can't get the window-ID of the quickfix window
Christian Brabandt <cb@256bit.org>
parents: 13105
diff changeset
4004 Xclose
9812a9ca3ab2 patch 8.0.1432: after ":copen" can't get the window-ID of the quickfix window
Christian Brabandt <cb@256bit.org>
parents: 13105
diff changeset
4005
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4006 " Empty quickfix list
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4007 Xexpr ""
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4008 call assert_equal('', g:Xgetlist({'context' : 0}).context)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4009 call assert_notequal(0, g:Xgetlist({'id' : 0}).id)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4010 call assert_equal(0, g:Xgetlist({'idx' : 0}).idx)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4011 call assert_equal([], g:Xgetlist({'items' : 0}).items)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4012 call assert_notequal(0, g:Xgetlist({'nr' : 0}).nr)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4013 call assert_equal(0, g:Xgetlist({'size' : 0}).size)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4014 call assert_notequal('', g:Xgetlist({'title' : 0}).title)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4015 call assert_equal(0, g:Xgetlist({'winid' : 0}).winid)
13062
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4016 call assert_equal(1, g:Xgetlist({'changedtick' : 0}).changedtick)
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4017
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4018 let qfid = g:Xgetlist({'id' : 0}).id
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4019 call g:Xsetlist([], 'f')
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4020
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4021 " Non-existing quickfix identifier
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4022 call assert_equal('', g:Xgetlist({'id' : qfid, 'context' : 0}).context)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4023 call assert_equal(0, g:Xgetlist({'id' : qfid}).id)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4024 call assert_equal(0, g:Xgetlist({'id' : qfid, 'idx' : 0}).idx)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4025 call assert_equal([], g:Xgetlist({'id' : qfid, 'items' : 0}).items)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4026 call assert_equal(0, g:Xgetlist({'id' : qfid, 'nr' : 0}).nr)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4027 call assert_equal(0, g:Xgetlist({'id' : qfid, 'size' : 0}).size)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4028 call assert_equal('', g:Xgetlist({'id' : qfid, 'title' : 0}).title)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4029 call assert_equal(0, g:Xgetlist({'id' : qfid, 'winid' : 0}).winid)
13062
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4030 call assert_equal(0, g:Xgetlist({'id' : qfid, 'changedtick' : 0}).changedtick)
14664
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4031 if a:cchar == 'c'
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4032 call assert_equal({'context' : '', 'id' : 0, 'idx' : 0, 'items' : [],
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4033 \ 'nr' : 0, 'size' : 0, 'title' : '', 'winid' : 0,
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
4034 \ 'qfbufnr' : qfbufnr, 'quickfixtextfunc' : '',
14664
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4035 \ 'changedtick' : 0}, g:Xgetlist({'id' : qfid, 'all' : 0}))
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4036 else
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4037 call assert_equal({'context' : '', 'id' : 0, 'idx' : 0, 'items' : [],
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4038 \ 'nr' : 0, 'size' : 0, 'title' : '', 'winid' : 0,
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
4039 \ 'changedtick' : 0, 'filewinid' : 0, 'qfbufnr' : 0,
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
4040 \ 'quickfixtextfunc' : ''},
14664
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4041 \ g:Xgetlist({'id' : qfid, 'all' : 0}))
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4042 endif
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4043
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4044 " Non-existing quickfix list number
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4045 call assert_equal('', g:Xgetlist({'nr' : 5, 'context' : 0}).context)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4046 call assert_equal(0, g:Xgetlist({'nr' : 5}).nr)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4047 call assert_equal(0, g:Xgetlist({'nr' : 5, 'idx' : 0}).idx)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4048 call assert_equal([], g:Xgetlist({'nr' : 5, 'items' : 0}).items)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4049 call assert_equal(0, g:Xgetlist({'nr' : 5, 'id' : 0}).id)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4050 call assert_equal(0, g:Xgetlist({'nr' : 5, 'size' : 0}).size)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4051 call assert_equal('', g:Xgetlist({'nr' : 5, 'title' : 0}).title)
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4052 call assert_equal(0, g:Xgetlist({'nr' : 5, 'winid' : 0}).winid)
13062
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4053 call assert_equal(0, g:Xgetlist({'nr' : 5, 'changedtick' : 0}).changedtick)
14664
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4054 if a:cchar == 'c'
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4055 call assert_equal({'context' : '', 'id' : 0, 'idx' : 0, 'items' : [],
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4056 \ 'nr' : 0, 'size' : 0, 'title' : '', 'winid' : 0,
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
4057 \ 'changedtick' : 0, 'qfbufnr' : qfbufnr,
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
4058 \ 'quickfixtextfunc' : ''}, g:Xgetlist({'nr' : 5, 'all' : 0}))
14664
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4059 else
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4060 call assert_equal({'context' : '', 'id' : 0, 'idx' : 0, 'items' : [],
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4061 \ 'nr' : 0, 'size' : 0, 'title' : '', 'winid' : 0,
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
4062 \ 'changedtick' : 0, 'filewinid' : 0, 'qfbufnr' : 0,
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
4063 \ 'quickfixtextfunc' : ''}, g:Xgetlist({'nr' : 5, 'all' : 0}))
14664
8770189c3e22 patch 8.1.0345: cannot get the window id associated with the location list
Christian Brabandt <cb@256bit.org>
parents: 14648
diff changeset
4064 endif
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4065 endfunc
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4066
29968
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4067 func Test_empty_list_quickfixtextfunc()
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4068 " This was crashing. Can only reproduce by running it in a separate Vim
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4069 " instance.
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4070 let lines =<< trim END
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4071 func s:Func(o)
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4072 cgetexpr '0'
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4073 endfunc
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4074 cope
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4075 let &quickfixtextfunc = 's:Func'
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4076 cgetfile [ex
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4077 END
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
4078 call writefile(lines, 'Xquickfixtextfunc', 'D')
29968
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4079 call RunVim([], [], '-e -s -S Xquickfixtextfunc -c qa')
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4080 endfunc
b01273bbc75e patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Bram Moolenaar <Bram@vim.org>
parents: 29896
diff changeset
4081
13026
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4082 func Test_getqflist()
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4083 call Xgetlist_empty_tests('c')
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4084 call Xgetlist_empty_tests('l')
7c0e0e923537 patch 8.0.1389: getqflist() items are missing if not set
Christian Brabandt <cb@256bit.org>
parents: 13016
diff changeset
4085 endfunc
13062
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4086
13066
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
4087 func Test_getqflist_invalid_nr()
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
4088 " The following commands used to crash Vim
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
4089 cexpr ""
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
4090 call getqflist({'nr' : $XXX_DOES_NOT_EXIST_XXX})
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
4091
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
4092 " Cleanup
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
4093 call setqflist([], 'r')
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
4094 endfunc
617112037564 patch 8.0.1408: crash in setqflist()
Christian Brabandt <cb@256bit.org>
parents: 13062
diff changeset
4095
13062
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4096 " Tests for the quickfix/location list changedtick
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4097 func Xqftick_tests(cchar)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4098 call s:setup_commands(a:cchar)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4099
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4100 call g:Xsetlist([], 'f')
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4101
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4102 Xexpr "F1:10:Line10"
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4103 let qfid = g:Xgetlist({'id' : 0}).id
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4104 call assert_equal(1, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4105 Xaddexpr "F2:20:Line20\nF2:21:Line21"
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4106 call assert_equal(2, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4107 call g:Xsetlist([], 'a', {'lines' : ["F3:30:Line30", "F3:31:Line31"]})
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4108 call assert_equal(3, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4109 call g:Xsetlist([], 'r', {'lines' : ["F4:40:Line40"]})
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4110 call assert_equal(4, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4111 call g:Xsetlist([], 'a', {'title' : 'New Title'})
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4112 call assert_equal(5, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4113
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4114 enew!
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4115 call append(0, ["F5:50:L50", "F6:60:L60"])
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4116 Xaddbuffer
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4117 call assert_equal(6, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4118 enew!
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4119
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4120 call g:Xsetlist([], 'a', {'context' : {'bus' : 'pci'}})
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4121 call assert_equal(7, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4122 call g:Xsetlist([{'filename' : 'F7', 'lnum' : 10, 'text' : 'L7'},
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4123 \ {'filename' : 'F7', 'lnum' : 11, 'text' : 'L11'}], 'a')
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4124 call assert_equal(8, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4125 call g:Xsetlist([{'filename' : 'F7', 'lnum' : 10, 'text' : 'L7'},
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4126 \ {'filename' : 'F7', 'lnum' : 11, 'text' : 'L11'}], ' ')
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4127 call assert_equal(1, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4128 call g:Xsetlist([{'filename' : 'F7', 'lnum' : 10, 'text' : 'L7'},
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4129 \ {'filename' : 'F7', 'lnum' : 11, 'text' : 'L11'}], 'r')
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4130 call assert_equal(2, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4131
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
4132 call writefile(["F8:80:L80", "F8:81:L81"], "Xone", 'D')
13062
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4133 Xfile Xone
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4134 call assert_equal(1, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4135 Xaddfile Xone
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4136 call assert_equal(2, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4137
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4138 " Test case for updating a non-current quickfix list
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4139 call g:Xsetlist([], 'f')
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4140 Xexpr "F1:1:L1"
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4141 Xexpr "F2:2:L2"
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4142 call g:Xsetlist([], 'a', {'nr' : 1, "lines" : ["F10:10:L10"]})
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4143 call assert_equal(1, g:Xgetlist({'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4144 call assert_equal(2, g:Xgetlist({'nr' : 1, 'changedtick' : 0}).changedtick)
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4145 endfunc
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4146
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4147 func Test_qf_tick()
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4148 call Xqftick_tests('c')
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4149 call Xqftick_tests('l')
6479dadcf214 patch 8.0.1406: difficult to track changes to a quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13026
diff changeset
4150 endfunc
13074
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4151
14603
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4152 " Test helpgrep with lang specifier
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4153 func Xtest_helpgrep_with_lang_specifier(cchar)
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4154 call s:setup_commands(a:cchar)
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4155 Xhelpgrep Vim@en
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4156 call assert_equal('help', &filetype)
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4157 call assert_notequal(0, g:Xgetlist({'nr' : '$'}).nr)
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4158 new | only
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4159 endfunc
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4160
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4161 func Test_helpgrep_with_lang_specifier()
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4162 call Xtest_helpgrep_with_lang_specifier('c')
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4163 call Xtest_helpgrep_with_lang_specifier('l')
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4164 endfunc
d1b69129db99 patch 8.1.0315: helpgrep with language doesn't work properly
Christian Brabandt <cb@256bit.org>
parents: 14552
diff changeset
4165
13074
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4166 " The following test used to crash Vim.
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4167 " Open the location list window and close the regular window associated with
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4168 " the location list. When the garbage collection runs now, it incorrectly
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4169 " marks the location list context as not in use and frees the context.
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4170 func Test_ll_window_ctx()
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4171 call setloclist(0, [], 'f')
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4172 call setloclist(0, [], 'a', {'context' : []})
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4173 lopen | only
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4174 call test_garbagecollect_now()
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4175 echo getloclist(0, {'context' : 1}).context
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4176 enew | only
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4177 endfunc
66c014c71dad patch 8.0.1412: using free memory using setloclist()
Christian Brabandt <cb@256bit.org>
parents: 13066
diff changeset
4178
13078
a1f8939a4644 patch 8.0.1414: accessing freed memory in :lfile.
Christian Brabandt <cb@256bit.org>
parents: 13074
diff changeset
4179 " The following test used to crash vim
a1f8939a4644 patch 8.0.1414: accessing freed memory in :lfile.
Christian Brabandt <cb@256bit.org>
parents: 13074
diff changeset
4180 func Test_lfile_crash()
a1f8939a4644 patch 8.0.1414: accessing freed memory in :lfile.
Christian Brabandt <cb@256bit.org>
parents: 13074
diff changeset
4181 sp Xtest
a1f8939a4644 patch 8.0.1414: accessing freed memory in :lfile.
Christian Brabandt <cb@256bit.org>
parents: 13074
diff changeset
4182 au QuickFixCmdPre * bw
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
4183 call assert_fails('lfile', 'E40:')
13078
a1f8939a4644 patch 8.0.1414: accessing freed memory in :lfile.
Christian Brabandt <cb@256bit.org>
parents: 13074
diff changeset
4184 au! QuickFixCmdPre
a1f8939a4644 patch 8.0.1414: accessing freed memory in :lfile.
Christian Brabandt <cb@256bit.org>
parents: 13074
diff changeset
4185 endfunc
13090
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4186
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4187 " The following test used to crash vim
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4188 func Test_lbuffer_crash()
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4189 sv Xtest
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4190 augroup QF_Test
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4191 au!
23758
97296182d336 patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents: 23493
diff changeset
4192 au QuickFixCmdPre,QuickFixCmdPost,BufEnter,BufLeave * bw
13090
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4193 augroup END
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4194 lbuffer
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4195 augroup QF_Test
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4196 au!
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4197 augroup END
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4198 endfunc
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4199
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4200 " The following test used to crash vim
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4201 func Test_lexpr_crash()
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4202 augroup QF_Test
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4203 au!
23758
97296182d336 patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents: 23493
diff changeset
4204 au QuickFixCmdPre,QuickFixCmdPost,BufEnter,BufLeave * call setloclist(0, [], 'f')
13090
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4205 augroup END
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4206 lexpr ""
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4207 augroup QF_Test
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4208 au!
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4209 augroup END
14954
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4210
13090
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4211 enew | only
14954
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4212 augroup QF_Test
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4213 au!
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4214 au BufNew * call setloclist(0, [], 'f')
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4215 augroup END
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4216 lexpr 'x:1:x'
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4217 augroup QF_Test
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4218 au!
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4219 augroup END
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4220
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4221 enew | only
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4222 lexpr ''
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4223 lopen
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4224 augroup QF_Test
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4225 au!
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4226 au FileType * call setloclist(0, [], 'f')
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4227 augroup END
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4228 lexpr ''
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4229 augroup QF_Test
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4230 au!
69d2749a6a2f patch 8.1.0488: using freed memory in quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 14915
diff changeset
4231 augroup END
13090
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4232 endfunc
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4233
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4234 " The following test used to crash Vim
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4235 func Test_lvimgrep_crash()
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4236 sv Xtest
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4237 augroup QF_Test
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4238 au!
23758
97296182d336 patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents: 23493
diff changeset
4239 au QuickFixCmdPre,QuickFixCmdPost,BufEnter,BufLeave * call setloclist(0, [], 'f')
13090
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4240 augroup END
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4241 lvimgrep quickfix test_quickfix.vim
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4242 augroup QF_Test
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4243 au!
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4244 augroup END
14956
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4245
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4246 new | only
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4247 augroup QF_Test
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4248 au!
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4249 au BufEnter * call setloclist(0, [], 'r')
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4250 augroup END
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4251 call assert_fails('lvimgrep Test_lvimgrep_crash *', 'E926:')
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4252 augroup QF_Test
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4253 au!
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4254 augroup END
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4255
13090
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4256 enew | only
a0c6910e7fa4 patch 8.0.1420: accessing freed memory in vimgrep
Christian Brabandt <cb@256bit.org>
parents: 13078
diff changeset
4257 endfunc
13105
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4258
19649
d4baa35fea5d patch 8.2.0381: using freed memory with :lvimgrep and autocommand
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
4259 func Test_lvimgrep_crash2()
d4baa35fea5d patch 8.2.0381: using freed memory with :lvimgrep and autocommand
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
4260 au BufNewFile x sfind
21265
6a4806e326dd patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents: 21100
diff changeset
4261 call assert_fails('lvimgrep x x', 'E471:')
6a4806e326dd patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents: 21100
diff changeset
4262 call assert_fails('lvimgrep x x x', 'E471:')
19649
d4baa35fea5d patch 8.2.0381: using freed memory with :lvimgrep and autocommand
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
4263
d4baa35fea5d patch 8.2.0381: using freed memory with :lvimgrep and autocommand
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
4264 au! BufNewFile
d4baa35fea5d patch 8.2.0381: using freed memory with :lvimgrep and autocommand
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
4265 endfunc
d4baa35fea5d patch 8.2.0381: using freed memory with :lvimgrep and autocommand
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
4266
13105
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4267 " Test for the position of the quickfix and location list window
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4268 func Test_qfwin_pos()
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4269 " Open two windows
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4270 new | only
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4271 new
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4272 cexpr ['F1:10:L10']
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4273 copen
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4274 " Quickfix window should be the bottom most window
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4275 call assert_equal(3, winnr())
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4276 close
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4277 " Open at the very top
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4278 wincmd t
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4279 topleft copen
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4280 call assert_equal(1, winnr())
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4281 close
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4282 " open left of the current window
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4283 wincmd t
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4284 below new
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4285 leftabove copen
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4286 call assert_equal(2, winnr())
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4287 close
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4288 " open right of the current window
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4289 rightbelow copen
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4290 call assert_equal(3, winnr())
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4291 close
bfa7f5b23c53 patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Christian Brabandt <cb@256bit.org>
parents: 13090
diff changeset
4292 endfunc
13594
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4293
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4294 " Tests for quickfix/location lists changed by autocommands when
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4295 " :vimgrep/:lvimgrep commands are running.
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4296 func Test_vimgrep_autocmd()
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4297 call setqflist([], 'f')
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
4298 call writefile(['stars'], 'Xtest1.txt', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
4299 call writefile(['stars'], 'Xtest2.txt', 'D')
13594
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4300
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4301 " Test 1:
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4302 " When searching for a pattern using :vimgrep, if the quickfix list is
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4303 " changed by an autocmd, the results should be added to the correct quickfix
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4304 " list.
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4305 autocmd BufRead Xtest2.txt cexpr '' | cexpr ''
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4306 silent vimgrep stars Xtest*.txt
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4307 call assert_equal(1, getqflist({'nr' : 0}).nr)
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4308 call assert_equal(3, getqflist({'nr' : '$'}).nr)
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4309 call assert_equal('Xtest2.txt', bufname(getqflist()[1].bufnr))
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4310 au! BufRead Xtest2.txt
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4311
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4312 " Test 2:
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4313 " When searching for a pattern using :vimgrep, if the quickfix list is
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4314 " freed, then a error should be given.
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4315 silent! %bwipe!
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4316 call setqflist([], 'f')
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4317 autocmd BufRead Xtest2.txt for i in range(10) | cexpr '' | endfor
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4318 call assert_fails('vimgrep stars Xtest*.txt', 'E925:')
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4319 au! BufRead Xtest2.txt
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4320
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4321 " Test 3:
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4322 " When searching for a pattern using :lvimgrep, if the location list is
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4323 " freed, then the command should error out.
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4324 silent! %bwipe!
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4325 let g:save_winid = win_getid()
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4326 autocmd BufRead Xtest2.txt call setloclist(g:save_winid, [], 'f')
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4327 call assert_fails('lvimgrep stars Xtest*.txt', 'E926:')
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4328 au! BufRead Xtest2.txt
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4329
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4330 call setqflist([], 'f')
4d55eb79178b patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Christian Brabandt <cb@256bit.org>
parents: 13115
diff changeset
4331 endfunc
13756
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4332
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4333 " Test for an autocmd changing the current directory when running vimgrep
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4334 func Xvimgrep_autocmd_cd(cchar)
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4335 call s:setup_commands(a:cchar)
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4336
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4337 %bwipe
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4338 let save_cwd = getcwd()
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4339
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4340 augroup QF_Test
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4341 au!
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4342 autocmd BufRead * silent cd %:p:h
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4343 augroup END
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4344
29970
d891115c0aea patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents: 29968
diff changeset
4345 10Xvimgrep /vim/ Xgrepdir/**
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4346 let l = g:Xgetlist()
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4347 call assert_equal('f1.txt', bufname(l[0].bufnr))
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4348 call assert_equal('f2.txt', fnamemodify(bufname(l[2].bufnr), ':t'))
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4349
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4350 augroup QF_Test
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4351 au!
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4352 augroup END
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4353
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4354 exe 'cd ' . save_cwd
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4355 endfunc
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4356
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4357 func Test_vimgrep_autocmd_cd()
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
4358 call mkdir('Xgrepdir/a', 'pR')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
4359 call mkdir('Xgrepdir/b', 'pR')
29970
d891115c0aea patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents: 29968
diff changeset
4360 call writefile(['a_L1_vim', 'a_L2_vim'], 'Xgrepdir/a/f1.txt')
d891115c0aea patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents: 29968
diff changeset
4361 call writefile(['b_L1_vim', 'b_L2_vim'], 'Xgrepdir/b/f2.txt')
18656
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4362 call Xvimgrep_autocmd_cd('c')
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4363 call Xvimgrep_autocmd_cd('l')
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4364 %bwipe
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4365 endfunc
022deb0adec9 patch 8.1.2320: insufficient test coverage for quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18646
diff changeset
4366
13756
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4367 " The following test used to crash Vim
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4368 func Test_lhelpgrep_autocmd()
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4369 lhelpgrep quickfix
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4370 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4371 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4372 autocmd QuickFixCmdPost * call setloclist(0, [], 'f')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4373 augroup END
13756
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4374 lhelpgrep buffer
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4375 call assert_equal('help', &filetype)
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4376 call assert_equal(0, getloclist(0, {'nr' : '$'}).nr)
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4377 lhelpgrep tabpage
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4378 call assert_equal('help', &filetype)
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4379 call assert_equal(1, getloclist(0, {'nr' : '$'}).nr)
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4380 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4381 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4382 augroup END
14956
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4383
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4384 new | only
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4385 augroup QF_Test
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4386 au!
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4387 au BufEnter * call setqflist([], 'f')
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4388 augroup END
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4389 call assert_fails('helpgrep quickfix', 'E925:')
22788
c8a4ad051d23 patch 8.2.1942: insufficient test coverage for the Netbeans interface
Bram Moolenaar <Bram@vim.org>
parents: 22645
diff changeset
4390 " run the test with a help window already open
c8a4ad051d23 patch 8.2.1942: insufficient test coverage for the Netbeans interface
Bram Moolenaar <Bram@vim.org>
parents: 22645
diff changeset
4391 help
c8a4ad051d23 patch 8.2.1942: insufficient test coverage for the Netbeans interface
Bram Moolenaar <Bram@vim.org>
parents: 22645
diff changeset
4392 wincmd w
c8a4ad051d23 patch 8.2.1942: insufficient test coverage for the Netbeans interface
Bram Moolenaar <Bram@vim.org>
parents: 22645
diff changeset
4393 call assert_fails('helpgrep quickfix', 'E925:')
14956
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4394 augroup QF_Test
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4395 au!
14956
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4396 augroup END
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4397
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4398 new | only
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4399 augroup QF_Test
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4400 au!
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4401 au BufEnter * call setqflist([], 'r')
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4402 augroup END
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4403 call assert_fails('helpgrep quickfix', 'E925:')
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4404 augroup QF_Test
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4405 au!
14956
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4406 augroup END
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4407
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4408 new | only
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4409 augroup QF_Test
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4410 au!
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4411 au BufEnter * call setloclist(0, [], 'r')
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4412 augroup END
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4413 call assert_fails('lhelpgrep quickfix', 'E926:')
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4414 augroup QF_Test
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4415 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4416 augroup END
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4417
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4418 " Replace the contents of a help window location list when it is still in
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4419 " use.
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4420 new | only
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4421 lhelpgrep quickfix
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4422 wincmd w
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4423 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4424 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4425 autocmd WinEnter * call setloclist(0, [], 'r')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4426 augroup END
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4427 call assert_fails('lhelpgrep win_getid', 'E926:')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4428 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4429 au!
14956
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4430 augroup END
940def6df43f patch 8.1.0489: crash when autocmd clears vimpgrep location list
Bram Moolenaar <Bram@vim.org>
parents: 14954
diff changeset
4431
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4432 %bw!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4433 endfunc
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4434
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4435 " The following test used to crash Vim
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4436 func Test_lhelpgrep_autocmd_free_loclist()
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4437 %bw!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4438 lhelpgrep quickfix
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4439 wincmd w
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4440 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4441 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4442 autocmd WinEnter * call setloclist(0, [], 'f')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4443 augroup END
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4444 lhelpgrep win_getid
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4445 wincmd w
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4446 wincmd w
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4447 wincmd w
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4448 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4449 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4450 augroup END
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
4451 %bw!
13756
c38f29387245 patch 8.0.1750: crash when clearing loccation list in autocommand
Christian Brabandt <cb@256bit.org>
parents: 13612
diff changeset
4452 endfunc
13819
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4453
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4454 " Test for shortening/simplifying the file name when opening the
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4455 " quickfix window or when displaying the quickfix list
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4456 func Test_shorten_fname()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21741
diff changeset
4457 CheckUnix
13819
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4458 %bwipe
26211
485c7c4afeb7 patch 8.2.3637: typos in test files
Bram Moolenaar <Bram@vim.org>
parents: 26026
diff changeset
4459 " Create a quickfix list with an absolute path filename
13819
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4460 let fname = getcwd() . '/test_quickfix.vim'
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4461 call setqflist([], ' ', {'lines':[fname . ":20:Line20"], 'efm':'%f:%l:%m'})
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4462 call assert_equal(fname, bufname('test_quickfix.vim'))
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4463 " Opening the quickfix window should simplify the file path
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4464 cwindow
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4465 call assert_equal('test_quickfix.vim', bufname('test_quickfix.vim'))
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4466 cclose
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4467 %bwipe
26211
485c7c4afeb7 patch 8.2.3637: typos in test files
Bram Moolenaar <Bram@vim.org>
parents: 26026
diff changeset
4468 " Create a quickfix list with an absolute path filename
13819
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4469 call setqflist([], ' ', {'lines':[fname . ":20:Line20"], 'efm':'%f:%l:%m'})
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4470 call assert_equal(fname, bufname('test_quickfix.vim'))
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4471 " Displaying the quickfix list should simplify the file path
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4472 silent! clist
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4473 call assert_equal('test_quickfix.vim', bufname('test_quickfix.vim'))
22454
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4474 " Add a few entries for the same file with different paths and check whether
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4475 " the buffer name is shortened
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4476 %bwipe
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4477 call setqflist([], 'f')
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4478 call setqflist([{'filename' : 'test_quickfix.vim', 'lnum' : 10},
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4479 \ {'filename' : '../testdir/test_quickfix.vim', 'lnum' : 20},
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4480 \ {'filename' : fname, 'lnum' : 30}], ' ')
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4481 copen
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4482 call assert_equal(['test_quickfix.vim|10| ',
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4483 \ 'test_quickfix.vim|20| ',
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4484 \ 'test_quickfix.vim|30| '], getline(1, '$'))
849c6f766b19 patch 8.2.1775: MS-Windows: adding a long quickfix list is slow
Bram Moolenaar <Bram@vim.org>
parents: 22256
diff changeset
4485 cclose
13819
31bb8e1f7625 patch 8.0.1781: file names in quickfix window are not shortened
Christian Brabandt <cb@256bit.org>
parents: 13764
diff changeset
4486 endfunc
13921
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4487
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4488 " Quickfix title tests
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4489 " In the below tests, 'exe "cmd"' is used to invoke the quickfix commands.
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4490 " Otherwise due to indentation, the title is set with spaces at the beginning
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4491 " of the command.
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4492 func Test_qftitle()
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
4493 call writefile(["F1:1:Line1"], 'Xerr', 'D')
13921
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4494
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4495 " :cexpr
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4496 exe "cexpr readfile('Xerr')"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4497 call assert_equal(":cexpr readfile('Xerr')", getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4498
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4499 " :cgetexpr
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4500 exe "cgetexpr readfile('Xerr')"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4501 call assert_equal(":cgetexpr readfile('Xerr')",
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4502 \ getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4503
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4504 " :caddexpr
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4505 call setqflist([], 'f')
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4506 exe "caddexpr readfile('Xerr')"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4507 call assert_equal(":caddexpr readfile('Xerr')",
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4508 \ getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4509
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4510 " :cbuffer
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4511 new Xerr
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4512 exe "cbuffer"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4513 call assert_equal(':cbuffer (Xerr)', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4514
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4515 " :cgetbuffer
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4516 edit Xerr
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4517 exe "cgetbuffer"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4518 call assert_equal(':cgetbuffer (Xerr)', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4519
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4520 " :caddbuffer
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4521 call setqflist([], 'f')
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4522 edit Xerr
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4523 exe "caddbuffer"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4524 call assert_equal(':caddbuffer (Xerr)', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4525
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4526 " :cfile
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4527 exe "cfile Xerr"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4528 call assert_equal(':cfile Xerr', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4529
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4530 " :cgetfile
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4531 exe "cgetfile Xerr"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4532 call assert_equal(':cgetfile Xerr', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4533
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4534 " :caddfile
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4535 call setqflist([], 'f')
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4536 exe "caddfile Xerr"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4537 call assert_equal(':caddfile Xerr', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4538
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4539 " :grep
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4540 set grepprg=internal
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4541 exe "grep F1 Xerr"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4542 call assert_equal(':grep F1 Xerr', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4543
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4544 " :grepadd
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4545 call setqflist([], 'f')
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4546 exe "grepadd F1 Xerr"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4547 call assert_equal(':grepadd F1 Xerr', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4548 set grepprg&vim
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4549
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4550 " :vimgrep
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4551 exe "vimgrep F1 Xerr"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4552 call assert_equal(':vimgrep F1 Xerr', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4553
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4554 " :vimgrepadd
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4555 call setqflist([], 'f')
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4556 exe "vimgrepadd F1 Xerr"
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4557 call assert_equal(':vimgrepadd F1 Xerr', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4558
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4559 call setqflist(['F1:10:L10'], ' ')
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4560 call assert_equal(':setqflist()', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4561
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4562 call setqflist([], 'f')
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4563 call setqflist(['F1:10:L10'], 'a')
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4564 call assert_equal(':setqflist()', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4565
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4566 call setqflist([], 'f')
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4567 call setqflist(['F1:10:L10'], 'r')
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4568 call assert_equal(':setqflist()', getqflist({'title' : 1}).title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4569
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4570 close
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4571
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4572 call setqflist([], ' ', {'title' : 'Errors'})
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4573 copen
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4574 call assert_equal('Errors', w:quickfix_title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4575 call setqflist([], 'r', {'items' : [{'filename' : 'a.c', 'lnum' : 10}]})
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4576 call assert_equal('Errors', w:quickfix_title)
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4577 cclose
23203
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4578
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4579 " Switching to another quickfix list in one tab page should update the
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4580 " quickfix window title and statusline in all the other tab pages also
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4581 call setqflist([], 'f')
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4582 %bw!
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4583 cgetexpr ['file_one:1:1: error in the first quickfix list']
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4584 call setqflist([], 'a', {'title': 'first quickfix list'})
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4585 cgetexpr ['file_two:2:1: error in the second quickfix list']
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4586 call setqflist([], 'a', {'title': 'second quickfix list'})
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4587 copen
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4588 wincmd t
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4589 tabnew two
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4590 copen
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4591 wincmd t
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4592 colder
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4593 call assert_equal('first quickfix list', gettabwinvar(1, 2, 'quickfix_title'))
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4594 call assert_equal('first quickfix list', gettabwinvar(2, 2, 'quickfix_title'))
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4595 call assert_equal(1, tabpagewinnr(1))
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4596 call assert_equal(1, tabpagewinnr(2))
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4597 tabnew
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4598 call setqflist([], 'a', {'title': 'new quickfix title'})
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4599 call assert_equal('new quickfix title', gettabwinvar(1, 2, 'quickfix_title'))
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4600 call assert_equal('new quickfix title', gettabwinvar(2, 2, 'quickfix_title'))
db97415750ce patch 8.2.2147: quickfix window title not updated in all tab pages
Bram Moolenaar <Bram@vim.org>
parents: 23092
diff changeset
4601 %bw!
13921
3b6c29f8c1a2 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Christian Brabandt <cb@256bit.org>
parents: 13825
diff changeset
4602 endfunc
14085
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4603
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4604 func Test_lbuffer_with_bwipe()
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4605 new
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4606 new
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4607 augroup nasty
23758
97296182d336 patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents: 23493
diff changeset
4608 au QuickFixCmdPre,QuickFixCmdPost,BufEnter,BufLeave * bwipe
14085
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4609 augroup END
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4610 lbuffer
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4611 augroup nasty
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4612 au!
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4613 augroup END
59e76d550c10 patch 8.1.0060: crash when autocommands delete the current buffer
Christian Brabandt <cb@256bit.org>
parents: 13948
diff changeset
4614 endfunc
14111
678e326bf7eb patch 8.1.0073: crash when autocommands call setloclist()
Christian Brabandt <cb@256bit.org>
parents: 14085
diff changeset
4615
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4616 " Test for an autocmd freeing the quickfix/location list when cexpr/lexpr is
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4617 " running
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4618 func Xexpr_acmd_freelist(cchar)
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4619 call s:setup_commands(a:cchar)
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4620
23758
97296182d336 patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents: 23493
diff changeset
4621 " This was using freed memory (but with what events?)
14111
678e326bf7eb patch 8.1.0073: crash when autocommands call setloclist()
Christian Brabandt <cb@256bit.org>
parents: 14085
diff changeset
4622 augroup nasty
23758
97296182d336 patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents: 23493
diff changeset
4623 au QuickFixCmdPre,QuickFixCmdPost,BufEnter,BufLeave * call g:Xsetlist([], 'f')
14111
678e326bf7eb patch 8.1.0073: crash when autocommands call setloclist()
Christian Brabandt <cb@256bit.org>
parents: 14085
diff changeset
4624 augroup END
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4625 Xexpr "x"
14111
678e326bf7eb patch 8.1.0073: crash when autocommands call setloclist()
Christian Brabandt <cb@256bit.org>
parents: 14085
diff changeset
4626 augroup nasty
678e326bf7eb patch 8.1.0073: crash when autocommands call setloclist()
Christian Brabandt <cb@256bit.org>
parents: 14085
diff changeset
4627 au!
678e326bf7eb patch 8.1.0073: crash when autocommands call setloclist()
Christian Brabandt <cb@256bit.org>
parents: 14085
diff changeset
4628 augroup END
678e326bf7eb patch 8.1.0073: crash when autocommands call setloclist()
Christian Brabandt <cb@256bit.org>
parents: 14085
diff changeset
4629 endfunc
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4630
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4631 func Test_cexpr_acmd_freelist()
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4632 call Xexpr_acmd_freelist('c')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4633 call Xexpr_acmd_freelist('l')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4634 endfunc
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4635
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4636 " Test for commands that create a new quickfix/location list and jump to the
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4637 " first error automatically.
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4638 func Xjumpto_first_error_test(cchar)
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4639 call s:setup_commands(a:cchar)
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4640
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4641 call s:create_test_file('Xtestfile1')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4642 call s:create_test_file('Xtestfile2')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4643 let l = ['Xtestfile1:2:Line2', 'Xtestfile2:4:Line4']
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4644
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4645 " Test for cexpr/lexpr
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4646 enew
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4647 Xexpr l
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
4648 call assert_equal('Xtestfile1', @%)
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4649 call assert_equal(2, line('.'))
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4650
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4651 " Test for cfile/lfile
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4652 enew
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
4653 call writefile(l, 'Xerr', 'D')
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4654 Xfile Xerr
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
4655 call assert_equal('Xtestfile1', @%)
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4656 call assert_equal(2, line('.'))
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4657
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4658 " Test for cbuffer/lbuffer
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4659 edit Xerr
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4660 Xbuffer
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
4661 call assert_equal('Xtestfile1', @%)
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4662 call assert_equal(2, line('.'))
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4663
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4664 call delete('Xtestfile1')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4665 call delete('Xtestfile2')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4666 endfunc
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4667
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4668 func Test_jumpto_first_error()
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4669 call Xjumpto_first_error_test('c')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4670 call Xjumpto_first_error_test('l')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4671 endfunc
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4672
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4673 " Test for a quickfix autocmd changing the quickfix/location list before
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4674 " jumping to the first error in the new list.
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4675 func Xautocmd_changelist(cchar)
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4676 call s:setup_commands(a:cchar)
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4677
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4678 " Test for cfile/lfile
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4679 call s:create_test_file('Xtestfile1')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4680 call s:create_test_file('Xtestfile2')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4681 Xexpr 'Xtestfile1:2:Line2'
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4682 autocmd QuickFixCmdPost * Xolder
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
4683 call writefile(['Xtestfile2:4:Line4'], 'Xerr', 'D')
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4684 Xfile Xerr
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
4685 call assert_equal('Xtestfile2', @%)
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4686 call assert_equal(4, line('.'))
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4687 autocmd! QuickFixCmdPost
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4688
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4689 " Test for cbuffer/lbuffer
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4690 call g:Xsetlist([], 'f')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4691 Xexpr 'Xtestfile1:2:Line2'
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4692 autocmd QuickFixCmdPost * Xolder
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4693 call writefile(['Xtestfile2:4:Line4'], 'Xerr')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4694 edit Xerr
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4695 Xbuffer
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
4696 call assert_equal('Xtestfile2', @%)
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4697 call assert_equal(4, line('.'))
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4698 autocmd! QuickFixCmdPost
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4699
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4700 " Test for cexpr/lexpr
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4701 call g:Xsetlist([], 'f')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4702 Xexpr 'Xtestfile1:2:Line2'
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4703 autocmd QuickFixCmdPost * Xolder
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4704 Xexpr 'Xtestfile2:4:Line4'
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
4705 call assert_equal('Xtestfile2', @%)
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4706 call assert_equal(4, line('.'))
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4707 autocmd! QuickFixCmdPost
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4708
14258
71bb93bf9a44 patch 8.1.0145: test with grep is failing on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14250
diff changeset
4709 " The grepprg may not be set on non-Unix systems
71bb93bf9a44 patch 8.1.0145: test with grep is failing on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14250
diff changeset
4710 if has('unix')
71bb93bf9a44 patch 8.1.0145: test with grep is failing on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14250
diff changeset
4711 " Test for grep/lgrep
71bb93bf9a44 patch 8.1.0145: test with grep is failing on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14250
diff changeset
4712 call g:Xsetlist([], 'f')
71bb93bf9a44 patch 8.1.0145: test with grep is failing on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14250
diff changeset
4713 Xexpr 'Xtestfile1:2:Line2'
71bb93bf9a44 patch 8.1.0145: test with grep is failing on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14250
diff changeset
4714 autocmd QuickFixCmdPost * Xolder
71bb93bf9a44 patch 8.1.0145: test with grep is failing on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14250
diff changeset
4715 silent Xgrep Line5 Xtestfile2
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
4716 call assert_equal('Xtestfile2', @%)
14258
71bb93bf9a44 patch 8.1.0145: test with grep is failing on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14250
diff changeset
4717 call assert_equal(5, line('.'))
71bb93bf9a44 patch 8.1.0145: test with grep is failing on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14250
diff changeset
4718 autocmd! QuickFixCmdPost
71bb93bf9a44 patch 8.1.0145: test with grep is failing on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14250
diff changeset
4719 endif
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4720
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4721 " Test for vimgrep/lvimgrep
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4722 call g:Xsetlist([], 'f')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4723 Xexpr 'Xtestfile1:2:Line2'
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4724 autocmd QuickFixCmdPost * Xolder
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4725 silent Xvimgrep Line5 Xtestfile2
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
4726 call assert_equal('Xtestfile2', @%)
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4727 call assert_equal(5, line('.'))
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4728 autocmd! QuickFixCmdPost
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4729
14491
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4730 " Test for autocommands clearing the quickfix list before jumping to the
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4731 " first error. This should not result in an error
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4732 autocmd QuickFixCmdPost * call g:Xsetlist([], 'r')
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4733 let v:errmsg = ''
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4734 " Test for cfile/lfile
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4735 Xfile Xerr
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4736 call assert_true(v:errmsg !~# 'E42:')
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4737 " Test for cbuffer/lbuffer
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4738 edit Xerr
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4739 Xbuffer
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4740 call assert_true(v:errmsg !~# 'E42:')
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4741 " Test for cexpr/lexpr
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4742 Xexpr 'Xtestfile2:4:Line4'
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4743 call assert_true(v:errmsg !~# 'E42:')
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4744 " Test for grep/lgrep
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4745 " The grepprg may not be set on non-Unix systems
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4746 if has('unix')
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4747 silent Xgrep Line5 Xtestfile2
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4748 call assert_true(v:errmsg !~# 'E42:')
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4749 endif
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4750 " Test for vimgrep/lvimgrep
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4751 call assert_fails('silent Xvimgrep Line5 Xtestfile2', 'E480:')
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4752 autocmd! QuickFixCmdPost
9df0fcbfebb2 patch 8.1.0259: no test for fixed quickfix issue
Christian Brabandt <cb@256bit.org>
parents: 14397
diff changeset
4753
14250
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4754 call delete('Xtestfile1')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4755 call delete('Xtestfile2')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4756 endfunc
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4757
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4758 func Test_autocmd_changelist()
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4759 call Xautocmd_changelist('c')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4760 call Xautocmd_changelist('l')
ca6ccee4823f patch 8.1.0141: :cexpr no longer jumps to the first error
Christian Brabandt <cb@256bit.org>
parents: 14111
diff changeset
4761 endfunc
14299
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4762
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4763 " Tests for the ':filter /pat/ clist' command
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4764 func Test_filter_clist()
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4765 cexpr ['Xfile1:10:10:Line 10', 'Xfile2:15:15:Line 15']
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4766 call assert_equal([' 2 Xfile2:15 col 15: Line 15'],
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4767 \ split(execute('filter /Line 15/ clist'), "\n"))
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4768 call assert_equal([' 1 Xfile1:10 col 10: Line 10'],
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4769 \ split(execute('filter /Xfile1/ clist'), "\n"))
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4770 call assert_equal([], split(execute('filter /abc/ clist'), "\n"))
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4771
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4772 call setqflist([{'module' : 'abc', 'pattern' : 'pat1'},
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4773 \ {'module' : 'pqr', 'pattern' : 'pat2'}], ' ')
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4774 call assert_equal([' 2 pqr:pat2: '],
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4775 \ split(execute('filter /pqr/ clist'), "\n"))
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4776 call assert_equal([' 1 abc:pat1: '],
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4777 \ split(execute('filter /pat1/ clist'), "\n"))
932dde1d8a71 patch 8.1.0165: :clist output can be very long
Christian Brabandt <cb@256bit.org>
parents: 14258
diff changeset
4778 endfunc
14397
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4779
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4780 " Tests for the "CTRL-W <CR>" command.
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4781 func Xview_result_split_tests(cchar)
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4782 call s:setup_commands(a:cchar)
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4783
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4784 " Test that "CTRL-W <CR>" in a qf/ll window fails with empty list.
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4785 call g:Xsetlist([])
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4786 Xopen
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4787 let l:win_count = winnr('$')
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22083
diff changeset
4788 call assert_fails('execute "normal! \<C-W>\<CR>"', 'E42:')
14397
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4789 call assert_equal(l:win_count, winnr('$'))
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4790 Xclose
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4791 endfunc
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4792
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4793 func Test_view_result_split()
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4794 call Xview_result_split_tests('c')
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4795 call Xview_result_split_tests('l')
19d99d9e670c patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Christian Brabandt <cb@256bit.org>
parents: 14299
diff changeset
4796 endfunc
14552
b298737a7188 patch 8.1.0289: cursor moves to wrong column after quickfix jump
Christian Brabandt <cb@256bit.org>
parents: 14491
diff changeset
4797
b298737a7188 patch 8.1.0289: cursor moves to wrong column after quickfix jump
Christian Brabandt <cb@256bit.org>
parents: 14491
diff changeset
4798 " Test that :cc sets curswant
b298737a7188 patch 8.1.0289: cursor moves to wrong column after quickfix jump
Christian Brabandt <cb@256bit.org>
parents: 14491
diff changeset
4799 func Test_curswant()
b298737a7188 patch 8.1.0289: cursor moves to wrong column after quickfix jump
Christian Brabandt <cb@256bit.org>
parents: 14491
diff changeset
4800 helpgrep quickfix
b298737a7188 patch 8.1.0289: cursor moves to wrong column after quickfix jump
Christian Brabandt <cb@256bit.org>
parents: 14491
diff changeset
4801 normal! llll
b298737a7188 patch 8.1.0289: cursor moves to wrong column after quickfix jump
Christian Brabandt <cb@256bit.org>
parents: 14491
diff changeset
4802 1cc
b298737a7188 patch 8.1.0289: cursor moves to wrong column after quickfix jump
Christian Brabandt <cb@256bit.org>
parents: 14491
diff changeset
4803 call assert_equal(getcurpos()[4], virtcol('.'))
b298737a7188 patch 8.1.0289: cursor moves to wrong column after quickfix jump
Christian Brabandt <cb@256bit.org>
parents: 14491
diff changeset
4804 cclose | helpclose
b298737a7188 patch 8.1.0289: cursor moves to wrong column after quickfix jump
Christian Brabandt <cb@256bit.org>
parents: 14491
diff changeset
4805 endfunc
15024
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4806
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4807 " Test for opening a file from the quickfix window using CTRL-W <Enter>
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4808 " doesn't leave an empty buffer around.
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4809 func Test_splitview()
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4810 call s:create_test_file('Xtestfile1')
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4811 call s:create_test_file('Xtestfile2')
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4812 new | only
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4813 let last_bufnr = bufnr('Test_sv_1', 1)
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4814 let l = ['Xtestfile1:2:Line2', 'Xtestfile2:4:Line4']
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4815 cgetexpr l
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4816 copen
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4817 let numbufs = len(getbufinfo())
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4818 exe "normal \<C-W>\<CR>"
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4819 copen
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4820 exe "normal j\<C-W>\<CR>"
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4821 " Make sure new empty buffers are not created
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4822 call assert_equal(numbufs, len(getbufinfo()))
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4823 " Creating a new buffer should use the next available buffer number
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4824 call assert_equal(last_bufnr + 4, bufnr("Test_sv_2", 1))
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4825 bwipe Test_sv_1
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4826 bwipe Test_sv_2
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4827 new | only
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4828
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4829 " When split opening files from location list window, make sure that two
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4830 " windows doesn't refer to the same location list
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4831 lgetexpr l
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4832 let locid = getloclist(0, {'id' : 0}).id
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4833 lopen
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4834 exe "normal \<C-W>\<CR>"
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4835 call assert_notequal(locid, getloclist(0, {'id' : 0}).id)
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4836 call assert_equal(0, getloclist(0, {'winid' : 0}).winid)
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4837 new | only
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4838
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4839 " When split opening files from a helpgrep location list window, a new help
15770
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4840 " window should be opened with a copy of the location list.
15024
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4841 lhelpgrep window
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4842 let locid = getloclist(0, {'id' : 0}).id
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4843 lwindow
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4844 exe "normal j\<C-W>\<CR>"
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4845 call assert_notequal(locid, getloclist(0, {'id' : 0}).id)
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4846 call assert_equal(0, getloclist(0, {'winid' : 0}).winid)
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4847 new | only
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4848
19435
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4849 " Using :split or :vsplit from a quickfix window should behave like a :new
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4850 " or a :vnew command
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4851 copen
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4852 split
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4853 call assert_equal(3, winnr('$'))
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4854 let l = getwininfo()
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4855 call assert_equal([0, 0, 1], [l[0].quickfix, l[1].quickfix, l[2].quickfix])
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4856 close
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4857 copen
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4858 vsplit
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4859 let l = getwininfo()
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4860 call assert_equal([0, 0, 1], [l[0].quickfix, l[1].quickfix, l[2].quickfix])
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4861 new | only
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19407
diff changeset
4862
15024
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4863 call delete('Xtestfile1')
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4864 call delete('Xtestfile2')
3a3c9b638187 patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Bram Moolenaar <Bram@vim.org>
parents: 14976
diff changeset
4865 endfunc
15703
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4866
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4867 " Test for parsing entries using visual screen column
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4868 func Test_viscol()
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4869 enew
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
4870 call writefile(["Col1\tCol2\tCol3"], 'Xfile1', 'D')
15703
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4871 edit Xfile1
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4872
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4873 " Use byte offset for column number
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4874 set efm&
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4875 cexpr "Xfile1:1:5:XX\nXfile1:1:9:YY\nXfile1:1:20:ZZ"
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4876 call assert_equal([5, 8], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4877 cnext
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4878 call assert_equal([9, 12], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4879 cnext
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4880 call assert_equal([14, 20], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4881
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4882 " Use screen column offset for column number
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4883 set efm=%f:%l:%v:%m
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4884 cexpr "Xfile1:1:8:XX\nXfile1:1:12:YY\nXfile1:1:20:ZZ"
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4885 call assert_equal([5, 8], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4886 cnext
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4887 call assert_equal([9, 12], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4888 cnext
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4889 call assert_equal([14, 20], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4890 cexpr "Xfile1:1:6:XX\nXfile1:1:15:YY\nXfile1:1:24:ZZ"
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4891 call assert_equal([5, 8], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4892 cnext
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4893 call assert_equal([10, 16], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4894 cnext
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4895 call assert_equal([14, 20], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4896
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4897 enew
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4898 call writefile(["Col1\täü\töß\tCol4"], 'Xfile1')
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4899
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4900 " Use byte offset for column number
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4901 set efm&
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4902 cexpr "Xfile1:1:8:XX\nXfile1:1:11:YY\nXfile1:1:16:ZZ"
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4903 call assert_equal([8, 10], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4904 cnext
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4905 call assert_equal([11, 17], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4906 cnext
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4907 call assert_equal([16, 25], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4908
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4909 " Use screen column offset for column number
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4910 set efm=%f:%l:%v:%m
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4911 cexpr "Xfile1:1:10:XX\nXfile1:1:17:YY\nXfile1:1:25:ZZ"
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4912 call assert_equal([8, 10], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4913 cnext
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4914 call assert_equal([11, 17], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4915 cnext
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4916 call assert_equal([16, 25], [col('.'), virtcol('.')])
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4917
22645
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4918 " Use screen column number with a multi-line error message
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4919 enew
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4920 call writefile(["à test"], 'Xfile1')
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4921 set efm=%E===\ %f\ ===,%C%l:%v,%Z%m
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4922 cexpr ["=== Xfile1 ===", "1:3", "errormsg"]
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4923 call assert_equal('Xfile1', @%)
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4924 call assert_equal([0, 1, 4, 0], getpos('.'))
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4925
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4926 " Repeat previous test with byte offset %c: ensure that fix to issue #7145
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4927 " does not break this
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4928 set efm=%E===\ %f\ ===,%C%l:%c,%Z%m
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4929 cexpr ["=== Xfile1 ===", "1:3", "errormsg"]
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4930 call assert_equal('Xfile1', @%)
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4931 call assert_equal([0, 1, 3, 0], getpos('.'))
13904ca59f96 patch 8.2.1871: using %v in 'errorformat' may fail before %Z
Bram Moolenaar <Bram@vim.org>
parents: 22454
diff changeset
4932
15703
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4933 enew | only
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4934 set efm&
b8a2362073bb patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Bram Moolenaar <Bram@vim.org>
parents: 15424
diff changeset
4935 endfunc
15740
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4936
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4937 " Test for the quickfix window buffer
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4938 func Xqfbuf_test(cchar)
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4939 call s:setup_commands(a:cchar)
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4940
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4941 " Quickfix buffer should be reused across closing and opening a quickfix
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4942 " window
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4943 Xexpr "F1:10:Line10"
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4944 Xopen
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4945 let qfbnum = bufnr('')
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4946 Xclose
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4947 " Even after the quickfix window is closed, the buffer should be loaded
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4948 call assert_true(bufloaded(qfbnum))
16019
096b8ccd855e patch 8.1.1015: quickfix buffer shows up in list, can't get buffer number
Bram Moolenaar <Bram@vim.org>
parents: 15965
diff changeset
4949 call assert_true(qfbnum, g:Xgetlist({'qfbufnr' : 0}).qfbufnr)
15740
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4950 Xopen
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4951 " Buffer should be reused when opening the window again
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4952 call assert_equal(qfbnum, bufnr(''))
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4953 Xclose
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4954
26464
c0cb28384dc2 patch 8.2.3762: if quickfix buffer is wiped out getqflist() still returns it
Bram Moolenaar <Bram@vim.org>
parents: 26458
diff changeset
4955 " When quickfix buffer is wiped out, getqflist() should return 0
c0cb28384dc2 patch 8.2.3762: if quickfix buffer is wiped out getqflist() still returns it
Bram Moolenaar <Bram@vim.org>
parents: 26458
diff changeset
4956 %bw!
c0cb28384dc2 patch 8.2.3762: if quickfix buffer is wiped out getqflist() still returns it
Bram Moolenaar <Bram@vim.org>
parents: 26458
diff changeset
4957 Xexpr ""
c0cb28384dc2 patch 8.2.3762: if quickfix buffer is wiped out getqflist() still returns it
Bram Moolenaar <Bram@vim.org>
parents: 26458
diff changeset
4958 Xopen
c0cb28384dc2 patch 8.2.3762: if quickfix buffer is wiped out getqflist() still returns it
Bram Moolenaar <Bram@vim.org>
parents: 26458
diff changeset
4959 bw!
c0cb28384dc2 patch 8.2.3762: if quickfix buffer is wiped out getqflist() still returns it
Bram Moolenaar <Bram@vim.org>
parents: 26458
diff changeset
4960 call assert_equal(0, g:Xgetlist({'qfbufnr': 0}).qfbufnr)
c0cb28384dc2 patch 8.2.3762: if quickfix buffer is wiped out getqflist() still returns it
Bram Moolenaar <Bram@vim.org>
parents: 26458
diff changeset
4961
15740
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4962 if a:cchar == 'l'
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4963 %bwipe
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4964 " For a location list, when both the file window and the location list
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4965 " window for the list are closed, then the buffer should be freed.
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4966 new | only
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4967 lexpr "F1:10:Line10"
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4968 let wid = win_getid()
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4969 lopen
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4970 let qfbnum = bufnr('')
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4971 call assert_match(qfbnum . ' %a- "\[Location List]"', execute('ls'))
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4972 close
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4973 " When the location list window is closed, the buffer name should not
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4974 " change to 'Quickfix List'
16019
096b8ccd855e patch 8.1.1015: quickfix buffer shows up in list, can't get buffer number
Bram Moolenaar <Bram@vim.org>
parents: 15965
diff changeset
4975 call assert_match(qfbnum . 'u h- "\[Location List]"', execute('ls!'))
15740
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4976 call assert_true(bufloaded(qfbnum))
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
4977
15965
f376cd250b07 patch 8.1.0988: deleting location list buffer breaks location list window
Bram Moolenaar <Bram@vim.org>
parents: 15770
diff changeset
4978 " After deleting a location list buffer using ":bdelete", opening the
f376cd250b07 patch 8.1.0988: deleting location list buffer breaks location list window
Bram Moolenaar <Bram@vim.org>
parents: 15770
diff changeset
4979 " location list window should mark the buffer as a location list buffer.
f376cd250b07 patch 8.1.0988: deleting location list buffer breaks location list window
Bram Moolenaar <Bram@vim.org>
parents: 15770
diff changeset
4980 exe "bdelete " . qfbnum
f376cd250b07 patch 8.1.0988: deleting location list buffer breaks location list window
Bram Moolenaar <Bram@vim.org>
parents: 15770
diff changeset
4981 lopen
f376cd250b07 patch 8.1.0988: deleting location list buffer breaks location list window
Bram Moolenaar <Bram@vim.org>
parents: 15770
diff changeset
4982 call assert_equal("quickfix", &buftype)
f376cd250b07 patch 8.1.0988: deleting location list buffer breaks location list window
Bram Moolenaar <Bram@vim.org>
parents: 15770
diff changeset
4983 call assert_equal(1, getwininfo(win_getid(winnr()))[0].loclist)
f376cd250b07 patch 8.1.0988: deleting location list buffer breaks location list window
Bram Moolenaar <Bram@vim.org>
parents: 15770
diff changeset
4984 call assert_equal(wid, getloclist(0, {'filewinid' : 0}).filewinid)
f376cd250b07 patch 8.1.0988: deleting location list buffer breaks location list window
Bram Moolenaar <Bram@vim.org>
parents: 15770
diff changeset
4985 call assert_false(&swapfile)
f376cd250b07 patch 8.1.0988: deleting location list buffer breaks location list window
Bram Moolenaar <Bram@vim.org>
parents: 15770
diff changeset
4986 lclose
f376cd250b07 patch 8.1.0988: deleting location list buffer breaks location list window
Bram Moolenaar <Bram@vim.org>
parents: 15770
diff changeset
4987
15770
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4988 " When the location list is cleared for the window, the buffer should be
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4989 " removed
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4990 call setloclist(0, [], 'f')
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4991 call assert_false(bufexists(qfbnum))
16019
096b8ccd855e patch 8.1.1015: quickfix buffer shows up in list, can't get buffer number
Bram Moolenaar <Bram@vim.org>
parents: 15965
diff changeset
4992 call assert_equal(0, getloclist(0, {'qfbufnr' : 0}).qfbufnr)
15770
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4993
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4994 " When the location list is freed with the location list window open, the
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4995 " location list buffer should not be lost. It should be reused when the
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4996 " location list is again populated.
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4997 lexpr "F1:10:Line10"
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4998 lopen
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
4999 let wid = win_getid()
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5000 let qfbnum = bufnr('')
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5001 wincmd p
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5002 call setloclist(0, [], 'f')
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5003 lexpr "F1:10:Line10"
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5004 lopen
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5005 call assert_equal(wid, win_getid())
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5006 call assert_equal(qfbnum, bufnr(''))
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5007 lclose
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5008
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5009 " When the window with the location list is closed, the buffer should be
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5010 " removed
15740
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
5011 new | only
15770
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5012 call assert_false(bufexists(qfbnum))
15740
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
5013 endif
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
5014 endfunc
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
5015
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
5016 func Test_qfbuf()
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
5017 call Xqfbuf_test('c')
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
5018 call Xqfbuf_test('l')
2fe4a503c5ad patch 8.1.0877: new buffer used every time the quickfix window is opened
Bram Moolenaar <Bram@vim.org>
parents: 15703
diff changeset
5019 endfunc
15770
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5020
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5021 " If there is an autocmd to use only one window, then opening the location
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5022 " list window used to crash Vim.
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5023 func Test_winonly_autocmd()
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5024 call s:create_test_file('Xtest1')
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5025 " Autocmd to show only one Vim window at a time
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5026 autocmd WinEnter * only
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5027 new
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5028 " Load the location list
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5029 lexpr "Xtest1:5:Line5\nXtest1:10:Line10\nXtest1:15:Line15"
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5030 let loclistid = getloclist(0, {'id' : 0}).id
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5031 " Open the location list window. Only this window will be shown and the file
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5032 " window is closed.
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5033 lopen
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5034 call assert_equal(loclistid, getloclist(0, {'id' : 0}).id)
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5035 " Jump to an entry in the location list and make sure that the cursor is
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5036 " positioned correctly.
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5037 ll 3
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5038 call assert_equal(loclistid, getloclist(0, {'id' : 0}).id)
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5039 call assert_equal('Xtest1', @%)
15770
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5040 call assert_equal(15, line('.'))
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5041 " Cleanup
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5042 autocmd! WinEnter
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5043 new | only
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5044 call delete('Xtest1')
77e97f159554 patch 8.1.0892: failure when closing a window when location list is in use
Bram Moolenaar <Bram@vim.org>
parents: 15740
diff changeset
5045 endfunc
16259
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5046
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5047 " Test to make sure that an empty quickfix buffer is not reused for loading
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5048 " a normal buffer.
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5049 func Test_empty_qfbuf()
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5050 enew | only
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
5051 call writefile(["Test"], 'Xfile1', 'D')
16259
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5052 call setqflist([], 'f')
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5053 copen | only
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5054 let qfbuf = bufnr('')
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5055 edit Xfile1
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5056 call assert_notequal(qfbuf, bufnr(''))
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5057 enew
1f18984498e1 patch 8.1.1134: buffer for quickfix window is reused for another file
Bram Moolenaar <Bram@vim.org>
parents: 16215
diff changeset
5058 endfunc
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5059
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5060 " Test for the :cbelow, :cabove, :lbelow and :labove commands.
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5061 " And for the :cafter, :cbefore, :lafter and :lbefore commands.
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5062 func Xtest_below(cchar)
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5063 call s:setup_commands(a:cchar)
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5064
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5065 " No quickfix/location list
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5066 call assert_fails('Xbelow', 'E42:')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5067 call assert_fails('Xabove', 'E42:')
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5068 call assert_fails('Xbefore', 'E42:')
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5069 call assert_fails('Xafter', 'E42:')
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5070
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5071 " Empty quickfix/location list
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5072 call g:Xsetlist([])
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5073 call assert_fails('Xbelow', 'E42:')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5074 call assert_fails('Xabove', 'E42:')
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5075 call assert_fails('Xbefore', 'E42:')
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5076 call assert_fails('Xafter', 'E42:')
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5077
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5078 call s:create_test_file('X1')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5079 call s:create_test_file('X2')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5080 call s:create_test_file('X3')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5081 call s:create_test_file('X4')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5082
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5083 " Invalid entries
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5084 edit X1
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5085 call g:Xsetlist(["E1", "E2"])
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5086 call assert_fails('Xbelow', 'E42:')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5087 call assert_fails('Xabove', 'E42:')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5088 call assert_fails('3Xbelow', 'E42:')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5089 call assert_fails('4Xabove', 'E42:')
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5090 call assert_fails('Xbefore', 'E42:')
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5091 call assert_fails('Xafter', 'E42:')
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5092 call assert_fails('3Xbefore', 'E42:')
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5093 call assert_fails('4Xafter', 'E42:')
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5094
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5095 " Test the commands with various arguments
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5096 Xexpr ["X1:5:3:L5", "X2:5:2:L5", "X2:10:3:L10", "X2:15:4:L15", "X3:3:5:L3"]
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5097 edit +7 X2
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5098 Xabove
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5099 call assert_equal(['X2', 5], [@%, line('.')])
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5100 call assert_fails('Xabove', 'E553:')
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5101 normal 7G
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5102 Xbefore
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5103 call assert_equal(['X2', 5, 2], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5104 call assert_fails('Xbefore', 'E553:')
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5105
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5106 normal 2j
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5107 Xbelow
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5108 call assert_equal(['X2', 10], [@%, line('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5109 normal 7G
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5110 Xafter
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5111 call assert_equal(['X2', 10, 3], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5112
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5113 " Last error in this file
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5114 Xbelow 99
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5115 call assert_equal(['X2', 15], [@%, line('.')])
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5116 call assert_fails('Xbelow', 'E553:')
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5117 normal gg
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5118 Xafter 99
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5119 call assert_equal(['X2', 15, 4], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5120 call assert_fails('Xafter', 'E553:')
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5121
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5122 " First error in this file
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5123 Xabove 99
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5124 call assert_equal(['X2', 5], [@%, line('.')])
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5125 call assert_fails('Xabove', 'E553:')
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5126 normal G
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5127 Xbefore 99
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5128 call assert_equal(['X2', 5, 2], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5129 call assert_fails('Xbefore', 'E553:')
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5130
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5131 normal gg
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5132 Xbelow 2
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5133 call assert_equal(['X2', 10], [@%, line('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5134 normal gg
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5135 Xafter 2
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5136 call assert_equal(['X2', 10, 3], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5137
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5138 normal G
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5139 Xabove 2
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5140 call assert_equal(['X2', 10], [@%, line('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5141 normal G
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5142 Xbefore 2
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5143 call assert_equal(['X2', 10, 3], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5144
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5145 edit X4
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5146 call assert_fails('Xabove', 'E42:')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5147 call assert_fails('Xbelow', 'E42:')
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5148 call assert_fails('Xbefore', 'E42:')
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5149 call assert_fails('Xafter', 'E42:')
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5150 if a:cchar == 'l'
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5151 " If a buffer has location list entries from some other window but not
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5152 " from the current window, then the commands should fail.
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5153 edit X1 | split | call setloclist(0, [], 'f')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5154 call assert_fails('Xabove', 'E776:')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5155 call assert_fails('Xbelow', 'E776:')
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5156 call assert_fails('Xbefore', 'E776:')
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5157 call assert_fails('Xafter', 'E776:')
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5158 close
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5159 endif
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5160
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5161 " Test for lines with multiple quickfix entries
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5162 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5163 X1:5:L5
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5164 X2:5:1:L5_1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5165 X2:5:2:L5_2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5166 X2:5:3:L5_3
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5167 X2:10:1:L10_1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5168 X2:10:2:L10_2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5169 X2:10:3:L10_3
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5170 X2:15:1:L15_1
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5171 X2:15:2:L15_2
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5172 X2:15:3:L15_3
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5173 X3:3:L3
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5174 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5175 Xexpr lines
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5176 edit +1 X2
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5177 Xbelow 2
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5178 call assert_equal(['X2', 10, 1], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5179 normal 1G
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5180 Xafter 2
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5181 call assert_equal(['X2', 5, 2], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5182
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5183 normal gg
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5184 Xbelow 99
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5185 call assert_equal(['X2', 15, 1], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5186 normal gg
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5187 Xafter 99
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5188 call assert_equal(['X2', 15, 3], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5189
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5190 normal G
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5191 Xabove 2
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5192 call assert_equal(['X2', 10, 1], [@%, line('.'), col('.')])
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5193 normal G
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5194 Xbefore 2
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5195 call assert_equal(['X2', 15, 2], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5196
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5197 normal G
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5198 Xabove 99
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5199 call assert_equal(['X2', 5, 1], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5200 normal G
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5201 Xbefore 99
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5202 call assert_equal(['X2', 5, 1], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5203
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5204 normal 10G
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5205 Xabove
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5206 call assert_equal(['X2', 5, 1], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5207 normal 10G$
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5208 2Xbefore
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5209 call assert_equal(['X2', 10, 2], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5210
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5211 normal 10G
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5212 Xbelow
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5213 call assert_equal(['X2', 15, 1], [@%, line('.'), col('.')])
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5214 normal 9G
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5215 5Xafter
20978
2c3e7a6bd6c6 patch 8.2.1040: not enough testing for movement commands
Bram Moolenaar <Bram@vim.org>
parents: 20814
diff changeset
5216 call assert_equal(['X2', 15, 2], [@%, line('.'), col('.')])
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5217
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5218 " Invalid range
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5219 if a:cchar == 'c'
16515
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5220 call assert_fails('-2cbelow', 'E16:')
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5221 call assert_fails('-2cafter', 'E16:')
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5222 else
16515
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5223 call assert_fails('-2lbelow', 'E16:')
16543
1d2b3bb35414 patch 8.1.1275: cannot navigate to errors before/after the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16515
diff changeset
5224 call assert_fails('-2lafter', 'E16:')
16505
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5225 endif
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5226
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5227 call delete('X1')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5228 call delete('X2')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5229 call delete('X3')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5230 call delete('X4')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5231 endfunc
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5232
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5233 func Test_cbelow()
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5234 call Xtest_below('c')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5235 call Xtest_below('l')
28e3ba82d8c8 patch 8.1.1256: cannot navigate through errors relative to the cursor
Bram Moolenaar <Bram@vim.org>
parents: 16483
diff changeset
5236 endfunc
16515
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5237
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5238 func Test_quickfix_count()
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5239 let commands =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5240 cNext
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5241 cNfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5242 cabove
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5243 cbelow
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5244 cfirst
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5245 clast
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5246 cnewer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5247 cnext
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5248 cnfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5249 colder
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5250 cprevious
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5251 crewind
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5252 lNext
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5253 lNfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5254 labove
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5255 lbelow
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5256 lfirst
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5257 llast
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5258 lnewer
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5259 lnext
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5260 lnfile
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5261 lolder
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5262 lprevious
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5263 lrewind
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
5264 END
16515
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5265 for cmd in commands
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5266 call assert_fails('-1' .. cmd, 'E16:')
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5267 call assert_fails('.' .. cmd, 'E16:')
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5268 call assert_fails('%' .. cmd, 'E16:')
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5269 call assert_fails('$' .. cmd, 'E16:')
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5270 endfor
6e87a69b8e0c patch 8.1.1261: no error for quickfix commands with negative range
Bram Moolenaar <Bram@vim.org>
parents: 16505
diff changeset
5271 endfunc
18452
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5272
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5273 " Test for aborting quickfix commands using QuickFixCmdPre
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5274 func Xtest_qfcmd_abort(cchar)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5275 call s:setup_commands(a:cchar)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5276
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5277 call g:Xsetlist([], 'f')
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5278
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5279 " cexpr/lexpr
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5280 let e = ''
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5281 try
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5282 Xexpr ["F1:10:Line10", "F2:20:Line20"]
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5283 catch /.*/
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5284 let e = v:exception
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5285 endtry
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5286 call assert_equal('AbortCmd', e)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5287 call assert_equal(0, g:Xgetlist({'nr' : '$'}).nr)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5288
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5289 " cfile/lfile
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
5290 call writefile(["F1:10:Line10", "F2:20:Line20"], 'Xfile1', 'D')
18452
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5291 let e = ''
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5292 try
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5293 Xfile Xfile1
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5294 catch /.*/
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5295 let e = v:exception
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5296 endtry
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5297 call assert_equal('AbortCmd', e)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5298 call assert_equal(0, g:Xgetlist({'nr' : '$'}).nr)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5299
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5300 " cgetbuffer/lgetbuffer
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5301 enew!
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5302 call append(0, ["F1:10:Line10", "F2:20:Line20"])
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5303 let e = ''
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5304 try
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5305 Xgetbuffer
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5306 catch /.*/
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5307 let e = v:exception
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5308 endtry
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5309 call assert_equal('AbortCmd', e)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5310 call assert_equal(0, g:Xgetlist({'nr' : '$'}).nr)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5311 enew!
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5312
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5313 " vimgrep/lvimgrep
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5314 let e = ''
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5315 try
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5316 Xvimgrep /func/ test_quickfix.vim
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5317 catch /.*/
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5318 let e = v:exception
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5319 endtry
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5320 call assert_equal('AbortCmd', e)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5321 call assert_equal(0, g:Xgetlist({'nr' : '$'}).nr)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5322
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5323 " helpgrep/lhelpgrep
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5324 let e = ''
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5325 try
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5326 Xhelpgrep quickfix
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5327 catch /.*/
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5328 let e = v:exception
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5329 endtry
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5330 call assert_equal('AbortCmd', e)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5331 call assert_equal(0, g:Xgetlist({'nr' : '$'}).nr)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5332
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5333 " grep/lgrep
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5334 if has('unix')
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5335 let e = ''
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5336 try
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5337 silent Xgrep func test_quickfix.vim
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5338 catch /.*/
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5339 let e = v:exception
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5340 endtry
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5341 call assert_equal('AbortCmd', e)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5342 call assert_equal(0, g:Xgetlist({'nr' : '$'}).nr)
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5343 endif
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5344 endfunc
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5345
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5346 func Test_qfcmd_abort()
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5347 augroup QF_Test
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5348 au!
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5349 autocmd QuickFixCmdPre * throw "AbortCmd"
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5350 augroup END
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5351
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5352 call Xtest_qfcmd_abort('c')
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5353 call Xtest_qfcmd_abort('l')
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5354
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5355 augroup QF_Test
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5356 au!
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5357 augroup END
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5358 endfunc
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
5359
18635
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5360 " Test for using a file in one of the parent directories.
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5361 func Test_search_in_dirstack()
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
5362 call mkdir('Xtestdir/a/b/c', 'pR')
18635
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5363 let save_cwd = getcwd()
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5364 call writefile(["X1_L1", "X1_L2"], 'Xtestdir/Xfile1')
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5365 call writefile(["X2_L1", "X2_L2"], 'Xtestdir/a/Xfile2')
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5366 call writefile(["X3_L1", "X3_L2"], 'Xtestdir/a/b/Xfile3')
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5367 call writefile(["X4_L1", "X4_L2"], 'Xtestdir/a/b/c/Xfile4')
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5368
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5369 let lines = "Entering dir Xtestdir\n" .
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5370 \ "Entering dir a\n" .
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5371 \ "Entering dir b\n" .
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5372 \ "Xfile2:2:X2_L2\n" .
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5373 \ "Leaving dir a\n" .
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5374 \ "Xfile1:2:X1_L2\n" .
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5375 \ "Xfile3:1:X3_L1\n" .
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5376 \ "Entering dir c\n" .
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5377 \ "Xfile4:2:X4_L2\n" .
18827
f98368dd6615 patch 8.1.2401: :cexpr does not handle | in expression
Bram Moolenaar <Bram@vim.org>
parents: 18740
diff changeset
5378 \ "Leaving dir c\n"
18635
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5379 set efm=%DEntering\ dir\ %f,%XLeaving\ dir\ %f,%f:%l:%m
18827
f98368dd6615 patch 8.1.2401: :cexpr does not handle | in expression
Bram Moolenaar <Bram@vim.org>
parents: 18740
diff changeset
5380 cexpr lines .. "Leaving dir Xtestdir|\n" | let next = 1
18635
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5381 call assert_equal(11, getqflist({'size' : 0}).size)
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5382 call assert_equal(4, getqflist({'idx' : 0}).idx)
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5383 call assert_equal('X2_L2', getline('.'))
18827
f98368dd6615 patch 8.1.2401: :cexpr does not handle | in expression
Bram Moolenaar <Bram@vim.org>
parents: 18740
diff changeset
5384 call assert_equal(1, next)
18635
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5385 cnext
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5386 call assert_equal(6, getqflist({'idx' : 0}).idx)
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5387 call assert_equal('X1_L2', getline('.'))
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5388 cnext
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5389 call assert_equal(7, getqflist({'idx' : 0}).idx)
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5390 call assert_equal(1, line('$'))
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5391 call assert_equal('', getline(1))
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5392 cnext
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5393 call assert_equal(9, getqflist({'idx' : 0}).idx)
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5394 call assert_equal(1, line('$'))
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5395 call assert_equal('', getline(1))
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5396
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5397 set efm&
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5398 exe 'cd ' . save_cwd
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5399 endfunc
dfa87465287e patch 8.1.2310: no proper test for directory changes in quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18452
diff changeset
5400
19069
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5401 " Test for :cquit
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5402 func Test_cquit()
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5403 " Exit Vim with a non-zero value
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5404 if RunVim([], ["cquit 7"], '')
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5405 call assert_equal(7, v:shell_error)
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5406 endif
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5407
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5408 if RunVim([], ["50cquit"], '')
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5409 call assert_equal(50, v:shell_error)
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5410 endif
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5411
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5412 " Exit Vim with default value
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5413 if RunVim([], ["cquit"], '')
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5414 call assert_equal(1, v:shell_error)
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5415 endif
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5416
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5417 " Exit Vim with zero value
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5418 if RunVim([], ["cquit 0"], '')
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5419 call assert_equal(0, v:shell_error)
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5420 endif
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5421
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5422 " Exit Vim with negative value
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5423 call assert_fails('-3cquit', 'E16:')
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5424 endfunc
e14feba578f1 patch 8.2.0095: cannot specify exit code for :cquit
Bram Moolenaar <Bram@vim.org>
parents: 18827
diff changeset
5425
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5426 " Test for getting a specific item from a quickfix list
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5427 func Xtest_getqflist_by_idx(cchar)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5428 call s:setup_commands(a:cchar)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5429 " Empty list
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5430 call assert_equal([], g:Xgetlist({'idx' : 1, 'items' : 0}).items)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5431 Xexpr ['F1:10:L10', 'F1:20:L20']
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5432 let l = g:Xgetlist({'idx' : 2, 'items' : 0}).items
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5433 call assert_equal(bufnr('F1'), l[0].bufnr)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5434 call assert_equal(20, l[0].lnum)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5435 call assert_equal('L20', l[0].text)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5436 call assert_equal([], g:Xgetlist({'idx' : -1, 'items' : 0}).items)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5437 call assert_equal([], g:Xgetlist({'idx' : 3, 'items' : 0}).items)
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5438 call assert_equal({}, g:Xgetlist(#{idx: "abc"}))
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5439 %bwipe!
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5440 endfunc
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5441
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5442 func Test_getqflist_by_idx()
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5443 call Xtest_getqflist_by_idx('c')
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5444 call Xtest_getqflist_by_idx('l')
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5445 endfunc
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5446
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5447 " Test for the 'quickfixtextfunc' setting
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5448 func Tqfexpr(info)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5449 if a:info.quickfix
20814
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5450 let qfl = getqflist({'id' : a:info.id, 'items' : 1}).items
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5451 else
20814
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5452 let qfl = getloclist(a:info.winid, {'id' : a:info.id, 'items' : 1}).items
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5453 endif
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5454
20814
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5455 let l = []
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5456 for idx in range(a:info.start_idx - 1, a:info.end_idx - 1)
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5457 let e = qfl[idx]
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5458 let s = ''
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5459 if e.bufnr != 0
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5460 let bname = bufname(e.bufnr)
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5461 let s ..= fnamemodify(bname, ':.')
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5462 endif
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5463 let s ..= '-'
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5464 let s ..= 'L' .. string(e.lnum) .. 'C' .. string(e.col) .. '-'
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5465 let s ..= e.text
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5466 call add(l, s)
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5467 endfor
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5468
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5469 return l
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5470 endfunc
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5471
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5472 func Xtest_qftextfunc(cchar)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5473 call s:setup_commands(a:cchar)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5474
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5475 set efm=%f:%l:%c:%m
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5476 set quickfixtextfunc=Tqfexpr
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5477 call assert_equal('Tqfexpr', &quickfixtextfunc)
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5478 call assert_equal('',
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5479 \ g:Xgetlist({'quickfixtextfunc' : 1}).quickfixtextfunc)
24964
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
5480 call g:Xsetlist([
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
5481 \ { 'filename': 'F1', 'lnum': 10, 'col': 2,
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
5482 \ 'end_col': 7, 'text': 'green'},
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
5483 \ { 'filename': 'F1', 'lnum': 20, 'end_lnum': 25, 'col': 4,
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
5484 \ 'end_col': 8, 'text': 'blue'},
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
5485 \ ])
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
5486
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5487 Xwindow
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5488 call assert_equal('F1-L10C2-green', getline(1))
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5489 call assert_equal('F1-L20C4-blue', getline(2))
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5490 Xclose
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5491 set quickfixtextfunc&vim
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5492 Xwindow
24964
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
5493 call assert_equal('F1|10 col 2-7| green', getline(1))
f4aa891a5ab8 patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents: 24962
diff changeset
5494 call assert_equal('F1|20-25 col 4-8| blue', getline(2))
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5495 Xclose
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5496
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5497 set efm=%f:%l:%c:%m
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5498 set quickfixtextfunc=Tqfexpr
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5499 " Update the list with only the cwindow
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5500 Xwindow
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5501 only
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5502 call g:Xsetlist([
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5503 \ { 'filename': 'F2', 'lnum': 20, 'col': 2,
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5504 \ 'end_col': 7, 'text': 'red'}
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5505 \ ])
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5506 call assert_equal(['F2-L20C2-red'], getline(1, '$'))
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5507 new
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
5508 Xclose
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5509 set efm&
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5510 set quickfixtextfunc&
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5511
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5512 " Test for per list 'quickfixtextfunc' setting
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5513 func PerQfText(info)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5514 if a:info.quickfix
20814
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5515 let qfl = getqflist({'id' : a:info.id, 'items' : 1}).items
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5516 else
20814
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5517 let qfl = getloclist(a:info.winid, {'id' : a:info.id, 'items' : 1}).items
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5518 endif
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5519 if empty(qfl)
20814
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5520 return []
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5521 endif
20814
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5522 let l = []
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5523 for idx in range(a:info.start_idx - 1, a:info.end_idx - 1)
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5524 call add(l, 'Line ' .. qfl[idx].lnum .. ', Col ' .. qfl[idx].col)
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5525 endfor
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5526 return l
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5527 endfunc
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5528 set quickfixtextfunc=Tqfexpr
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5529 call g:Xsetlist([], ' ', {'quickfixtextfunc' : "PerQfText"})
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5530 Xaddexpr ['F1:10:2:green', 'F1:20:4:blue']
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5531 Xwindow
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5532 call assert_equal('Line 10, Col 2', getline(1))
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5533 call assert_equal('Line 20, Col 4', getline(2))
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5534 Xclose
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5535 call assert_equal(function('PerQfText'),
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5536 \ g:Xgetlist({'quickfixtextfunc' : 1}).quickfixtextfunc)
20762
68170c89e355 patch 8.2.0933: 'quickfixtextfunc' does not get window ID of location list
Bram Moolenaar <Bram@vim.org>
parents: 20729
diff changeset
5537 " Add entries to the list when the quickfix buffer is hidden
68170c89e355 patch 8.2.0933: 'quickfixtextfunc' does not get window ID of location list
Bram Moolenaar <Bram@vim.org>
parents: 20729
diff changeset
5538 Xaddexpr ['F1:30:6:red']
68170c89e355 patch 8.2.0933: 'quickfixtextfunc' does not get window ID of location list
Bram Moolenaar <Bram@vim.org>
parents: 20729
diff changeset
5539 Xwindow
68170c89e355 patch 8.2.0933: 'quickfixtextfunc' does not get window ID of location list
Bram Moolenaar <Bram@vim.org>
parents: 20729
diff changeset
5540 call assert_equal('Line 30, Col 6', getline(3))
68170c89e355 patch 8.2.0933: 'quickfixtextfunc' does not get window ID of location list
Bram Moolenaar <Bram@vim.org>
parents: 20729
diff changeset
5541 Xclose
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5542 call g:Xsetlist([], 'r', {'quickfixtextfunc' : ''})
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5543 call assert_equal('', g:Xgetlist({'quickfixtextfunc' : 1}).quickfixtextfunc)
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5544 set quickfixtextfunc&
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5545 delfunc PerQfText
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5546
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5547 " Non-existing function
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5548 set quickfixtextfunc=Tabc
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5549 call assert_fails("Xexpr ['F1:10:2:green', 'F1:20:4:blue']", 'E117:')
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5550 call assert_fails("Xwindow", 'E117:')
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5551 Xclose
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5552 set quickfixtextfunc&
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5553
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5554 " set option to a non-function
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5555 set quickfixtextfunc=[10,\ 20]
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5556 call assert_fails("Xexpr ['F1:10:2:green', 'F1:20:4:blue']", 'E117:')
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5557 call assert_fails("Xwindow", 'E117:')
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5558 Xclose
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5559 set quickfixtextfunc&
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5560
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5561 " set option to a function with different set of arguments
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5562 func Xqftext(a, b, c)
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5563 return a:a .. a:b .. a:c
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5564 endfunc
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5565 set quickfixtextfunc=Xqftext
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5566 call assert_fails("Xexpr ['F1:10:2:green', 'F1:20:4:blue']", 'E119:')
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5567 call assert_fails("Xwindow", 'E119:')
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5568 Xclose
20814
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5569
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5570 " set option to a function that returns a list with non-strings
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5571 func Xqftext2(d)
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5572 return ['one', [], 'two']
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5573 endfunc
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5574 set quickfixtextfunc=Xqftext2
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5575 call assert_fails("Xexpr ['F1:10:2:green', 'F1:20:4:blue', 'F1:30:6:red']",
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5576 \ 'E730:')
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5577 call assert_fails('Xwindow', 'E730:')
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5578 call assert_equal(['one', 'F1|20 col 4| blue', 'F1|30 col 6| red'],
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5579 \ getline(1, '$'))
20814
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5580 Xclose
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5581
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5582 set quickfixtextfunc&
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5583 delfunc Xqftext
20814
f23c6543a54d patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 20768
diff changeset
5584 delfunc Xqftext2
21409
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5585
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5586 " set the global option to a lambda function
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5587 set quickfixtextfunc={d\ ->\ map(g:Xgetlist({'id'\ :\ d.id,\ 'items'\ :\ 1}).items[d.start_idx-1:d.end_idx-1],\ 'v:val.text')}
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5588 Xexpr ['F1:10:2:green', 'F1:20:4:blue']
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5589 Xwindow
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5590 call assert_equal(['green', 'blue'], getline(1, '$'))
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5591 Xclose
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5592 call assert_equal("{d -> map(g:Xgetlist({'id' : d.id, 'items' : 1}).items[d.start_idx-1:d.end_idx-1], 'v:val.text')}", &quickfixtextfunc)
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5593 set quickfixtextfunc&
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5594
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5595 " use a lambda function that returns an empty list
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5596 set quickfixtextfunc={d\ ->\ []}
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5597 Xexpr ['F1:10:2:green', 'F1:20:4:blue']
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5598 Xwindow
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5599 call assert_equal(['F1|10 col 2| green', 'F1|20 col 4| blue'],
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5600 \ getline(1, '$'))
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5601 Xclose
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5602 set quickfixtextfunc&
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5603
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5604 " use a lambda function that returns a list with empty strings
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5605 set quickfixtextfunc={d\ ->\ ['',\ '']}
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5606 Xexpr ['F1:10:2:green', 'F1:20:4:blue']
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5607 Xwindow
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5608 call assert_equal(['F1|10 col 2| green', 'F1|20 col 4| blue'],
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5609 \ getline(1, '$'))
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5610 Xclose
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5611 set quickfixtextfunc&
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5612
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5613 " set the per-quickfix list text function to a lambda function
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5614 call g:Xsetlist([], ' ',
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5615 \ {'quickfixtextfunc' :
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5616 \ {d -> map(g:Xgetlist({'id' : d.id, 'items' : 1}).items[d.start_idx-1:d.end_idx-1],
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5617 \ "'Line ' .. v:val.lnum .. ', Col ' .. v:val.col")}})
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5618 Xaddexpr ['F1:10:2:green', 'F1:20:4:blue']
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5619 Xwindow
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5620 call assert_equal('Line 10, Col 2', getline(1))
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5621 call assert_equal('Line 20, Col 4', getline(2))
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5622 Xclose
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5623 call assert_match("function('<lambda>\\d\\+')", string(g:Xgetlist({'quickfixtextfunc' : 1}).quickfixtextfunc))
2c40e60017a8 patch 8.2.1255: cannot use a lambda with quickfix functions
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
5624 call g:Xsetlist([], 'f')
20631
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5625 endfunc
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5626
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5627 func Test_qftextfunc()
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5628 call Xtest_qftextfunc('c')
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5629 call Xtest_qftextfunc('l')
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5630 endfunc
d6827bd31d1d patch 8.2.0869: it is not possible to customize the quickfix window contents
Bram Moolenaar <Bram@vim.org>
parents: 20263
diff changeset
5631
26518
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5632 func Test_qftextfunc_callback()
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5633 let lines =<< trim END
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5634 set efm=%f:%l:%c:%m
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5635
26526
33d680d372aa patch 8.2.3792: setting *func options insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 26518
diff changeset
5636 #" Test for using a function name
33d680d372aa patch 8.2.3792: setting *func options insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 26518
diff changeset
5637 LET &qftf = 'g:Tqfexpr'
33d680d372aa patch 8.2.3792: setting *func options insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 26518
diff changeset
5638 cexpr "F0:0:0:L0"
33d680d372aa patch 8.2.3792: setting *func options insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 26518
diff changeset
5639 copen
33d680d372aa patch 8.2.3792: setting *func options insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 26518
diff changeset
5640 call assert_equal('F0-L0C0-L0', getline(1))
33d680d372aa patch 8.2.3792: setting *func options insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 26518
diff changeset
5641 cclose
33d680d372aa patch 8.2.3792: setting *func options insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 26518
diff changeset
5642
26518
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5643 #" Test for using a function()
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5644 set qftf=function('g:Tqfexpr')
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5645 cexpr "F1:1:1:L1"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5646 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5647 call assert_equal('F1-L1C1-L1', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5648 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5649
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5650 #" Using a funcref variable to set 'quickfixtextfunc'
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5651 VAR Fn = function('g:Tqfexpr')
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5652 LET &qftf = Fn
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5653 cexpr "F2:2:2:L2"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5654 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5655 call assert_equal('F2-L2C2-L2', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5656 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5657
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5658 #" Using string(funcref_variable) to set 'quickfixtextfunc'
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5659 LET Fn = function('g:Tqfexpr')
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5660 LET &qftf = string(Fn)
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5661 cexpr "F3:3:3:L3"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5662 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5663 call assert_equal('F3-L3C3-L3', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5664 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5665
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5666 #" Test for using a funcref()
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5667 set qftf=funcref('g:Tqfexpr')
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5668 cexpr "F4:4:4:L4"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5669 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5670 call assert_equal('F4-L4C4-L4', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5671 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5672
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5673 #" Using a funcref variable to set 'quickfixtextfunc'
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5674 LET Fn = funcref('g:Tqfexpr')
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5675 LET &qftf = Fn
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5676 cexpr "F5:5:5:L5"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5677 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5678 call assert_equal('F5-L5C5-L5', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5679 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5680
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5681 #" Using a string(funcref_variable) to set 'quickfixtextfunc'
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5682 LET Fn = funcref('g:Tqfexpr')
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5683 LET &qftf = string(Fn)
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5684 cexpr "F5:5:5:L5"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5685 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5686 call assert_equal('F5-L5C5-L5', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5687 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5688
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5689 #" Test for using a lambda function with set
27457
4c16acb2525f patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents: 26618
diff changeset
5690 VAR optval = "LSTART a LMIDDLE g:Tqfexpr(a) LEND"
26518
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5691 LET optval = substitute(optval, ' ', '\\ ', 'g')
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5692 exe "set qftf=" .. optval
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5693 cexpr "F6:6:6:L6"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5694 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5695 call assert_equal('F6-L6C6-L6', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5696 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5697
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5698 #" Set 'quickfixtextfunc' to a lambda expression
27457
4c16acb2525f patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents: 26618
diff changeset
5699 LET &qftf = LSTART a LMIDDLE g:Tqfexpr(a) LEND
26518
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5700 cexpr "F7:7:7:L7"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5701 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5702 call assert_equal('F7-L7C7-L7', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5703 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5704
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5705 #" Set 'quickfixtextfunc' to string(lambda_expression)
27457
4c16acb2525f patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents: 26618
diff changeset
5706 LET &qftf = "LSTART a LMIDDLE g:Tqfexpr(a) LEND"
26518
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5707 cexpr "F8:8:8:L8"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5708 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5709 call assert_equal('F8-L8C8-L8', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5710 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5711
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5712 #" Set 'quickfixtextfunc' to a variable with a lambda expression
27457
4c16acb2525f patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents: 26618
diff changeset
5713 VAR Lambda = LSTART a LMIDDLE g:Tqfexpr(a) LEND
26518
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5714 LET &qftf = Lambda
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5715 cexpr "F9:9:9:L9"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5716 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5717 call assert_equal('F9-L9C9-L9', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5718 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5719
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5720 #" Set 'quickfixtextfunc' to a string(variable with a lambda expression)
27457
4c16acb2525f patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents: 26618
diff changeset
5721 LET Lambda = LSTART a LMIDDLE g:Tqfexpr(a) LEND
26518
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5722 LET &qftf = string(Lambda)
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5723 cexpr "F9:9:9:L9"
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5724 copen
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5725 call assert_equal('F9-L9C9-L9', getline(1))
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5726 cclose
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5727 END
27457
4c16acb2525f patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents: 26618
diff changeset
5728 call v9.CheckLegacyAndVim9Success(lines)
26518
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5729
26618
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5730 " Test for using a script-local function name
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5731 func s:TqfFunc2(info)
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5732 let g:TqfFunc2Args = [a:info.start_idx, a:info.end_idx]
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5733 return ''
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5734 endfunc
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5735 let g:TqfFunc2Args = []
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5736 set quickfixtextfunc=s:TqfFunc2
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5737 cexpr "F10:10:10:L10"
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5738 cclose
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5739 call assert_equal([1, 1], g:TqfFunc2Args)
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5740
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5741 let &quickfixtextfunc = 's:TqfFunc2'
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5742 cexpr "F11:11:11:L11"
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5743 cclose
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5744 call assert_equal([1, 1], g:TqfFunc2Args)
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5745 delfunc s:TqfFunc2
b531c26f728b patch 8.2.3838: cannot use script-local function for setting *func options
Bram Moolenaar <Bram@vim.org>
parents: 26568
diff changeset
5746
26518
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5747 " set 'quickfixtextfunc' to a partial with dict. This used to cause a crash.
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5748 func SetQftfFunc()
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5749 let params = {'qftf': function('g:DictQftfFunc')}
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5750 let &quickfixtextfunc = params.qftf
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5751 endfunc
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5752 func g:DictQftfFunc(_) dict
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5753 endfunc
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5754 call SetQftfFunc()
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5755 new
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5756 call SetQftfFunc()
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5757 bw
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5758 call test_garbagecollect_now()
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5759 new
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5760 set qftf=
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5761 wincmd w
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5762 set qftf=
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5763 :%bw!
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5764
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5765 " set per-quickfix list 'quickfixtextfunc' to a partial with dict. This used
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5766 " to cause a crash.
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5767 let &qftf = ''
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5768 func SetLocalQftfFunc()
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5769 let params = {'qftf': function('g:DictQftfFunc')}
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5770 call setqflist([], 'a', {'quickfixtextfunc' : params.qftf})
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5771 endfunc
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5772 call SetLocalQftfFunc()
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5773 call test_garbagecollect_now()
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5774 call setqflist([], 'a', {'quickfixtextfunc' : ''})
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5775 delfunc g:DictQftfFunc
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5776 delfunc SetQftfFunc
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5777 delfunc SetLocalQftfFunc
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5778 set efm&
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5779 endfunc
13ba00ef7687 patch 8.2.3788: lambda for option that is a function may be freed
Bram Moolenaar <Bram@vim.org>
parents: 26464
diff changeset
5780
24962
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5781 " Test for updating a location list for some other window and check that
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5782 " 'qftextfunc' uses the correct location list.
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5783 func Test_qftextfunc_other_loclist()
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5784 %bw!
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5785 call setloclist(0, [], 'f')
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5786
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5787 " create a window and a location list for it and open the location list
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5788 " window
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5789 lexpr ['F1:10:12:one', 'F1:20:14:two']
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5790 let w1_id = win_getid()
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5791 call setloclist(0, [], ' ',
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5792 \ {'lines': ['F1:10:12:one', 'F1:20:14:two'],
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5793 \ 'quickfixtextfunc':
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5794 \ {d -> map(getloclist(d.winid, {'id' : d.id,
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5795 \ 'items' : 1}).items[d.start_idx-1:d.end_idx-1],
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5796 \ "'Line ' .. v:val.lnum .. ', Col ' .. v:val.col")}})
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5797 lwindow
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5798 let w2_id = win_getid()
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5799
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5800 " create another window and a location list for it and open the location
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5801 " list window
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5802 topleft new
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5803 let w3_id = win_getid()
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5804 call setloclist(0, [], ' ',
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5805 \ {'lines': ['F2:30:32:eleven', 'F2:40:34:twelve'],
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5806 \ 'quickfixtextfunc':
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5807 \ {d -> map(getloclist(d.winid, {'id' : d.id,
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5808 \ 'items' : 1}).items[d.start_idx-1:d.end_idx-1],
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5809 \ "'Ligne ' .. v:val.lnum .. ', Colonne ' .. v:val.col")}})
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5810 lwindow
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5811 let w4_id = win_getid()
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5812
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5813 topleft new
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5814 lexpr ['F3:50:52:green', 'F3:60:54:blue']
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5815 let w5_id = win_getid()
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5816
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5817 " change the location list for some other window
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5818 call setloclist(0, [], 'r', {'lines': ['F3:55:56:aaa', 'F3:57:58:bbb']})
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5819 call setloclist(w1_id, [], 'r', {'lines': ['F1:62:63:bbb', 'F1:64:65:ccc']})
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5820 call setloclist(w3_id, [], 'r', {'lines': ['F2:76:77:ddd', 'F2:78:79:eee']})
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5821 call assert_equal(['Line 62, Col 63', 'Line 64, Col 65'],
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5822 \ getbufline(winbufnr(w2_id), 1, '$'))
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5823 call assert_equal(['Ligne 76, Colonne 77', 'Ligne 78, Colonne 79'],
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5824 \ getbufline(winbufnr(w4_id), 1, '$'))
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5825 call setloclist(w2_id, [], 'r', {'lines': ['F1:32:33:fff', 'F1:34:35:ggg']})
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5826 call setloclist(w4_id, [], 'r', {'lines': ['F2:46:47:hhh', 'F2:48:49:jjj']})
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5827 call assert_equal(['Line 32, Col 33', 'Line 34, Col 35'],
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5828 \ getbufline(winbufnr(w2_id), 1, '$'))
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5829 call assert_equal(['Ligne 46, Colonne 47', 'Ligne 48, Colonne 49'],
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5830 \ getbufline(winbufnr(w4_id), 1, '$'))
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5831
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5832 call win_gotoid(w5_id)
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5833 lwindow
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5834 call assert_equal(['F3|55 col 56| aaa', 'F3|57 col 58| bbb'],
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5835 \ getline(1, '$'))
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5836 %bw!
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5837 endfunc
437b8be91993 patch 8.2.3018: 'quickfixtextfunc' formatting is lost when switching buffers
Bram Moolenaar <Bram@vim.org>
parents: 24590
diff changeset
5838
20764
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5839 " Running :lhelpgrep command more than once in a help window, doesn't jump to
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5840 " the help topic
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5841 func Test_lhelpgrep_from_help_window()
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
5842 call mkdir('Xtestdir/doc', 'pR')
20764
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5843 call writefile(['window'], 'Xtestdir/doc/a.txt')
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5844 call writefile(['buffer'], 'Xtestdir/doc/b.txt')
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5845 let save_rtp = &rtp
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5846 let &rtp = 'Xtestdir'
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5847 lhelpgrep window
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5848 lhelpgrep buffer
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5849 call assert_equal('b.txt', fnamemodify(@%, ":p:t"))
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5850 lhelpgrep window
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5851 call assert_equal('a.txt', fnamemodify(@%, ":p:t"))
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5852 let &rtp = save_rtp
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5853 new | only!
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5854 endfunc
3c61d8ec36af patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Bram Moolenaar <Bram@vim.org>
parents: 20762
diff changeset
5855
21741
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5856 " Test for the crash fixed by 7.3.715
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5857 func Test_setloclist_crash()
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5858 %bw!
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5859 let g:BufNum = bufnr()
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5860 augroup QF_Test
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5861 au!
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5862 au BufUnload * call setloclist(0, [{'bufnr':g:BufNum, 'lnum':1, 'col':1, 'text': 'tango down'}])
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5863 augroup END
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5864
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5865 try
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5866 lvimgrep /.*/ *.mak
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5867 catch /E926:/
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5868 endtry
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5869 call assert_equal('tango down', getloclist(0, {'items' : 0}).items[0].text)
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5870 call assert_equal(1, getloclist(0, {'size' : 0}).size)
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5871
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5872 augroup QF_Test
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5873 au!
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5874 augroup END
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5875 unlet g:BufNum
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5876 %bw!
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5877 endfunc
baccf9e06efe patch 8.2.1420: test 49 is old style
Bram Moolenaar <Bram@vim.org>
parents: 21668
diff changeset
5878
22870
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5879 " Test for adding an invalid entry with the quickfix window open and making
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5880 " sure that the window contents are not changed
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5881 func Test_add_invalid_entry_with_qf_window()
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5882 call setqflist([], 'f')
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5883 cexpr "Xfile1:10:aa"
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5884 copen
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5885 call setqflist(['bb'], 'a')
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5886 call assert_equal(1, line('$'))
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5887 call assert_equal(['Xfile1|10| aa'], getline(1, '$'))
24976
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5888 call assert_equal([{'lnum': 10 , 'end_lnum': 0 , 'bufnr': bufnr('Xfile1') , 'col': 0 , 'end_col': 0 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , getqflist())
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5889
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5890 call setqflist([{'lnum': 10 , 'bufnr': bufnr('Xfile1') , 'col': 0 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , 'r')
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5891 call assert_equal(1 , line('$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5892 call assert_equal(['Xfile1|10| aa'] , getline(1 , '$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5893 call assert_equal([{'lnum': 10 , 'end_lnum': 0 , 'bufnr': bufnr('Xfile1') , 'col': 0 , 'end_col': 0 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , getqflist())
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5894
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5895 call setqflist([{'lnum': 10 , 'end_lnum': 0 , 'bufnr': bufnr('Xfile1') , 'col': 0 , 'end_col': 0 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , 'r')
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5896 call assert_equal(1 , line('$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5897 call assert_equal(['Xfile1|10| aa'] , getline(1 , '$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5898 call assert_equal([{'lnum': 10 , 'end_lnum': 0 , 'bufnr': bufnr('Xfile1') , 'col': 0 , 'end_col': 0 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , getqflist())
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5899
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5900 call setqflist([{'lnum': 10 , 'end_lnum': -123 , 'bufnr': bufnr('Xfile1') , 'col': 0 , 'end_col': -456 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , 'r')
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5901 call assert_equal(1 , line('$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5902 call assert_equal(['Xfile1|10| aa'] , getline(1 , '$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5903 call assert_equal([{'lnum': 10 , 'end_lnum': -123 , 'bufnr': bufnr('Xfile1') , 'col': 0 , 'end_col': -456 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , getqflist())
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5904
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5905 call setqflist([{'lnum': 10 , 'end_lnum': -123 , 'bufnr': bufnr('Xfile1') , 'col': 666 , 'end_col': 0 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , 'r')
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5906 call assert_equal(1 , line('$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5907 call assert_equal(['Xfile1|10 col 666| aa'] , getline(1 , '$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5908 call assert_equal([{'lnum': 10 , 'end_lnum': -123 , 'bufnr': bufnr('Xfile1') , 'col': 666 , 'end_col': 0 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , getqflist())
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5909
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5910 call setqflist([{'lnum': 10 , 'end_lnum': -123 , 'bufnr': bufnr('Xfile1') , 'col': 666 , 'end_col': -456 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , 'r')
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5911 call assert_equal(1 , line('$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5912 call assert_equal(['Xfile1|10 col 666| aa'] , getline(1 , '$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5913 call assert_equal([{'lnum': 10 , 'end_lnum': -123 , 'bufnr': bufnr('Xfile1') , 'col': 666 , 'end_col': -456 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , getqflist())
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5914
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5915 call setqflist([{'lnum': 10 , 'end_lnum': -123 , 'bufnr': bufnr('Xfile1') , 'col': 666 , 'end_col': 222 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , 'r')
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5916 call assert_equal(1 , line('$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5917 call assert_equal(['Xfile1|10 col 666-222| aa'] , getline(1 , '$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5918 call assert_equal([{'lnum': 10 , 'end_lnum': -123 , 'bufnr': bufnr('Xfile1') , 'col': 666 , 'end_col': 222 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , getqflist())
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5919
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5920 call setqflist([{'lnum': 10 , 'end_lnum': 6 , 'bufnr': bufnr('Xfile1') , 'col': 666 , 'end_col': 222 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , 'r')
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5921 call assert_equal(1 , line('$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5922 call assert_equal(['Xfile1|10-6 col 666-222| aa'] , getline(1 , '$'))
fd205e78e163 patch 8.2.3025: not enough tests for quickfix end_col and end_lnum
Bram Moolenaar <Bram@vim.org>
parents: 24964
diff changeset
5923 call assert_equal([{'lnum': 10 , 'end_lnum': 6 , 'bufnr': bufnr('Xfile1') , 'col': 666 , 'end_col': 222 , 'pattern': '' , 'valid': 1 , 'vcol': 0 , 'nr': -1 , 'type': '' , 'module': '' , 'text': 'aa'}] , getqflist())
22870
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5924 cclose
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5925 endfunc
69b48d2822ec patch 8.2.1982: quickfix window now updated when adding invalid entries
Bram Moolenaar <Bram@vim.org>
parents: 22788
diff changeset
5926
22979
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5927 " Test for very weird problem: autocommand causes a failure, resulting opening
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5928 " the quickfix window to fail. This still splits the window, but otherwise
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5929 " should not mess up buffers.
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5930 func Test_quickfix_window_fails_to_open()
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5931 CheckScreendump
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5932
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5933 let lines =<< trim END
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5934 anything
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5935 try
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5936 anything
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5937 endtry
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5938 END
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
5939 call writefile(lines, 'XquickfixFails', 'D')
22979
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5940
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5941 let lines =<< trim END
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5942 split XquickfixFails
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5943 silent vimgrep anything %
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5944 normal o
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5945 au BufLeave * ++once source XquickfixFails
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5946 " This will trigger the autocommand, which causes an error, what follows
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5947 " is aborted but the window was already split.
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5948 silent! cwindow
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5949 END
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
5950 call writefile(lines, 'XtestWinFails', 'D')
22979
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5951 let buf = RunVimInTerminal('-S XtestWinFails', #{rows: 13})
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5952 call VerifyScreenDump(buf, 'Test_quickfix_window_fails', {})
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5953
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5954 " clean up
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5955 call term_sendkeys(buf, ":bwipe!\<CR>")
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5956 call term_wait(buf)
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5957 call StopVimInTerminal(buf)
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5958 endfunc
fab8455af19c patch 8.2.2036: buffer messed up if creating the quickfix window fails
Bram Moolenaar <Bram@vim.org>
parents: 22874
diff changeset
5959
23092
c713358da074 patch 8.2.2092: Vim9: unpredictable errors for script tests
Bram Moolenaar <Bram@vim.org>
parents: 23045
diff changeset
5960 " Test for updating the quickfix buffer whenever the associated quickfix list
23045
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5961 " is changed.
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5962 func Xqfbuf_update(cchar)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5963 call s:setup_commands(a:cchar)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5964
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5965 Xexpr "F1:1:line1"
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5966 Xopen
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5967 call assert_equal(['F1|1| line1'], getline(1, '$'))
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5968 call assert_equal(1, g:Xgetlist({'changedtick' : 0}).changedtick)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5969
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5970 " Test setqflist() using the 'lines' key in 'what'
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5971 " add a new entry
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5972 call g:Xsetlist([], 'a', {'lines' : ['F2:2: line2']})
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5973 call assert_equal(['F1|1| line1', 'F2|2| line2'], getline(1, '$'))
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5974 call assert_equal(2, g:Xgetlist({'changedtick' : 0}).changedtick)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5975 " replace all the entries with a single entry
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5976 call g:Xsetlist([], 'r', {'lines' : ['F3:3: line3']})
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5977 call assert_equal(['F3|3| line3'], getline(1, '$'))
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5978 call assert_equal(3, g:Xgetlist({'changedtick' : 0}).changedtick)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5979 " remove all the entries
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5980 call g:Xsetlist([], 'r', {'lines' : []})
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5981 call assert_equal([''], getline(1, '$'))
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5982 call assert_equal(4, g:Xgetlist({'changedtick' : 0}).changedtick)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5983 " add a new list
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5984 call g:Xsetlist([], ' ', {'lines' : ['F4:4: line4']})
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5985 call assert_equal(['F4|4| line4'], getline(1, '$'))
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5986 call assert_equal(1, g:Xgetlist({'changedtick' : 0}).changedtick)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5987
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5988 " Test setqflist() using the 'items' key in 'what'
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5989 " add a new entry
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5990 call g:Xsetlist([], 'a', {'items' : [{'filename' : 'F5', 'lnum' : 5, 'text' : 'line5'}]})
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5991 call assert_equal(['F4|4| line4', 'F5|5| line5'], getline(1, '$'))
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5992 call assert_equal(2, g:Xgetlist({'changedtick' : 0}).changedtick)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5993 " replace all the entries with a single entry
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5994 call g:Xsetlist([], 'r', {'items' : [{'filename' : 'F6', 'lnum' : 6, 'text' : 'line6'}]})
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5995 call assert_equal(['F6|6| line6'], getline(1, '$'))
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5996 call assert_equal(3, g:Xgetlist({'changedtick' : 0}).changedtick)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5997 " remove all the entries
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5998 call g:Xsetlist([], 'r', {'items' : []})
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
5999 call assert_equal([''], getline(1, '$'))
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6000 call assert_equal(4, g:Xgetlist({'changedtick' : 0}).changedtick)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6001 " add a new list
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6002 call g:Xsetlist([], ' ', {'items' : [{'filename' : 'F7', 'lnum' : 7, 'text' : 'line7'}]})
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6003 call assert_equal(['F7|7| line7'], getline(1, '$'))
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6004 call assert_equal(1, g:Xgetlist({'changedtick' : 0}).changedtick)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6005
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6006 call g:Xsetlist([], ' ', {})
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6007 call assert_equal([''], getline(1, '$'))
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6008 call assert_equal(1, g:Xgetlist({'changedtick' : 0}).changedtick)
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6009
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6010 Xclose
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6011 endfunc
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6012
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6013 func Test_qfbuf_update()
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6014 call Xqfbuf_update('c')
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6015 call Xqfbuf_update('l')
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6016 endfunc
450d6e4992e1 patch 8.2.2069: the quickfix window is not updated after setqflist()
Bram Moolenaar <Bram@vim.org>
parents: 22979
diff changeset
6017
24059
24887299c5ff patch 8.2.2571: test may leave file behind
Bram Moolenaar <Bram@vim.org>
parents: 23938
diff changeset
6018 func Test_vimgrep_noswapfile()
24887299c5ff patch 8.2.2571: test may leave file behind
Bram Moolenaar <Bram@vim.org>
parents: 23938
diff changeset
6019 set noswapfile
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
6020 call writefile(['one', 'two', 'three'], 'Xgreppie', 'D')
24059
24887299c5ff patch 8.2.2571: test may leave file behind
Bram Moolenaar <Bram@vim.org>
parents: 23938
diff changeset
6021 vimgrep two Xgreppie
24887299c5ff patch 8.2.2571: test may leave file behind
Bram Moolenaar <Bram@vim.org>
parents: 23938
diff changeset
6022 call assert_equal('two', getline('.'))
24887299c5ff patch 8.2.2571: test may leave file behind
Bram Moolenaar <Bram@vim.org>
parents: 23938
diff changeset
6023
24887299c5ff patch 8.2.2571: test may leave file behind
Bram Moolenaar <Bram@vim.org>
parents: 23938
diff changeset
6024 set swapfile
24887299c5ff patch 8.2.2571: test may leave file behind
Bram Moolenaar <Bram@vim.org>
parents: 23938
diff changeset
6025 endfunc
24887299c5ff patch 8.2.2571: test may leave file behind
Bram Moolenaar <Bram@vim.org>
parents: 23938
diff changeset
6026
24547
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6027 " Test for the :vimgrep 'f' flag (fuzzy match)
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6028 func Xvimgrep_fuzzy_match(cchar)
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6029 call s:setup_commands(a:cchar)
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6030
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6031 Xvimgrep /three one/f Xfile*
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6032 let l = g:Xgetlist()
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6033 call assert_equal(2, len(l))
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6034 call assert_equal(['Xfile1', 1, 9, 'one two three'],
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6035 \ [bufname(l[0].bufnr), l[0].lnum, l[0].col, l[0].text])
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6036 call assert_equal(['Xfile2', 2, 1, 'three one two'],
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6037 \ [bufname(l[1].bufnr), l[1].lnum, l[1].col, l[1].text])
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6038
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6039 Xvimgrep /the/f Xfile*
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6040 let l = g:Xgetlist()
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6041 call assert_equal(3, len(l))
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6042 call assert_equal(['Xfile1', 1, 9, 'one two three'],
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6043 \ [bufname(l[0].bufnr), l[0].lnum, l[0].col, l[0].text])
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6044 call assert_equal(['Xfile2', 2, 1, 'three one two'],
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6045 \ [bufname(l[1].bufnr), l[1].lnum, l[1].col, l[1].text])
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6046 call assert_equal(['Xfile2', 4, 4, 'aaathreeaaa'],
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6047 \ [bufname(l[2].bufnr), l[2].lnum, l[2].col, l[2].text])
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6048
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6049 Xvimgrep /aaa/fg Xfile*
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6050 let l = g:Xgetlist()
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6051 call assert_equal(4, len(l))
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6052 call assert_equal(['Xfile1', 2, 1, 'aaaaaa'],
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6053 \ [bufname(l[0].bufnr), l[0].lnum, l[0].col, l[0].text])
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6054 call assert_equal(['Xfile1', 2, 4, 'aaaaaa'],
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6055 \ [bufname(l[1].bufnr), l[1].lnum, l[1].col, l[1].text])
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6056 call assert_equal(['Xfile2', 4, 1, 'aaathreeaaa'],
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6057 \ [bufname(l[2].bufnr), l[2].lnum, l[2].col, l[2].text])
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6058 call assert_equal(['Xfile2', 4, 9, 'aaathreeaaa'],
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6059 \ [bufname(l[3].bufnr), l[3].lnum, l[3].col, l[3].text])
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6060
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6061 call assert_fails('Xvimgrep /xyz/fg Xfile*', 'E480:')
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6062 endfunc
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6063
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6064 func Test_vimgrep_fuzzy_match()
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
6065 call writefile(['one two three', 'aaaaaa'], 'Xfile1', 'D')
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
6066 call writefile(['one', 'three one two', 'two', 'aaathreeaaa'], 'Xfile2', 'D')
24547
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6067 call Xvimgrep_fuzzy_match('c')
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6068 call Xvimgrep_fuzzy_match('l')
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6069 endfunc
192058cad081 patch 8.2.2813: cannot grep using fuzzy matching
Bram Moolenaar <Bram@vim.org>
parents: 24059
diff changeset
6070
25254
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6071 func Test_locationlist_open_in_newtab()
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6072 call s:create_test_file('Xqftestfile1')
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6073 call s:create_test_file('Xqftestfile2')
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6074 call s:create_test_file('Xqftestfile3')
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6075
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6076 %bwipe!
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6077
28421
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
6078 let lines =<< trim END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
6079 Xqftestfile1:5:Line5
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
6080 Xqftestfile2:10:Line10
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
6081 Xqftestfile3:16:Line16
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
6082 END
0e4097e7a714 patch 8.2.4735: quickfix tests can be a bit hard to read
Bram Moolenaar <Bram@vim.org>
parents: 28183
diff changeset
6083 lgetexpr lines
25254
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6084
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6085 silent! llast
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6086 call assert_equal(1, tabpagenr('$'))
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6087 call assert_equal('Xqftestfile3', bufname())
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6088
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6089 set switchbuf=newtab
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6090
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6091 silent! lfirst
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6092 call assert_equal(2, tabpagenr('$'))
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6093 call assert_equal('Xqftestfile1', bufname())
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6094
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6095 silent! lnext
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6096 call assert_equal(3, tabpagenr('$'))
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6097 call assert_equal('Xqftestfile2', bufname())
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6098
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6099 call delete('Xqftestfile1')
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6100 call delete('Xqftestfile2')
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6101 call delete('Xqftestfile3')
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6102 set switchbuf&vim
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6103
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6104 %bwipe!
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6105 endfunc
5127844b909b patch 8.2.3163: location list window may open a wrong file
Bram Moolenaar <Bram@vim.org>
parents: 24976
diff changeset
6106
25435
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6107 " Test for win_gettype() in quickfix and location list windows
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6108 func Test_win_gettype()
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6109 copen
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6110 call assert_equal("quickfix", win_gettype())
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6111 let wid = win_getid()
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6112 wincmd p
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6113 call assert_equal("quickfix", win_gettype(wid))
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6114 cclose
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6115 lexpr ''
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6116 lopen
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6117 call assert_equal("loclist", win_gettype())
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6118 let wid = win_getid()
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6119 wincmd p
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6120 call assert_equal("loclist", win_gettype(wid))
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6121 lclose
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6122 endfunc
6ad76124ddda patch 8.2.3254: win_gettype() does not recognize a quickfix window
Bram Moolenaar <Bram@vim.org>
parents: 25254
diff changeset
6123
26364
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6124 fun Test_vimgrep_nomatch()
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6125 call XexprTests('c')
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6126 call g:Xsetlist([{'lnum':10,'text':'Line1'}])
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6127 copen
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6128 if has("win32")
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6129 call assert_fails('vimgrep foo *.zzz', 'E479:')
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6130 let expected = [{'lnum': 10, 'bufnr': 0, 'end_lnum': 0, 'pattern': '', 'valid': 0, 'vcol': 0, 'nr': 0, 'module': '', 'type': '', 'end_col': 0, 'col': 0, 'text': 'Line1'}]
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6131 else
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6132 call assert_fails('vimgrep foo *.zzz', 'E480:')
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6133 let expected = []
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6134 endif
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6135 call assert_equal(expected, getqflist())
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6136 cclose
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6137 endfunc
baf0d27eb024 patch 8.2.3713: MS-Windows: no error if vimgrep pattern is not matching
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
6138
26458
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6139 " Test for opening the quickfix window in two tab pages and then closing one
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6140 " of the quickfix windows. This should not make the quickfix buffer unlisted.
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6141 " (github issue #9300).
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6142 func Test_two_qf_windows()
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6143 cexpr "F1:1:line1"
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6144 copen
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6145 tabnew
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6146 copen
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6147 call assert_true(&buflisted)
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6148 cclose
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6149 tabfirst
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6150 call assert_true(&buflisted)
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6151 let bnum = bufnr()
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6152 cclose
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6153 " if all the quickfix windows are closed, then buffer should be unlisted.
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6154 call assert_false(buflisted(bnum))
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6155 %bw!
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6156
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6157 " Repeat the test for a location list
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6158 lexpr "F2:2:line2"
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6159 lopen
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6160 let bnum = bufnr()
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6161 tabnew
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6162 exe "buffer" bnum
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6163 tabfirst
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6164 lclose
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6165 tablast
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6166 call assert_true(buflisted(bnum))
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6167 tabclose
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6168 lopen
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6169 call assert_true(buflisted(bnum))
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6170 lclose
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6171 call assert_false(buflisted(bnum))
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6172 %bw!
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6173 endfunc
824fe105f5b9 patch 8.2.3759: quickfix buffer becomes hidden while still in a window
Bram Moolenaar <Bram@vim.org>
parents: 26364
diff changeset
6174
27507
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6175 " Weird sequence of commands that caused entering a wiped-out buffer
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6176 func Test_lopen_bwipe()
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6177 func R()
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6178 silent! tab lopen
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6179 e x
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6180 silent! lfile
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6181 endfunc
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6182
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6183 cal R()
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6184 cal R()
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6185 cal R()
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6186 bw!
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6187 delfunc R
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6188 endfunc
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6189
27601
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6190 " Another sequence of commands that caused all buffers to be wiped out
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6191 func Test_lopen_bwipe_all()
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6192 let lines =<< trim END
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6193 func R()
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6194 silent! tab lopen
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6195 e foo
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6196 silent! lfile
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6197 endfunc
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6198 cal R()
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6199 exe "norm \<C-W>\<C-V>0"
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6200 cal R()
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6201 bwipe
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6202
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6203 call writefile(['done'], 'Xresult')
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6204 qall!
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6205 END
30669
de319bf98a39 patch 9.0.0669: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29970
diff changeset
6206 call writefile(lines, 'Xscript', 'D')
27601
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6207 if RunVim([], [], '-u NONE -n -X -Z -e -m -s -S Xscript')
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6208 call assert_equal(['done'], readfile('Xresult'))
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6209 endif
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6210
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6211 call delete('Xresult')
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6212 endfunc
cb46dd386990 patch 8.2.4327: may end up with no current buffer
Bram Moolenaar <Bram@vim.org>
parents: 27507
diff changeset
6213
27873
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6214 " Test for calling setqflist() function recursively
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6215 func Test_recursive_setqflist()
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6216 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6217 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6218 autocmd BufWinEnter quickfix call setqflist([], 'r')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6219 augroup END
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6220
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6221 copen
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6222 call assert_fails("call setqflist([], 'a')", 'E952:')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6223
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6224 augroup QF_Test
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6225 au!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6226 augroup END
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6227 %bw!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6228 endfunc
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6229
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6230 " Test for failure to create a new window when selecting a file from the
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6231 " quickfix window
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6232 func Test_cwindow_newwin_fails()
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6233 cgetexpr ["Xfile1:10:L10", "Xfile1:20:L20"]
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6234 cwindow
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6235 only
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6236 let qf_wid = win_getid()
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6237 " create the maximum number of scratch windows
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6238 let hor_win_count = (&lines - 1)/2
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6239 let hor_split_count = hor_win_count - 1
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6240 for s in range(1, hor_split_count) | new | set buftype=nofile | endfor
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6241 call win_gotoid(qf_wid)
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6242 call assert_fails('exe "normal \<CR>"', 'E36:')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6243 %bw!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6244 endfunc
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6245
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6246 " Test for updating the location list when only the location list window is
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6247 " present and the corresponding file window is closed.
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6248 func Test_loclist_update_with_llwin_only()
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6249 %bw!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6250 new
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6251 wincmd w
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6252 lexpr ["Xfile1:1:Line1"]
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6253 lopen
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6254 wincmd p
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6255 close
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6256 call setloclist(2, [], 'r', {'lines': ["Xtest2:2:Line2"]})
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6257 call assert_equal(['Xtest2|2| Line2'], getbufline(winbufnr(2), 1, '$'))
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6258 %bw!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6259 endfunc
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6260
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6261 " Test for getting the quickfix list after a buffer with an error is wiped out
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6262 func Test_getqflist_wiped_out_buffer()
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6263 %bw!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6264 cexpr ["Xtest1:34:Wiped out"]
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6265 let bnum = bufnr('Xtest1')
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6266 call assert_equal(bnum, getqflist()[0].bufnr)
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6267 bw Xtest1
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6268 call assert_equal(0, getqflist()[0].bufnr)
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6269 %bw!
d1af65b322d0 patch 8.2.4462: not enough testing for quickfix code
Bram Moolenaar <Bram@vim.org>
parents: 27855
diff changeset
6270 endfunc
27507
b8a5de86e9d1 patch 8.2.4281: using freed memory with :lopen and :bwipe
Bram Moolenaar <Bram@vim.org>
parents: 27457
diff changeset
6271
28183
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6272 " Test for the status message that is displayed when opening a new quickfix
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6273 " list
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6274 func Test_qflist_statusmsg()
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6275 cexpr "1\n2"
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6276 cexpr "1\n2\n3\ntest_quickfix.vim:1:msg"
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6277 call assert_equal('(4 of 4): msg', v:statusmsg)
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6278 call setqflist([], 'f')
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6279 %bw!
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6280
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6281 " When creating a new quickfix list, if an autocmd changes the quickfix list
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6282 " in the stack, then an error message should be displayed.
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6283 augroup QF_Test
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6284 au!
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6285 au BufEnter test_quickfix.vim colder
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6286 augroup END
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6287 cexpr "1\n2"
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6288 call assert_fails('cexpr "1\n2\n3\ntest_quickfix.vim:1:msg"', 'E925:')
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6289 call setqflist([], 'f')
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6290 augroup QF_Test
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6291 au!
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6292 augroup END
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6293 %bw!
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6294
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6295 augroup QF_Test
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6296 au!
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6297 au BufEnter test_quickfix.vim caddexpr "4"
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6298 augroup END
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6299 call assert_fails('cexpr "1\n2\n3\ntest_quickfix.vim:1:msg"', 'E925:')
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6300 call setqflist([], 'f')
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6301 augroup QF_Test
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6302 au!
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6303 augroup END
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6304 %bw!
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6305 endfunc
2b595cee4c85 patch 8.2.4617: no completion for :scriptnames
Bram Moolenaar <Bram@vim.org>
parents: 27897
diff changeset
6306
29843
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6307 func Test_quickfixtextfunc_recursive()
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6308 func s:QFTfunc(o)
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6309 cgete '0'
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6310 endfunc
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6311 copen
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6312 let &quickfixtextfunc = 's:QFTfunc'
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6313 cex ""
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6314
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6315 let &quickfixtextfunc = ''
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6316 cclose
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6317 endfunc
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6318
29896
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6319 " Test for replacing the location list from an autocmd. This used to cause a
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6320 " read from freed memory.
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6321 func Test_loclist_replace_autocmd()
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6322 %bw!
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6323 call setloclist(0, [], 'f')
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6324 let s:bufnr = bufnr()
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6325 cal setloclist(0, [{'0': 0, '': ''}])
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6326 au BufEnter * cal setloclist(1, [{'t': ''}, {'bufnr': s:bufnr}], 'r')
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6327 lopen
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6328 try
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6329 exe "norm j\<CR>"
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6330 catch
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6331 endtry
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6332 lnext
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6333 %bw!
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6334 call setloclist(0, [], 'f')
c554ac4c17c3 patch 9.0.0286: using freed memory when location list changed in autocmd
Bram Moolenaar <Bram@vim.org>
parents: 29843
diff changeset
6335 endfunc
29843
256418aa72ed patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively
Bram Moolenaar <Bram@vim.org>
parents: 29511
diff changeset
6336
18452
0ac9e720a56e patch 8.1.2220: :cfile does not abort like other quickfix commands
Bram Moolenaar <Bram@vim.org>
parents: 18319
diff changeset
6337 " vim: shiftwidth=2 sts=2 expandtab