diff --git a/completion/available/bash-it.completion.bash b/completion/available/bash-it.completion.bash index b61692f3..705edd94 100644 --- a/completion/available/bash-it.completion.bash +++ b/completion/available/bash-it.completion.bash @@ -65,10 +65,10 @@ _bash-it-comp() prev="${COMP_WORDS[COMP_CWORD-1]}" chose_opt="${COMP_WORDS[1]}" file_type="${COMP_WORDS[2]}" - opts="help show enable disable update search migrate" + opts="disable enable help migrate search show update" case "${chose_opt}" in show) - local show_args="plugins aliases completions" + local show_args="aliases completions plugins" COMPREPLY=( $(compgen -W "${show_args}" -- ${cur}) ) return 0 ;; @@ -77,7 +77,7 @@ _bash-it-comp() _bash-it-comp-list-available aliases return 0 else - local help_args="plugins aliases completions migrate update" + local help_args="aliases completions migrate plugins update" COMPREPLY=( $(compgen -W "${help_args}" -- ${cur}) ) return 0 fi diff --git a/test/completion/bash-it.completion.bats b/test/completion/bash-it.completion.bats index 35d27312..e2f1f415 100644 --- a/test/completion/bash-it.completion.bats +++ b/test/completion/bash-it.completion.bats @@ -72,11 +72,76 @@ function __check_completion () { echo "${COMPREPLY[@]}" } -@test "completion bash-it: help aliases" { +@test "completion bash-it: help - show options" { + run __check_completion 'bash-it help ' + assert_line "0" "aliases completions migrate plugins update" +} + +@test "completion bash-it: help - aliases v" { run __check_completion 'bash-it help aliases v' assert_line "0" "vagrant vault vim" } +@test "completion bash-it: update - show no options" { + run __check_completion 'bash-it update ' + assert_line "0" "" +} + +@test "completion bash-it: search - show no options" { + run __check_completion 'bash-it search ' + assert_line "0" "" +} + +@test "completion bash-it: migrate - show no options" { + run __check_completion 'bash-it migrate ' + assert_line "0" "" +} + +@test "completion bash-it: show options" { + run __check_completion 'bash-it ' + assert_line "0" "disable enable help migrate search show update" +} + +@test "completion bash-it: bash-ti - show options" { + run __check_completion 'bash-ti ' + assert_line "0" "disable enable help migrate search show update" +} + +@test "completion bash-it: shit - show options" { + run __check_completion 'shit ' + assert_line "0" "disable enable help migrate search show update" +} + +@test "completion bash-it: bashit - show options" { + run __check_completion 'bashit ' + assert_line "0" "disable enable help migrate search show update" +} + +@test "completion bash-it: batshit - show options" { + run __check_completion 'batshit ' + assert_line "0" "disable enable help migrate search show update" +} + +@test "completion bash-it: bash_it - show options" { + run __check_completion 'bash_it ' + assert_line "0" "disable enable help migrate search show update" +} + +@test "completion bash-it: show - show options" { + run __check_completion 'bash-it show ' + assert_line "0" "aliases completions plugins" +} + +@test "completion bash-it: enable - show options" { + run __check_completion 'bash-it enable ' + assert_line "0" "alias completion plugin" +} + +@test "completion bash-it: enable - show options a" { + run __check_completion 'bash-it enable a' + assert_line "0" "alias" +} + @test "completion bash-it: disable - show options" { run __check_completion 'bash-it disable ' assert_line "0" "alias completion plugin" @@ -84,7 +149,6 @@ function __check_completion () { @test "completion bash-it: disable - show options a" { run __check_completion 'bash-it disable a' - assert_line "0" "alias" } @@ -255,6 +319,30 @@ function __check_completion () { assert_line "0" "docker-compose docker-machine docker" } +@test "completion bash-it: enable - provide the docker-* completions when nothing is enabled with the old location and name" { + ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/aliases/enabled/docker-compose.aliases.bash + assert [ -L "$BASH_IT/aliases/enabled/docker-compose.aliases.bash" ] + + run __check_completion 'bash-it enable completion docker' + assert_line "0" "docker docker-compose docker-machine" +} + +@test "completion bash-it: enable - provide the docker-* completions when nothing is enabled with the old location and priority-based name" { + ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/aliases/enabled/150---docker-compose.aliases.bash + assert [ -L "$BASH_IT/aliases/enabled/150---docker-compose.aliases.bash" ] + + run __check_completion 'bash-it enable completion docker' + assert_line "0" "docker docker-compose docker-machine" +} + +@test "completion bash-it: enable - provide the docker-* completions when nothing is enabled with the new location and priority-based name" { + ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/enabled/150---docker-compose.aliases.bash + assert [ -L "$BASH_IT/enabled/150---docker-compose.aliases.bash" ] + + run __check_completion 'bash-it enable completion docker' + assert_line "0" "docker docker-compose docker-machine" +} + @test "completion bash-it: enable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and name" { ln -s $BASH_IT/plugins/available/todo.plugin.bash $BASH_IT/plugins/enabled/todo.plugin.bash assert [ -L "$BASH_IT/plugins/enabled/todo.plugin.bash" ]