annotate src/testdir/test_quickfix.vim @ 8897:a410390e340b v7.4.1735

commit https://github.com/vim/vim/commit/451f849fd6282a4facd4f0f58af62837443fb5a6 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Apr 14 17:16:22 2016 +0200 patch 7.4.1735 Problem: It is not possible to only see part of the message history. It is not possible to clear messages. Solution: Add a count to ":messages" and a clear argument. (Yasuhiro Matsumoto)
author Christian Brabandt <cb@256bit.org>
date Thu, 14 Apr 2016 17:30:07 +0200
parents 7f974075eb8f
children 25c2031e9f9f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test for the quickfix commands.
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 if !has('quickfix')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 finish
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 endif
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6
8649
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
7 set encoding=utf-8
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
8
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 " Tests for the :clist and :llist commands
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 function XlistTests(cchar)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 let Xlist = a:cchar . 'list'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 let Xgetexpr = a:cchar . 'getexpr'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 " With an empty list, command should return error
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 exe Xgetexpr . ' []'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 exe 'silent! ' . Xlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 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
18
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 " Populate the list and then try
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 exe Xgetexpr . " ['non-error 1', 'Xtestfile1:1:3:Line1',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 \ 'non-error 2', 'Xtestfile2:2:2:Line2',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 \ 'non-error 3', 'Xtestfile3:3:1:Line3']"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 " List only valid entries
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 redir => result
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 exe Xlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 redir END
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 let l = split(result, "\n")
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 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
30 \ ' 4 Xtestfile2:2 col 2: Line2',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31 \ ' 6 Xtestfile3:3 col 1: Line3'], l)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33 " List all the entries
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
34 redir => result
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
35 exe Xlist . "!"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
36 redir END
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
37 let l = split(result, "\n")
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
38 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
39 \ ' 3: non-error 2', ' 4 Xtestfile2:2 col 2: Line2',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40 \ ' 5: non-error 3', ' 6 Xtestfile3:3 col 1: Line3'], l)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
41
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
42 " List a range of errors
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
43 redir => result
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
44 exe Xlist . " 3,6"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
45 redir END
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
46 let l = split(result, "\n")
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
47 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
48 \ ' 6 Xtestfile3:3 col 1: Line3'], l)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
49
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
50 redir => result
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
51 exe Xlist . "! 3,4"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
52 redir END
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
53 let l = split(result, "\n")
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
54 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
55
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
56 redir => result
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
57 exe Xlist . " -6,-4"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
58 redir END
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
59 let l = split(result, "\n")
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
60 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
61
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
62 redir => result
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
63 exe Xlist . "! -5,-3"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
64 redir END
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
65 let l = split(result, "\n")
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
66 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
67 \ ' 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
68 endfunction
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
69
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
70 function Test_clist()
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
71 call XlistTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
72 call XlistTests('l')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
73 endfunction
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
74
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
75 " 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
76 " 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
77 " already set by the caller.
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
78 function XageTests(cchar)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
79 let Xolder = a:cchar . 'older'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
80 let Xnewer = a:cchar . 'newer'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
81 let Xgetexpr = a:cchar . 'getexpr'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
82 if a:cchar == 'c'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
83 let Xgetlist = 'getqflist()'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
84 else
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
85 let Xgetlist = 'getloclist(0)'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
86 endif
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
87
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
88 " Jumping to a non existent list should return error
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
89 exe 'silent! ' . Xolder . ' 99'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
90 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
91
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
92 exe 'silent! ' . Xnewer . ' 99'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
93 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
94
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
95 " Add three quickfix/location lists
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
96 exe Xgetexpr . " ['Xtestfile1:1:3:Line1']"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
97 exe Xgetexpr . " ['Xtestfile2:2:2:Line2']"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
98 exe Xgetexpr . " ['Xtestfile3:3:1:Line3']"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
99
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
100 " Go back two lists
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
101 exe Xolder
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
102 exe 'let l = ' . Xgetlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
103 call assert_equal('Line2', l[0].text)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
104
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
105 " Go forward two lists
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
106 exe Xnewer
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
107 exe 'let l = ' . Xgetlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
108 call assert_equal('Line3', l[0].text)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
109
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
110 " Test for the optional count argument
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
111 exe Xolder . ' 2'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
112 exe 'let l = ' . Xgetlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
113 call assert_equal('Line1', l[0].text)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
114
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
115 exe Xnewer . ' 2'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
116 exe 'let l = ' . Xgetlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
117 call assert_equal('Line3', l[0].text)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
118 endfunction
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
119
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
120 function Test_cage()
7540
b910bb01832a commit https://github.com/vim/vim/commit/cfc0a350a9fa04f1b0cfa1ba31fbd2847376513f
Christian Brabandt <cb@256bit.org>
parents: 7513
diff changeset
121 let list = [{'bufnr': 1, 'lnum': 1}]
b910bb01832a commit https://github.com/vim/vim/commit/cfc0a350a9fa04f1b0cfa1ba31fbd2847376513f
Christian Brabandt <cb@256bit.org>
parents: 7513
diff changeset
122 call setqflist(list)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
123 call XageTests('c')
7540
b910bb01832a commit https://github.com/vim/vim/commit/cfc0a350a9fa04f1b0cfa1ba31fbd2847376513f
Christian Brabandt <cb@256bit.org>
parents: 7513
diff changeset
124
b910bb01832a commit https://github.com/vim/vim/commit/cfc0a350a9fa04f1b0cfa1ba31fbd2847376513f
Christian Brabandt <cb@256bit.org>
parents: 7513
diff changeset
125 call setloclist(0, list)
7502
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
126 call XageTests('l')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
127 endfunction
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
128
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
129 " 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
130 " commands
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
131 function XwindowTests(cchar)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
132 let Xwindow = a:cchar . 'window'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
133 let Xclose = a:cchar . 'close'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
134 let Xopen = a:cchar . 'open'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
135 let Xgetexpr = a:cchar . 'getexpr'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
136
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
137 " Create a list with no valid entries
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
138 exe Xgetexpr . " ['non-error 1', 'non-error 2', 'non-error 3']"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
139
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
140 " Quickfix/Location window should not open with no valid errors
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
141 exe Xwindow
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
142 call assert_true(winnr('$') == 1)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
143
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
144 " Create a list with valid entries
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
145 exe Xgetexpr . " ['Xtestfile1:1:3:Line1', 'Xtestfile2:2:2:Line2',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
146 \ 'Xtestfile3:3:1:Line3']"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
147
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
148 " Open the window
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
149 exe Xwindow
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
150 call assert_true(winnr('$') == 2 && winnr() == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
151 \ getline('.') ==# 'Xtestfile1|1 col 3| Line1')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
152
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
153 " Close the window
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
154 exe Xclose
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
155 call assert_true(winnr('$') == 1)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
156
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
157 " Create a list with no valid entries
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
158 exe Xgetexpr . " ['non-error 1', 'non-error 2', 'non-error 3']"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
159
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
160 " Open the window
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
161 exe Xopen . ' 5'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
162 call assert_true(winnr('$') == 2 && getline('.') ==# '|| non-error 1'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
163 \ && winheight('.') == 5)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
164
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
165 " 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
166 wincmd t
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
167 exe Xopen . ' 7'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
168 call assert_true(winnr('$') == 2 && winnr() == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
169 \ winheight('.') == 7 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
170 \ getline('.') ==# '|| non-error 1')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
171
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
172
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
173 " Calling cwindow should close the quickfix window with no valid errors
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
174 exe Xwindow
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
175 call assert_true(winnr('$') == 1)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
176 endfunction
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
177
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
178 function Test_cwindow()
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
179 call XwindowTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
180 call XwindowTests('l')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
181 endfunction
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
182
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
183 " 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
184 " commands.
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
185 function XfileTests(cchar)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
186 let Xfile = a:cchar . 'file'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
187 let Xgetfile = a:cchar . 'getfile'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
188 let Xaddfile = a:cchar . 'addfile'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
189 if a:cchar == 'c'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
190 let Xgetlist = 'getqflist()'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
191 else
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
192 let Xgetlist = 'getloclist(0)'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
193 endif
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
194
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
195 call writefile(['Xtestfile1:700:10:Line 700',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
196 \ 'Xtestfile2:800:15:Line 800'], 'Xqftestfile1')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
197
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
198 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
199 exe Xfile . ' Xqftestfile1'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
200 exe 'let l = ' . Xgetlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
201 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
202 \ 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
203 \ 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
204
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
205 " Run cfile/lfile from a modified buffer
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
206 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
207 silent! put ='Quickfix'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
208 exe 'silent! ' . Xfile . ' Xqftestfile1'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
209 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
210
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
211 call writefile(['Xtestfile3:900:30:Line 900'], 'Xqftestfile1')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
212 exe Xaddfile . ' Xqftestfile1'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
213 exe 'let l = ' . Xgetlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
214 call assert_true(len(l) == 3 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
215 \ 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
216
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
217 call writefile(['Xtestfile1:222:77:Line 222',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
218 \ 'Xtestfile2:333:88:Line 333'], 'Xqftestfile1')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
219
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
220 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
221 exe Xgetfile . ' Xqftestfile1'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
222 exe 'let l = ' . Xgetlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
223 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
224 \ 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
225 \ 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
226
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
227 call delete('Xqftestfile1')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
228 endfunction
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
229
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
230 function Test_cfile()
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
231 call XfileTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
232 call XfileTests('l')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
233 endfunction
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
234
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
235 " 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
236 " :lgetbuffer commands.
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
237 function XbufferTests(cchar)
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
238 let Xbuffer = a:cchar . 'buffer'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
239 let Xgetbuffer = a:cchar . 'getbuffer'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
240 let Xaddbuffer = a:cchar . 'addbuffer'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
241 if a:cchar == 'c'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
242 let Xgetlist = 'getqflist()'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
243 else
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
244 let Xgetlist = 'getloclist(0)'
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
245 endif
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
246
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
247 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
248 silent! call setline(1, ['Xtestfile7:700:10:Line 700',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
249 \ 'Xtestfile8:800:15:Line 800'])
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
250 exe Xbuffer . "!"
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
251 exe 'let l = ' . Xgetlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
252 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
253 \ 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
254 \ 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
255
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
256 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
257 silent! call setline(1, ['Xtestfile9:900:55:Line 900',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
258 \ 'Xtestfile10:950:66:Line 950'])
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
259 exe Xgetbuffer
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
260 exe 'let l = ' . Xgetlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
261 call assert_true(len(l) == 2 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
262 \ 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
263 \ 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
264
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
265 enew!
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
266 silent! call setline(1, ['Xtestfile11:700:20:Line 700',
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
267 \ 'Xtestfile12:750:25:Line 750'])
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
268 exe Xaddbuffer
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
269 exe 'let l = ' . Xgetlist
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
270 call assert_true(len(l) == 4 &&
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
271 \ 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
272 \ 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
273 \ l[3].lnum == 750 && l[3].col == 25 && l[3].text ==# 'Line 750')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
274
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
275 endfunction
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 function Test_cbuffer()
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
278 call XbufferTests('c')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
279 call XbufferTests('l')
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
280 endfunction
3e306ae760d0 commit https://github.com/vim/vim/commit/da59dd5da6440c3410866ed61ce169a2012ba5bd
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
281
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
282 function Test_nomem()
7545
4c922651fd78 commit https://github.com/vim/vim/commit/28fb79db6b52d1154e8dc63d227673648c2fce15
Christian Brabandt <cb@256bit.org>
parents: 7540
diff changeset
283 call alloc_fail(GetAllocId('qf_dirname_start'), 0, 0)
7593
87e607fb6853 commit https://github.com/vim/vim/commit/a260b87d9da17f605666630f18c1ed909c2b8bae
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
284 call assert_fails('vimgrep vim runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
285
7545
4c922651fd78 commit https://github.com/vim/vim/commit/28fb79db6b52d1154e8dc63d227673648c2fce15
Christian Brabandt <cb@256bit.org>
parents: 7540
diff changeset
286 call alloc_fail(GetAllocId('qf_dirname_now'), 0, 0)
7593
87e607fb6853 commit https://github.com/vim/vim/commit/a260b87d9da17f605666630f18c1ed909c2b8bae
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
287 call assert_fails('vimgrep vim runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
288
7545
4c922651fd78 commit https://github.com/vim/vim/commit/28fb79db6b52d1154e8dc63d227673648c2fce15
Christian Brabandt <cb@256bit.org>
parents: 7540
diff changeset
289 call alloc_fail(GetAllocId('qf_namebuf'), 0, 0)
7593
87e607fb6853 commit https://github.com/vim/vim/commit/a260b87d9da17f605666630f18c1ed909c2b8bae
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
290 call assert_fails('cfile runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
291
7545
4c922651fd78 commit https://github.com/vim/vim/commit/28fb79db6b52d1154e8dc63d227673648c2fce15
Christian Brabandt <cb@256bit.org>
parents: 7540
diff changeset
292 call alloc_fail(GetAllocId('qf_errmsg'), 0, 0)
7593
87e607fb6853 commit https://github.com/vim/vim/commit/a260b87d9da17f605666630f18c1ed909c2b8bae
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
293 call assert_fails('cfile runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
294
7545
4c922651fd78 commit https://github.com/vim/vim/commit/28fb79db6b52d1154e8dc63d227673648c2fce15
Christian Brabandt <cb@256bit.org>
parents: 7540
diff changeset
295 call alloc_fail(GetAllocId('qf_pattern'), 0, 0)
7593
87e607fb6853 commit https://github.com/vim/vim/commit/a260b87d9da17f605666630f18c1ed909c2b8bae
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
296 call assert_fails('cfile runtest.vim', 'E342:')
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
297
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
298 endfunc
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
299
7677
85a7a945fb87 commit https://github.com/vim/vim/commit/62ef797496c6243d111c596a592a8ef8c1d1e710
Christian Brabandt <cb@256bit.org>
parents: 7593
diff changeset
300 function Test_helpgrep()
85a7a945fb87 commit https://github.com/vim/vim/commit/62ef797496c6243d111c596a592a8ef8c1d1e710
Christian Brabandt <cb@256bit.org>
parents: 7593
diff changeset
301 helpgrep quickfix
85a7a945fb87 commit https://github.com/vim/vim/commit/62ef797496c6243d111c596a592a8ef8c1d1e710
Christian Brabandt <cb@256bit.org>
parents: 7593
diff changeset
302 copen
85a7a945fb87 commit https://github.com/vim/vim/commit/62ef797496c6243d111c596a592a8ef8c1d1e710
Christian Brabandt <cb@256bit.org>
parents: 7593
diff changeset
303 " This wipes out the buffer, make sure that doesn't cause trouble.
85a7a945fb87 commit https://github.com/vim/vim/commit/62ef797496c6243d111c596a592a8ef8c1d1e710
Christian Brabandt <cb@256bit.org>
parents: 7593
diff changeset
304 cclose
85a7a945fb87 commit https://github.com/vim/vim/commit/62ef797496c6243d111c596a592a8ef8c1d1e710
Christian Brabandt <cb@256bit.org>
parents: 7593
diff changeset
305 endfunc
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7502
diff changeset
306
7710
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
307 func Test_errortitle()
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
308 augroup QfBufWinEnter
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
309 au!
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
310 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
311 augroup END
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
312 copen
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
313 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
314 call setqflist(a)
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
315 call assert_equal(':setqflist()', g:a)
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
316 augroup QfBufWinEnter
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
317 au!
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
318 augroup END
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
319 augroup! QfBufWinEnter
bf58e9f8d52a commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af
Christian Brabandt <cb@256bit.org>
parents: 7677
diff changeset
320 endfunc
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
321
8603
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
322 func Test_vimgreptitle()
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
323 augroup QfBufWinEnter
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
324 au!
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
325 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
326 augroup END
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
327 try
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
328 vimgrep /pattern/j file
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
329 catch /E480/
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
330 endtry
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
331 copen
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
332 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
333 augroup QfBufWinEnter
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
334 au!
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
335 augroup END
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
336 augroup! QfBufWinEnter
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
337 endfunc
bfa74b84c41c commit https://github.com/vim/vim/commit/5584df65a0ca2315d1eebc13c54a448bee4d0758
Christian Brabandt <cb@256bit.org>
parents: 8597
diff changeset
338
8558
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
339 function XqfTitleTests(cchar)
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
340 let Xgetexpr = a:cchar . 'getexpr'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
341 if a:cchar == 'c'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
342 let Xgetlist = 'getqflist()'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
343 else
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
344 let Xgetlist = 'getloclist(0)'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
345 endif
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
346 let Xopen = a:cchar . 'open'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
347 let Xclose = a:cchar . 'close'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
348
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
349 exe Xgetexpr . " ['file:1:1:message']"
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
350 exe 'let l = ' . Xgetlist
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
351 if a:cchar == 'c'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
352 call setqflist(l, 'r')
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
353 else
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
354 call setloclist(0, l, 'r')
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
355 endif
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
356
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
357 exe Xopen
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
358 if a:cchar == 'c'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
359 let title = ':setqflist()'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
360 else
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
361 let title = ':setloclist()'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
362 endif
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
363 call assert_equal(title, w:quickfix_title)
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
364 exe Xclose
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
365 endfunction
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
366
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
367 " Tests for quickfix window's title
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
368 function Test_qf_title()
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
369 call XqfTitleTests('c')
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
370 call XqfTitleTests('l')
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
371 endfunction
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
372
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
373 " Tests for 'errorformat'
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
374 function Test_efm()
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
375 let save_efm = &efm
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
376 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
377 cgetexpr ['WWWW', 'EEEE', 'CCCC']
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
378 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
379 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
380 cgetexpr ['WWWW', 'GGGG', 'EEEE', 'CCCC']
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
381 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
382 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
383 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
384 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
385 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
386 let &efm = save_efm
22aecf80378e commit https://github.com/vim/vim/commit/e27dba499aaaf2ffe9f0da45f062450b434cddaa
Christian Brabandt <cb@256bit.org>
parents: 7710
diff changeset
387 endfunction
8597
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
388
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
389 " 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
390 " 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
391 " 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
392 " 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
393 " instead creating new windows.
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
394 " 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
395 " window it belongs to.
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
396 "
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
397 " Set up the test environment:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
398 function! ReadTestProtocol(name)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
399 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
400 let word = substitute(base, '\v(.*)\..*', '\1', '')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
401
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
402 setl modifiable
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
403 setl noreadonly
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
404 setl noswapfile
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
405 setl bufhidden=delete
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
406 %del _
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
407 " For problem 2:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
408 " '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
409 setl buftype=nofile
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
410
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
411 call setline(1, word)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
412
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
413 setl nomodified
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
414 setl nomodifiable
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
415 setl readonly
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
416 exe 'doautocmd BufRead ' . substitute(a:name, '\v^test://(.*)', '\1', '')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
417 endfunction
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
418
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
419 function Test_locationlist()
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
420 enew
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
421
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
422 augroup testgroup
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
423 au!
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
424 autocmd BufReadCmd test://* call ReadTestProtocol(expand("<amatch>"))
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
425 augroup END
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
426
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
427 let words = [ "foo", "bar", "baz", "quux", "shmoo", "spam", "eggs" ]
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
428
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
429 let qflist = []
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
430 for word in words
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
431 call add(qflist, {'filename': 'test://' . word . '.txt', 'text': 'file ' . word . '.txt', })
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
432 " NOTE: problem 1:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
433 " intentionally not setting 'lnum' so that the quickfix entries are not
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
434 " valid
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
435 call setloclist(0, qflist, ' ')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
436 endfor
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
437
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
438 " Test A
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
439 lrewind
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
440 enew
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
441 lopen
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
442 lnext
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
443 lnext
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
444 lnext
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
445 lnext
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
446 vert split
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
447 wincmd L
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
448 lopen
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
449 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
450 lnext
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
451 let fileName = expand("%")
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
452 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
453 let locationListFileName = substitute(getline(line('.')), '\([^|]*\)|.*', '\1', '')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
454 let fileName = substitute(fileName, '\\', '/', 'g')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
455 let locationListFileName = substitute(locationListFileName, '\\', '/', 'g')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
456 call assert_equal("test://bar.txt", fileName)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
457 call assert_equal("test://bar.txt", locationListFileName)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
458
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
459 wincmd n | only
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
460
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
461 " Test B:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
462 lrewind
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
463 lopen
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
464 2
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
465 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
466 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
467 3
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
468 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
469 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
470 4
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
471 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
472 call assert_equal(2, winnr('$'))
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
473 wincmd n | only
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
474
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
475 " Test C:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
476 lrewind
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
477 lopen
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
478 " Let's move the location list window to the top to check whether it (the
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
479 " first window found) will be reused when we try to open new windows:
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
480 wincmd K
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
481 2
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
482 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
483 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
484 3
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
485 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
486 wincmd p
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
487 4
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
488 exe "normal \<CR>"
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
489 1wincmd w
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
490 call assert_equal('quickfix', &buftype)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
491 2wincmd w
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
492 let bufferName = expand("%")
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
493 let bufferName = substitute(bufferName, '\\', '/', 'g')
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
494 call assert_equal('test://quux.txt', bufferName)
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
495
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
496 wincmd n | only
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
497
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
498 augroup! testgroup
51de88bf954d commit https://github.com/vim/vim/commit/1ff2b64b11e7d263c6853745d5e594bd8f94b91e
Christian Brabandt <cb@256bit.org>
parents: 8558
diff changeset
499 endfunction
8605
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
500
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
501 function Test_locationlist_curwin_was_closed()
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
502 augroup testgroup
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
503 au!
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
504 autocmd BufReadCmd t call R(expand("<amatch>"))
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
505 augroup END
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
506
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
507 function! R(n)
8605
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
508 quit
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
509 endfunc
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
510
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
511 new
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
512 let q = []
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
513 call add(q, {'filename': 't' })
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
514 call setloclist(0, q)
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
515 call assert_fails('lrewind', 'E924:')
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
516
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
517 augroup! testgroup
536b9b88d1ca commit https://github.com/vim/vim/commit/0899d698030ec076eb26352cda1ea334ab0819d9
Christian Brabandt <cb@256bit.org>
parents: 8603
diff changeset
518 endfunction
8649
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
519
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
520 " More tests for 'errorformat'
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
521 function! Test_efm1()
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
522 if !has('unix')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
523 " The 'errorformat' setting is different on non-Unix systems.
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
524 " This test works only on Unix-like systems.
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
525 return
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
526 endif
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
527
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
528 let l = [
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
529 \ '"Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
530 \ '"Xtestfile", line 6 col 19; this is an error',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
531 \ 'gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
532 \ 'Xtestfile:9: parse error before `asd''',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
533 \ 'make: *** [vim] Error 1',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
534 \ 'in file "Xtestfile" linenr 10: there is an error',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
535 \ '',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
536 \ '2 returned',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
537 \ '"Xtestfile", line 11 col 1; this is an error',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
538 \ '"Xtestfile", line 12 col 2; this is another error',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
539 \ '"Xtestfile", line 14:10; this is an error in column 10',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
540 \ '=Xtestfile=, line 15:10; this is another error, but in vcol 10 this time',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
541 \ '"Xtestfile", linenr 16: yet another problem',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
542 \ 'Error in "Xtestfile" at line 17:',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
543 \ 'x should be a dot',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
544 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
545 \ ' ^',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
546 \ 'Error in "Xtestfile" at line 18:',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
547 \ 'x should be a dot',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
548 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
549 \ '.............^',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
550 \ 'Error in "Xtestfile" at line 19:',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
551 \ 'x should be a dot',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
552 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
553 \ '--------------^',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
554 \ 'Error in "Xtestfile" at line 20:',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
555 \ 'x should be a dot',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
556 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
557 \ ' ^',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
558 \ '',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
559 \ 'Does anyone know what is the problem and how to correction it?',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
560 \ '"Xtestfile", line 21 col 9: What is the title of the quickfix window?',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
561 \ '"Xtestfile", line 22 col 9: What is the title of the quickfix window?'
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
562 \ ]
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
563
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
564 call writefile(l, 'Xerrorfile1')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
565 call writefile(l[:-2], 'Xerrorfile2')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
566
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
567 let m = [
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
568 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 2',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
569 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 3',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
570 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 4',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
571 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 5',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
572 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 6',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
573 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 7',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
574 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 8',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
575 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 9',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
576 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 10',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
577 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 11',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
578 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 12',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
579 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 13',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
580 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 14',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
581 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 15',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
582 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 16',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
583 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
584 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
585 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
586 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
587 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 21',
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
588 \ ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 22'
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
589 \ ]
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
590 call writefile(m, 'Xtestfile')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
591
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
592 let save_efm = &efm
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
593 set efm+==%f=\\,\ line\ %l%*\\D%v%*[^\ ]\ %m
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
594 set efm^=%AError\ in\ \"%f\"\ at\ line\ %l:,%Z%p^,%C%m
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
595
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
596 exe 'cf Xerrorfile2'
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
597 clast
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
598 copen
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
599 call assert_equal(':cf Xerrorfile2', w:quickfix_title)
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
600 wincmd p
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
601
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
602 exe 'cf Xerrorfile1'
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
603 call assert_equal([4, 12], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
604 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
605 call assert_equal([6, 19], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
606 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
607 call assert_equal([9, 2], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
608 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
609 call assert_equal([10, 2], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
610 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
611 call assert_equal([11, 1], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
612 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
613 call assert_equal([12, 2], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
614 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
615 call assert_equal([14, 10], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
616 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
617 call assert_equal([15, 3, 10], [line('.'), col('.'), virtcol('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
618 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
619 call assert_equal([16, 2], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
620 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
621 call assert_equal([17, 6], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
622 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
623 call assert_equal([18, 7], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
624 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
625 call assert_equal([19, 8], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
626 cn
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
627 call assert_equal([20, 9], [line('.'), col('.')])
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
628 clast
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
629 cprev
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
630 cprev
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
631 wincmd w
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
632 call assert_equal(':cf Xerrorfile1', w:quickfix_title)
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
633 wincmd p
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
634
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
635 let &efm = save_efm
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
636 call delete('Xerrorfile1')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
637 call delete('Xerrorfile2')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
638 call delete('Xtestfile')
ec78ecf15de7 commit https://github.com/vim/vim/commit/7eba3d2cbf19e731dc51652bc26099cc253d538a
Christian Brabandt <cb@256bit.org>
parents: 8605
diff changeset
639 endfunction
8702
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
640
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
641 function XquickfixChangedByAutocmd(cchar)
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
642 let Xolder = a:cchar . 'older'
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
643 let Xgetexpr = a:cchar . 'getexpr'
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
644 let Xrewind = a:cchar . 'rewind'
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
645 if a:cchar == 'c'
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
646 let Xsetlist = 'setqflist('
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
647 let ErrorNr = 'E925'
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
648 function! ReadFunc()
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
649 colder
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
650 cgetexpr []
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
651 endfunc
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
652 else
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
653 let Xsetlist = 'setloclist(0,'
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
654 let ErrorNr = 'E926'
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
655 function! ReadFunc()
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
656 lolder
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
657 lgetexpr []
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
658 endfunc
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
659 endif
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
660
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
661 augroup testgroup
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
662 au!
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
663 autocmd BufReadCmd t call ReadFunc()
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
664 augroup END
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
665
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
666 bwipe!
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
667 let words = [ "a", "b" ]
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
668 let qflist = []
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
669 for word in words
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
670 call add(qflist, {'filename': 't'})
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
671 exec "call " . Xsetlist . "qflist, '')"
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
672 endfor
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
673 exec "call assert_fails('" . Xrewind . "', '" . ErrorNr . ":')"
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
674
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
675 augroup! testgroup
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
676 endfunc
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
677
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
678 function Test_quickfix_was_changed_by_autocmd()
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
679 call XquickfixChangedByAutocmd('c')
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
680 call XquickfixChangedByAutocmd('l')
39d6e4f2f748 commit https://github.com/vim/vim/commit/ffec3c53496d49668669deabc0724ec78e2274fd
Christian Brabandt <cb@256bit.org>
parents: 8649
diff changeset
681 endfunction
8716
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
682
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
683 func Test_caddbuffer_to_empty()
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
684 helpgr quickfix
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
685 call setqflist([], 'r')
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
686 cad
8722
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
687 try
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
688 cn
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
689 catch
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
690 " number of matches is unknown
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
691 call assert_true(v:exception =~ 'E553:')
ecb57048c2a8 commit https://github.com/vim/vim/commit/f68f1d70799631d38461c36cd59d08cf839b010d
Christian Brabandt <cb@256bit.org>
parents: 8716
diff changeset
692 endtry
8716
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
693 quit!
4ce26276caeb commit https://github.com/vim/vim/commit/8b20179c657b4266dff115486ca68c6a50324071
Christian Brabandt <cb@256bit.org>
parents: 8702
diff changeset
694 endfunc
8751
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
695
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
696 func Test_cgetexpr_works()
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
697 " this must not crash Vim
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
698 cgetexpr [$x]
7f974075eb8f commit https://github.com/vim/vim/commit/89c64d557dbe0bacfdd7b2872411b00cc1523d85
Christian Brabandt <cb@256bit.org>
parents: 8722
diff changeset
699 endfunc