Blame test/unit/_count_args.exp

Packit 8462d6
proc setup {} {
Packit 8462d6
    assert_bash_exec {unset COMP_CWORD COMP_LINE COMP_POINT COMP_WORDS}
Packit 8462d6
    save_env
Packit 8462d6
}
Packit 8462d6
Packit 8462d6
Packit 8462d6
proc teardown {} {
Packit 8462d6
    assert_bash_exec {unset args COMP_CWORD COMP_LINE COMP_POINT COMP_WORDS}
Packit 8462d6
    # Delete 'COMP_WORDBREAKS' occupying two lines
Packit 8462d6
    assert_env_unmodified {
Packit 8462d6
        /COMP_WORDBREAKS=/{N
Packit 8462d6
        d
Packit 8462d6
        }
Packit 8462d6
    }
Packit 8462d6
}
Packit 8462d6
Packit 8462d6
Packit 8462d6
setup
Packit 8462d6
Packit 8462d6
Packit 8462d6
set test "_count_args should run without errors"
Packit 8462d6
assert_bash_exec {_count_args > /dev/null} $test
Packit 8462d6
Packit 8462d6
Packit 8462d6
sync_after_int
Packit 8462d6
Packit 8462d6
Packit 8462d6
set test "a b| should set args to 1";  # | = cursor position
Packit 8462d6
set cmd {COMP_WORDS=(a b); COMP_CWORD=1; COMP_LINE='a b'; COMP_POINT=3; _count_args; echo $args}
Packit 8462d6
assert_bash_list 1 $cmd $test
Packit 8462d6
Packit 8462d6
Packit 8462d6
sync_after_int
Packit 8462d6
Packit 8462d6
Packit 8462d6
set test "a b|c should set args to 1";  # | = cursor position
Packit 8462d6
set cmd {COMP_WORDS=(a bc); COMP_CWORD=1; COMP_LINE='a bc'; COMP_POINT=3; _count_args; echo $args}
Packit 8462d6
assert_bash_list 1 $cmd $test
Packit 8462d6
Packit 8462d6
Packit 8462d6
sync_after_int
Packit 8462d6
Packit 8462d6
Packit 8462d6
set test "a b c| should set args to 2";  # | = cursor position
Packit 8462d6
set cmd {COMP_WORDS=(a b c); COMP_CWORD=2; COMP_LINE='a b c'; COMP_POINT=4; _count_args; echo $args}
Packit 8462d6
assert_bash_list 2 $cmd $test
Packit 8462d6
Packit 8462d6
Packit 8462d6
sync_after_int
Packit 8462d6
Packit 8462d6
Packit 8462d6
set test "a b| c should set args to 1";  # | = cursor position
Packit 8462d6
set cmd {COMP_WORDS=(a b c); COMP_CWORD=1; COMP_LINE='a b c'; COMP_POINT=3; _count_args; echo $args}
Packit 8462d6
assert_bash_list 1 $cmd $test
Packit 8462d6
Packit 8462d6
Packit 8462d6
sync_after_int
Packit 8462d6
Packit 8462d6
Packit 8462d6
set test "a b -c| d should set args to 2";  # | = cursor position
Packit 8462d6
set cmd {COMP_WORDS=(a b -c d); COMP_CWORD=2; COMP_LINE='a b -c d'; COMP_POINT=6; _count_args; echo $args}
Packit 8462d6
assert_bash_list 2 $cmd $test
Packit 8462d6
Packit 8462d6
Packit 8462d6
sync_after_int
Packit 8462d6
Packit 8462d6
Packit 8462d6
teardown