2
1
mirror of https://github.com/kdabir/has.git synced 2024-09-18 17:01:29 +02:00

add coreutils and archiving utilities to known commands

- [x] command mapping `*coreutils` to `gnu_coreutils`
- [x]  add test for gnu_coreutils
- [x] 💚 add archiving packages to travis
- [x]  add test for archiving commands
This commit is contained in:
Virgil 2019-05-21 07:12:04 +10:00
parent 0e92f29a24
commit 96c3afe771
3 changed files with 35 additions and 0 deletions

View File

@ -142,3 +142,23 @@ teardown() {
[[ "printf '%b\n' ${lines[0]}" =~ "${checkmark}" ]]
[[ "printf '%b\n' ${lines[2]}" =~ '✗' ]]
}
@test "testing archiving commands" {
run $has tar unzip gzip xz unar pv
[ "$status" -eq 0 ]
[ "$(echo "${output}" | grep "tar")" ]
[ "$(echo "${output}" | grep "unzip")" ]
[ "$(echo "${output}" | grep "xz")" ]
[ "$(echo "${output}" | grep "unar")" ]
[ "$(echo "${output}" | grep "pv")" ]
}
@test "testing coreutils commands" {
run $has coreutils sed awk grep sudo file linux-utils
[ "$status" -eq 0 ]
[ "$(echo "${lines[0]}" | grep "gnu_coreutils")" ]
[ "$(echo "${lines[5]}" | grep "file")" ]
[ "$(echo "${lines[6]}" | grep "gnu_coreutils")" ]
}

View File

@ -5,6 +5,9 @@ addons:
update: true
packages:
- bc
- pv
- xz-utils
- unar
env:
global:

12
has
View File

@ -81,6 +81,7 @@ __detect(){
homebrew) command="brew";;
awsebcli) command="eb";;
awscli) command="aws";;
*coreutils|linux-utils) command="gnu_coreutils" ;;
*) command=${name} ;;
esac
@ -94,6 +95,10 @@ __detect(){
vim|emacs|nano|subl) __dynamic_detect--version "${command}" ;;
bats|tree|ack|autojump) __dynamic_detect--version "${command}" ;;
jq|ag|brew) __dynamic_detect--version "${command}" ;;
apt|apt-get|aptitude) __dynamic_detect--version "${command}" ;;
sed|awk|grep|file|sudo) __dynamic_detect--version "${command}" ;;
gzip|xz|unar|bzip2) __dynamic_detect--version "${command}" ;;
tar|pv) __dynamic_detect--version "${command}" ;;
R) __dynamic_detect--version "${command}" ;;
node|npm|yarn) __dynamic_detect--version "${command}" ;;
@ -105,6 +110,9 @@ __detect(){
lein) __dynamic_detect--version "${command}" ;;
aws|eb|sls|gcloud) __dynamic_detect--version "${command}" ;;
# commands that need -v flag
unzip) __dynamic_detect-v "${command}" ;;
# commands that need -version flag
ant|java|javac) __dynamic_detect-version "${command}" ;;
scala|kotlin) __dynamic_detect-version "${command}" ;;
@ -142,6 +150,10 @@ __detect(){
status=$?
;;
## use 'readlink' to test for GNU coreutils
# readlink (GNU coreutils) 8.28
gnu_coreutils) __dynamic_detect--version readlink ;;
has)
version=$(has 2>&1 | grep -Eo "${REGEX_SIMPLE_VERSION}" | head -1)
status=$?