Blob Blame History Raw
proc setup {} {
    assert_bash_exec {HOME=$TESTDIR}
    save_env
}


proc teardown {} {
    assert_env_unmodified
}


setup


set test "Tab should complete hostnames"
assert_complete [get_hosts] "xhost " $test


sync_after_int


set test "Tab should complete partial hostname"
# Build string list of hostnames, starting with the character of the first hostname
set hosts {}
set char ""
foreach h [get_hosts] {
    if {$char == ""} {set char [string range $h 0 0]}
        # Only append hostname if starting with $char
    if {[string range $h 0 0] == "$char"} {
        lappend hosts $h
    }
}
assert_complete $hosts "xhost $char" $test -expect-cmd-minus "$char"


sync_after_int


set test "Tab should complete hostnames prefixed with +"
# Build string list of hostnames, prefixed with plus (+)
set hosts {}
foreach h [get_hosts] {
    lappend hosts "+$h"
}
assert_complete $hosts "xhost \+" $test


sync_after_int


set test "Tab should complete partial hostname prefixed with +"
    # Build string list of hostnames, starting with character of first host.
set hosts {}
foreach h [get_hosts] {
    if {$char == ""} {set char [string range $h 0 0]}
        # Only append hostname if starting with $char
    if {[string range $h 0 0] == "$char"} {
        lappend hosts "+$h"
    }
}
assert_complete $hosts "xhost +$char" $test -expect-cmd-minus "\+$char"


sync_after_int


set test "Tab should complete hostnames prefixed with -"
    # Build string list of hostnames, prefix with minus (-)
set hosts {}
foreach h [get_hosts] {
    lappend hosts "-$h"
}
assert_complete $hosts "xhost -" $test


sync_after_int


set test "Tab should complete partial hostname prefixed with -"
    # Build list of hostnames, starting with character of first host
set hosts {}
foreach h [get_hosts] {
    if {$char == ""} {set char [string range $h 0 0]}
        # Only append hostname if starting with $char
    if {[string range $h 0 0] == "$char"} {
        lappend hosts "-$h"
    }
}
assert_complete $hosts "xhost -$char" $test -expect-cmd-minus "-$char"


sync_after_int


teardown