proc setup {} { save_env }; # setup() proc teardown {} { assert_env_unmodified }; # teardown() setup set test "Tab should complete" assert_complete {"bar bar.d/" foo.d/} "cd fixtures/shared/default/" $test sync_after_int set test "Tab should complete cd at cursor position" # Try completion set cmd "cd fixtures/shared/default/foo" append cmd \002\002\002; # \002 = ^B = Move cursor left in bash emacs mode #append cmd \033\0133D; # Escape-[-D = Cursor left send "$cmd\t" expect { -re "cd fixtures/shared/default/foo\b\b\b\r\n(\.svn/ +|)bar bar.d/ +foo.d/ *(\.svn/ *|)\r\n/@cd fixtures/shared/default/foo\b\b\b$" { pass "$test" } -re "^cd fixtures/shared/default/foo\b\b\bfoo.d/foo\b\b\b$" { fail "$test: Wrong cursor position" } -re /@ { unresolved "$test at prompt" } default { unresolved "$test" } }; # expect sync_after_int set test "Tab should complete CDPATH" # Set CDPATH assert_bash_exec "CDPATH=\$PWD"; assert_complete "fixtures/shared/default/foo.d/" "cd fixtures/shared/default/fo" $test sync_after_int # Reset CDPATH assert_bash_exec "unset CDPATH" teardown