summaryrefslogtreecommitdiff
path: root/test/lib/completions/perl.exp
blob: 4b46338314a3a9114af7aef490df9a5d6f587a4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
proc setup {} {
    save_env
}; # setup()


proc teardown {} {
    assert_env_unmodified
}; # teardown()


setup


assert_complete_any "perl "


sync_after_int


set test "Second argument should file complete"
set cmd "perl foo fixture1/f"
send "$cmd\t"
expect {
    -re "^$cmd\r\nfoo +foo.d/ *\r\n/@${cmd}oo$" { pass "$test" }
    -re /@ { unresolved "$test at prompt" }
    -re eof { unresolved "eof" }
}


sync_after_int


set test "-I without space should complete directories"
set cmd "perl -Ifixture1/"
send "$cmd\t"
expect {
    -re "^$cmd\r\nbar bar.d/ +foo.d/ *\r\n/@$cmd$" { pass "$test" }
    -re /@ { unresolved "$test at prompt" }
    -re eof { unresolved "eof" }
}


sync_after_int


set test "-I with space should complete directories"
set cmd "perl -I fixture1/"
send "$cmd\t"
expect {
    -re "^$cmd\r\nbar bar.d/ +foo.d/ *\r\n/@$cmd$" { pass "$test" }
    -re /@ { unresolved "$test at prompt" }
    -re eof { unresolved "eof" }
}


sync_after_int


set test "-x without space should complete directories"
set cmd "perl -xfixture1/b"
send "$cmd\t"
expect {
    -re "^${cmd}ar\\\\ bar.d/ *$" { pass "$test" }
    -re /@ { unresolved "$test at prompt" }
    -re eof { unresolved "eof" }
}


sync_after_int


set test "-x with space should complete directories"
set cmd "perl -x fixture1/b"
send "$cmd\t"
expect {
    -re "^${cmd}ar\\\\ bar.d/ *$" { pass "$test" }
    -re /@ { unresolved "$test at prompt" }
    -re eof { unresolved "eof" }
}


sync_after_int


set test "- should complete options"
set options {
    -0 -a -c -C -d -D -e -F -h -i -I -l -m -M -n -p -P -s -S -T -u -U -v -V -w -W -x -X
}
assert_complete $options "perl -"


sync_after_int


teardown