Skip to content

Commit a49ef6c

Browse files
committed
Add some vader tests for completion feature
I want to improve file/path completion, so add some tests to cover existing behaviour (at least existing behaviour as I understand it).
1 parent 2e46de4 commit a49ef6c

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

test/feature/completion.vader

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
Before:
2+
enew!
3+
only!
4+
cd include/completion
5+
let w:testing = 1
6+
7+
After:
8+
cd -
9+
10+
Execute (command: flags, match all):
11+
Assert len(grepper#complete('-', '', v:null)) > 3
12+
AssertEqual count(grepper#complete('-', '', v:null), '-cword '), 1
13+
AssertEqual count(grepper#complete('-', '', v:null), '-grepprg '), 1
14+
AssertEqual count(grepper#complete('-', '', v:null), '-tool '), 1
15+
16+
Execute (command: flags, match one):
17+
AssertEqual grepper#complete('-noquickf', '', v:null), ['-noquickfix ']
18+
19+
Execute (command: flags, match some):
20+
Assert len(grepper#complete('-no', '', v:null)) > 2
21+
AssertEqual count(grepper#complete('-no', '', v:null), '-switch '), 0
22+
AssertEqual count(grepper#complete('-no', '', v:null), '-noswitch '), 1
23+
24+
Execute (command: flags, -dir options):
25+
Assert len(grepper#complete('', 'Grepper -dir ', v:null)) > 2
26+
AssertEqual count(grepper#complete('', 'Grepper -dir ', v:null), 'cwd '), 1
27+
AssertEqual count(grepper#complete('', 'Grepper -dir ', v:null), 'repo '), 1
28+
29+
Execute (command: flags, -stop completion):
30+
Assert grepper#complete('', 'Grepper -stop ', v:null)[0] =~# '\d\+'
31+
32+
Execute (command: flags, -tool options):
33+
Assert len(grepper#complete('', 'Grepper -tool ', v:null)) > 1
34+
AssertEqual count(grepper#complete('', 'Grepper -tool ', v:null), 'grep '), 1
35+
36+
Execute (command: flags, -tool options):
37+
Assert len(grepper#complete('', 'Grepper -tool ', v:null)) > 1
38+
AssertEqual count(grepper#complete('', 'Grepper -tool ', v:null), 'grep '), 1
39+
40+
Execute (prompt: relative path, empty string):
41+
AssertEqual grepper#complete_files('x ', v:null, v:null), ['x ./foo/']
42+
43+
Execute (prompt: relative path, whitespace only):
44+
AssertEqual grepper#complete_files('x ', v:null, v:null), ['x ./foo/']
45+
46+
Execute (prompt: sub-path, ./ exact match):
47+
AssertEqual grepper#complete_files('x ./', v:null, v:null), ['x ./foo/']
48+
49+
Execute (prompt: sub-path, ./ and word chars):
50+
AssertEqual grepper#complete_files('x ./f', v:null, v:null), ['x ./foo/']
51+
52+
Execute (prompt: nested sub-path, e.g. ./foo/):
53+
AssertEqual grepper#complete_files('x ./foo/', v:null, v:null), ['x ./foo/bar/']
54+
55+
Execute (prompt: absolute path, / exact match):
56+
AssertEqual count(grepper#complete_files('x /', v:null, v:null), 'x /bin/'), 1
57+
AssertEqual count(grepper#complete_files('x /', v:null, v:null), 'x /var/'), 1
58+
59+
Execute (prompt: absolute path, / and word chars):
60+
AssertEqual count(grepper#complete_files('x /b', v:null, v:null), 'x /bin/'), 1
61+
AssertEqual count(grepper#complete_files('x /b', v:null, v:null), 'x /var/'), 0

test/include/completion/foo/bar/baz

Whitespace-only changes.

0 commit comments

Comments
 (0)