From d3a34ae51a0c155fc5a143565b8d4e0ff8a6fab7 Mon Sep 17 00:00:00 2001 From: John D Pell Date: Tue, 25 Jan 2022 15:14:13 -0800 Subject: [PATCH] lib/helpers: remove log message from `_command_exists()` et al - and move them to `lib/utilities` --- lib/helpers.bash | 61 -------------------------------------- lib/utilities.bash | 36 +++++++++++++++++++++++ test/lib/helpers.bats | 40 ------------------------- test/lib/utilities.bats | 65 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 101 insertions(+), 101 deletions(-) mode change 100644 => 100755 test/lib/helpers.bats mode change 100644 => 100755 test/lib/utilities.bats diff --git a/lib/helpers.bash b/lib/helpers.bash index 5bd88f546d..e6861439d1 100644 --- a/lib/helpers.bash +++ b/lib/helpers.bash @@ -19,51 +19,6 @@ case "$OSTYPE" in 'darwin'*) BASH_IT_SED_I_PARAMETERS=('-i' '') ;; esac -function _command_exists() { - _about 'checks for existence of a command' - _param '1: command to check' - _param '2: (optional) log message to include when command not found' - _example '$ _command_exists ls && echo exists' - _group 'lib' - local msg="${2:-Command '$1' does not exist}" - if type -t "$1" > /dev/null; then - return 0 - else - _log_debug "$msg" - return 1 - fi -} - -function _binary_exists() { - _about 'checks for existence of a binary' - _param '1: binary to check' - _param '2: (optional) log message to include when binary not found' - _example '$ _binary_exists ls && echo exists' - _group 'lib' - local msg="${2:-Binary '$1' does not exist}" - if type -P "$1" > /dev/null; then - return 0 - else - _log_debug "$msg" - return 1 - fi -} - -function _completion_exists() { - _about 'checks for existence of a completion' - _param '1: command to check' - _param '2: (optional) log message to include when completion is found' - _example '$ _completion_exists gh && echo exists' - _group 'lib' - local msg="${2:-Completion for '$1' already exists}" - if complete -p "$1" &> /dev/null; then - _log_debug "$msg" - return 0 - else - return 1 - fi -} - function _bash_it_homebrew_check() { if _binary_exists 'brew'; then # Homebrew is installed @@ -194,22 +149,6 @@ function bash-it() { fi } -function _is_function() { - _about 'sets $? to true if parameter is the name of a function' - _param '1: name of alleged function' - _param '2: (optional) log message to include when function not found' - _group 'lib' - _example '$ _is_function ls && echo exists' - _group 'lib' - local msg="${2:-Function '$1' does not exist}" - if LC_ALL=C type -t "$1" | _bash-it-egrep -q 'function'; then - return 0 - else - _log_debug "$msg" - return 1 - fi -} - function _bash-it-aliases() { _about 'summarizes available bash_it aliases' _group 'lib' diff --git a/lib/utilities.bash b/lib/utilities.bash index 63734a0f8f..cc178a74b0 100644 --- a/lib/utilities.bash +++ b/lib/utilities.bash @@ -72,6 +72,42 @@ function _bash-it-egrep() { "${BASH_IT_GREP:-/usr/bin/grep}" -E "$@" } +function _command_exists() { + : _about 'checks for existence of a command' + : _param '1: command to check' + : _example '$ _command_exists ls && echo exists' + : _group 'lib' + + type -t "${1?}" > /dev/null +} + +function _binary_exists() { + : _about 'checks for existence of a binary' + : _param '1: binary to check' + : _example '$ _binary_exists ls && echo exists' + : _group 'lib' + + type -P "${1?}" > /dev/null +} + +function _completion_exists() { + : _about 'checks for existence of a completion' + : _param '1: command to check' + : _example '$ _completion_exists gh && echo exists' + : _group 'lib' + + complete -p "${1?}" &> /dev/null +} + +function _is_function() { + : _about 'sets $? to true if parameter is the name of a function' + : _param '1: name of alleged function' + : _example '$ _is_function ls && echo exists' + : _group 'lib' + + declare -F "${1?}" > /dev/null +} + ########################################################################### # Component-specific functions (component is either an alias, a plugin, or a # completion). diff --git a/test/lib/helpers.bats b/test/lib/helpers.bats old mode 100644 new mode 100755 index 2386b4b140..2f431fdaf5 --- a/test/lib/helpers.bats +++ b/test/lib/helpers.bats @@ -26,46 +26,6 @@ function local_setup { assert_file_exist "$BASH_IT/profiles/test-bad-type.bash_it" } -@test "helpers: _command_exists function exists" { - run type -a _command_exists &> /dev/null - assert_success -} - -@test "helpers: _command_exists function positive test ls" { - run _command_exists ls - assert_success -} - -@test "helpers: _command_exists function positive test bash-it" { - run _command_exists bash-it - assert_success -} - -@test "helpers: _command_exists function negative test" { - run _command_exists __addfkds_dfdsjdf - assert_failure -} - -@test "helpers: _binary_exists function exists" { - run type -a _binary_exists &> /dev/null - assert_success -} - -@test "helpers: _binary_exists function positive test ls" { - run _binary_exists ls - assert_success -} - -@test "helpers: _binary_exists function negative test function" { - run _binary_exists _binary_exists - assert_failure -} - -@test "helpers: _binary_exists function negative test" { - run _binary_exists __addfkds_dfdsjdf - assert_failure -} - @test "helpers: bash-it help aliases ag" { run bash-it help aliases "ag" assert_line -n 0 "ag='ag --smart-case --pager=\"less -MIRFX'" diff --git a/test/lib/utilities.bats b/test/lib/utilities.bats old mode 100644 new mode 100755 index a0968fce44..c56579b76e --- a/test/lib/utilities.bats +++ b/test/lib/utilities.bats @@ -7,6 +7,71 @@ function local_setup { setup_test_fixture } +@test "utilities: _is_function: _command_exists" { + run _is_function _command_exists + assert_success +} + +@test "utilities: _command_exists function positive test ls" { + run _command_exists ls + assert_success +} + +@test "utilities: _command_exists function positive test bash-it" { + run _command_exists bash-it + assert_success +} + +@test "utilities: _command_exists function negative test" { + run _command_exists "__addfkds_dfdsjdf_${RANDOM:-}" + assert_failure +} + +@test "utilities: _is_function: _binary_exists" { + run _is_function _binary_exists + assert_success +} + +@test "utilities: _binary_exists function positive test ls" { + run _binary_exists ls + assert_success +} + +@test "utilities: _binary_exists function negative test function" { + run _binary_exists _binary_exists + assert_failure +} + +@test "utilities: _binary_exists function negative test" { + run _binary_exists "__addfkds_dfdsjdf_${RANDOM:-}" + assert_failure +} + +@test "utilities: _is_function: _completion_exists" { + run _is_function _completion_exists + assert_success +} + +@test "utilities: _is_function new function" { + local teh_new_func="__addfkds_dfdsjdf_${RANDOM:-}" + run _is_function "${teh_new_func?}" + assert_failure + + cite "${teh_new_func?}" + run _is_function "${teh_new_func?}" + assert_success +} + +@test "utilities: _command_exists new function" { + local teh_new_func="__addfkds_dfdsjdf_${RANDOM:-}" + run _command_exists "${teh_new_func?}" + assert_failure + + cite "${teh_new_func?}" + run _command_exists "${teh_new_func?}" + assert_success +} + @test "_bash-it-component-item-is-enabled() - for a disabled item" { run _bash-it-component-item-is-enabled aliases svn assert_failure