summaryrefslogtreecommitdiff
path: root/test/lib/completions/alias.exp
blob: 9dba4e6223042654600dc953d443e17389f9fc34 (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
proc setup {} {
    assert_bash_exec "unalias -a";  # Remove all aliases
    assert_bash_exec "alias foo=bar"
    assert_bash_exec "alias bar='foo foo'"
    save_env
}


proc teardown {} {
    assert_bash_exec "unalias -a";  # Remove all aliases
    assert_env_unmodified
}


setup


set test "Tab should complete alias"
    # Try completion
set cmd "alias "
assert_complete {bar foo} $cmd $test


sync_after_int


set test "Tab should complete alias at cursor position"
    # Try completion
set cmd "alias foo"
append cmd \002\002\002; # \002 = ^B = Move cursor left in bash emacs mode
send "$cmd\t"
expect {
    -re "^alias foo\b\b\b\r\nbar +foo *\r\n/@alias foo\b\b\b$" { pass "$test" }
    -re "^alias foo\b\b\bfoo=foo\b\b\b$" { fail "$test: Wrong cursor position" }
    -re /@ { unresolved "$test" }
    default { unresolved "$test" }
}


sync_after_int


teardown