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 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
proc setup {} {
save_env
}
proc teardown {} {
assert_env_unmodified {/PERL5LIB=/d}
}
setup
assert_complete_any "perl "
sync_after_int
set test "Second argument should file complete"
set cmd "perl foo $::srcdir/fixtures/shared/default/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 -I$::srcdir/fixtures/shared/default/"
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 $::srcdir/fixtures/shared/default/"
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 -x$::srcdir/fixtures/shared/default/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 $::srcdir/fixtures/shared/default/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 -" $test
sync_after_int
assert_no_complete "perl -e "
sync_after_int
assert_complete_any "perl -V:install"
sync_after_int
assert_complete_any "perl -V::install"
sync_after_int
# Assuming that File::Spec and friends are always installed...
assert_complete_any "perl -MFile"
sync_after_int
assert_complete_any "perl -MFile::Sp"
sync_after_int
assert_complete_any "perl -MFile::Spec::Func"
sync_after_int
assert_complete_any "perl -M-File"
sync_after_int
assert_complete_any "perl -m-File::"
sync_after_int
# Make sure at least our mock Devel::* module is around
assert_bash_exec {OLDPERL5LIB=$PERL5LIB; export PERL5LIB=$TESTDIR/fixtures/perl}
assert_complete_any "perl -d:"
sync_after_int
assert_complete_any "perl -dt:"
sync_after_int
assert_bash_exec {export PERL5LIB=$OLDPERL5LIB; unset -v OLDPERL5LIB}
teardown
|