annotate src/testdir/test_filter_cmd.vim @ 18478:94223687df0e

Added tag v8.1.2233 for changeset e93cab5d0f0f27fad7882f1f412927df055b090d
author Bram Moolenaar <Bram@vim.org>
date Tue, 29 Oct 2019 04:30:05 +0100
parents b912277e3877
children 068337e86133
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9941
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test the :filter command modifier
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 func Test_filter()
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 edit Xdoesnotmatch
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 edit Xwillmatch
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 call assert_equal('"Xwillmatch"', substitute(execute('filter willma ls'), '[^"]*\(".*"\)[^"]*', '\1', ''))
9980
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
7 bwipe Xdoesnotmatch
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
8 bwipe Xwillmatch
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
9
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
10 new
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
11 call setline(1, ['foo1', 'foo2', 'foo3', 'foo4', 'foo5'])
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
12 call assert_equal("\nfoo2\nfoo4", execute('filter /foo[24]/ 1,$print'))
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
13 call assert_equal("\n 2 foo2\n 4 foo4", execute('filter /foo[24]/ 1,$number'))
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
14 call assert_equal("\nfoo2$\nfoo4$", execute('filter /foo[24]/ 1,$list'))
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
15
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
16 call assert_equal("\nfoo1$\nfoo3$\nfoo5$", execute('filter! /foo[24]/ 1,$list'))
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
17 bwipe!
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
18
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
19 command XTryThis echo 'this'
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
20 command XTryThat echo 'that'
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
21 command XDoThat echo 'that'
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
22 let lines = split(execute('filter XTry command'), "\n")
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
23 call assert_equal(3, len(lines))
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
24 call assert_match("XTryThat", lines[1])
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
25 call assert_match("XTryThis", lines[2])
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
26 delcommand XTryThis
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
27 delcommand XTryThat
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
28 delcommand XDoThat
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
29
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
30 map f1 the first key
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
31 map f2 the second key
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
32 map f3 not a key
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
33 let lines = split(execute('filter the map f'), "\n")
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
34 call assert_equal(2, len(lines))
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
35 call assert_match("f2", lines[0])
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
36 call assert_match("f1", lines[1])
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
37 unmap f1
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
38 unmap f2
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
39 unmap f3
9941
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40 endfunc
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
41
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
42 func Test_filter_fails()
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
43 call assert_fails('filter', 'E471:')
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
44 call assert_fails('filter pat', 'E476:')
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
45 call assert_fails('filter /pat', 'E476:')
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
46 call assert_fails('filter /pat/', 'E476:')
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
47 call assert_fails('filter /pat/ asdf', 'E492:')
9980
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
48
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
49 call assert_fails('filter!', 'E471:')
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
50 call assert_fails('filter! pat', 'E476:')
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
51 call assert_fails('filter! /pat', 'E476:')
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
52 call assert_fails('filter! /pat/', 'E476:')
b222552cf0c4 commit https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
Christian Brabandt <cb@256bit.org>
parents: 9941
diff changeset
53 call assert_fails('filter! /pat/ asdf', 'E492:')
9941
e975914c17e9 commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
54 endfunc
10520
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
55
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
56 function s:complete_filter_cmd(filtcmd)
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
57 let keystroke = "\<TAB>\<C-R>=execute('let cmdline = getcmdline()')\<CR>\<C-C>"
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
58 let cmdline = ''
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
59 call feedkeys(':' . a:filtcmd . keystroke, 'ntx')
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
60 return cmdline
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
61 endfunction
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
62
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
63 func Test_filter_cmd_completion()
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
64 " Do not complete pattern
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
65 call assert_equal("filter \t", s:complete_filter_cmd('filter '))
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
66 call assert_equal("filter pat\t", s:complete_filter_cmd('filter pat'))
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
67 call assert_equal("filter /pat\t", s:complete_filter_cmd('filter /pat'))
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
68 call assert_equal("filter /pat/\t", s:complete_filter_cmd('filter /pat/'))
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
69
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
70 " Complete after string pattern
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
71 call assert_equal('filter pat print', s:complete_filter_cmd('filter pat pri'))
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
72
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
73 " Complete after regexp pattern
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
74 call assert_equal('filter /pat/ print', s:complete_filter_cmd('filter /pat/ pri'))
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
75 call assert_equal('filter #pat# print', s:complete_filter_cmd('filter #pat# pri'))
4b152b5f414f commit https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Christian Brabandt <cb@256bit.org>
parents: 9980
diff changeset
76 endfunc
14913
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
77
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
78 func Test_filter_cmd_with_filter()
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
79 new
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
80 set shelltemp
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
81 %!echo "a|b"
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
82 let out = getline(1)
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
83 bw!
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
84 if has('win32')
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
85 let out = trim(out, '" ')
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
86 endif
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
87 call assert_equal('a|b', out)
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
88 set shelltemp&
d4777be849d0 patch 8.1.0468: MS-Windows: filter command with pipe character fails
Bram Moolenaar <Bram@vim.org>
parents: 10520
diff changeset
89 endfunction
14968
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
90
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
91 func Test_filter_commands()
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
92 let g:test_filter_a = 1
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
93 let b:test_filter_b = 2
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
94 let test_filter_c = 3
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
95
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
96 " Test filtering :let command
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
97 let res = split(execute("filter /^test_filter/ let"), "\n")
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
98 call assert_equal(["test_filter_a #1"], res)
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
99
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
100 let res = split(execute("filter /\\v^(b:)?test_filter/ let"), "\n")
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
101 call assert_equal(["test_filter_a #1", "b:test_filter_b #2"], res)
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
102
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
103 unlet g:test_filter_a
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
104 unlet b:test_filter_b
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
105 unlet test_filter_c
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
106
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
107 " Test filtering :set command
14987
5b06b642fbee patch 8.1.0505: filter command test may fail if helplang is not set
Bram Moolenaar <Bram@vim.org>
parents: 14968
diff changeset
108 let helplang=&helplang
5b06b642fbee patch 8.1.0505: filter command test may fail if helplang is not set
Bram Moolenaar <Bram@vim.org>
parents: 14968
diff changeset
109 set helplang=en
14968
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
110 let res = join(split(execute("filter /^help/ set"), "\n")[1:], " ")
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
111 call assert_match('^\s*helplang=\w*$', res)
14987
5b06b642fbee patch 8.1.0505: filter command test may fail if helplang is not set
Bram Moolenaar <Bram@vim.org>
parents: 14968
diff changeset
112 let &helplang=helplang
14968
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
113
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
114 " Test filtering :llist command
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
115 call setloclist(0, [{"filename": "/path/vim.c"}, {"filename": "/path/vim.h"}, {"module": "Main.Test"}])
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
116 let res = split(execute("filter /\\.c$/ llist"), "\n")
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
117 call assert_equal([" 1 /path/vim.c: "], res)
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
118
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
119 let res = split(execute("filter /\\.Test$/ llist"), "\n")
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
120 call assert_equal([" 3 Main.Test: "], res)
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
121
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
122 " Test filtering :jump command
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
123 e file.c
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
124 e file.h
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
125 e file.hs
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
126 let res = split(execute("filter /\.c$/ jumps"), "\n")[1:]
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
127 call assert_equal([" 2 1 0 file.c", ">"], res)
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
128
16433
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
129 " Test filtering :marks command
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
130 b file.c
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
131 mark A
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
132 b file.h
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
133 mark B
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
134 let res = split(execute("filter /\.c$/ marks"), "\n")[1:]
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
135 call assert_equal([" A 1 0 file.c"], res)
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
136
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
137 call setline(1, ['one', 'two', 'three'])
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
138 1mark a
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
139 2mark b
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
140 3mark c
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
141 let res = split(execute("filter /two/ marks abc"), "\n")[1:]
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
142 call assert_equal([" b 2 0 two"], res)
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
143
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
144 bwipe! file.c
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
145 bwipe! file.h
9c206a78ec04 patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents: 14987
diff changeset
146 bwipe! file.hs
14968
c5ec5ddbe814 patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents: 14913
diff changeset
147 endfunc
18454
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
148
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
149 func Test_filter_display()
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
150 edit Xdoesnotmatch
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
151 let @a = '!!willmatch'
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
152 let @b = '!!doesnotmatch'
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
153 let @c = "oneline\ntwoline\nwillmatch\n"
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
154 let @/ = '!!doesnotmatch'
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
155 call feedkeys(":echo '!!doesnotmatch:'\<CR>", 'ntx')
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
156 let lines = map(split(execute('filter /willmatch/ display'), "\n"), 'v:val[5:6]')
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
157
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
158 call assert_true(index(lines, '"a') >= 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
159 call assert_false(index(lines, '"b') >= 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
160 call assert_true(index(lines, '"c') >= 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
161 call assert_false(index(lines, '"/') >= 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
162 call assert_false(index(lines, '":') >= 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
163 call assert_false(index(lines, '"%') >= 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
164
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
165 let lines = map(split(execute('filter /doesnotmatch/ display'), "\n"), 'v:val[5:6]')
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
166 call assert_true(index(lines, '"a') < 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
167 call assert_false(index(lines, '"b') < 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
168 call assert_true(index(lines, '"c') < 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
169 call assert_false(index(lines, '"/') < 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
170 call assert_false(index(lines, '":') < 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
171 call assert_false(index(lines, '"%') < 0)
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
172
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
173 bwipe!
b912277e3877 patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents: 16433
diff changeset
174 endfunc