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