* plugins/base: code style improvements Quote variables, use $@ and $array[@] instead of $*, typeset some integers, remove unneccesasary binary invocation, use shell features when possible, remove `eval`, &c. * plugins/base: conditional function definitions Instead of functions failing when required tools aren't installed, just don't define the function. Alsö, don't redefine del() if it already exists. * plugins/base: rewrite `usage()` Reimplement disk usage function using Bash syntax and simpler layout, without having to invoke an external binary. * plugins/base: revamp `quiet()` New implementation that is even quieter. * plugins/base: `myip()` * plugins/base: `pickfrom()` * plugins/base: `passgen()` Fix `passgen()` to not need `tr`, remove one subshell, and eliminate a useless `echo`. * plugins/base: `mkcd()` * plugins/base: `mkiso()` * plugins/base: remove `banish-cookies()` Adobe Flash is gone with the wind. Alsö, this would be something someone would do *once* and shouldn't be a function... * plugins/base: `lsgrep` is SC2010 The `lsgrep()` function is *itself* explicitly forbidden by `shellcheck` rule SC2010. Alsö, s/`$*`/`$@` * plugins/base: `mkiso()` Expressly handle unbound parameters. * plugins/base: remove `command_exists` * plugin/base: lint SC2154 && SC2144 Newly undisabled `shellcheck` rules * plugin/base: import libs for tests * plugin/base: `shfmt` Apply `shfmt` using current project settings. My apologies to future `git blame` hunters. ♥
88 lines
2.4 KiB
Bash
88 lines
2.4 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load ../test_helper
|
|
load "${BASH_IT}/vendor/github.com/erichs/composure/composure.sh"
|
|
load ../../lib/appearance
|
|
|
|
cite _about _param _example _group _author _version
|
|
load ../../lib/log
|
|
load ../../lib/helpers
|
|
load ../../plugins/available/base.plugin
|
|
|
|
@test "lib log: basic debug logging with BASH_IT_LOG_LEVEL_ALL" {
|
|
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ALL
|
|
run _log_debug "test test test"
|
|
assert_output "DEBUG: default: test test test"
|
|
}
|
|
|
|
@test "lib log: basic warning logging with BASH_IT_LOG_LEVEL_ALL" {
|
|
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ALL
|
|
run _log_warning "test test test"
|
|
assert_output " WARN: default: test test test"
|
|
}
|
|
|
|
@test "lib log: basic error logging with BASH_IT_LOG_LEVEL_ALL" {
|
|
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ALL
|
|
run _log_error "test test test"
|
|
assert_output "ERROR: default: test test test"
|
|
}
|
|
|
|
@test "lib log: basic debug logging with BASH_IT_LOG_LEVEL_WARNING" {
|
|
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_WARNING
|
|
run _log_debug "test test test"
|
|
refute_output
|
|
}
|
|
|
|
@test "lib log: basic warning logging with BASH_IT_LOG_LEVEL_WARNING" {
|
|
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_WARNING
|
|
run _log_warning "test test test"
|
|
assert_output " WARN: default: test test test"
|
|
}
|
|
|
|
@test "lib log: basic error logging with BASH_IT_LOG_LEVEL_WARNING" {
|
|
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_WARNING
|
|
run _log_error "test test test"
|
|
assert_output "ERROR: default: test test test"
|
|
}
|
|
|
|
|
|
@test "lib log: basic debug logging with BASH_IT_LOG_LEVEL_ERROR" {
|
|
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ERROR
|
|
run _log_debug "test test test"
|
|
refute_output
|
|
}
|
|
|
|
@test "lib log: basic warning logging with BASH_IT_LOG_LEVEL_ERROR" {
|
|
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ERROR
|
|
run _log_warning "test test test"
|
|
refute_output
|
|
}
|
|
|
|
@test "lib log: basic error logging with BASH_IT_LOG_LEVEL_ERROR" {
|
|
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ERROR
|
|
run _log_error "test test test"
|
|
assert_output "ERROR: default: test test test"
|
|
}
|
|
|
|
@test "lib log: basic debug silent logging" {
|
|
run _log_debug "test test test"
|
|
refute_output
|
|
}
|
|
|
|
@test "lib log: basic warning silent logging" {
|
|
run _log_warning "test test test"
|
|
refute_output
|
|
}
|
|
|
|
@test "lib log: basic error silent logging" {
|
|
run _log_error "test test test"
|
|
refute_output
|
|
}
|
|
|
|
@test "lib log: logging with prefix" {
|
|
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ALL
|
|
BASH_IT_LOG_PREFIX="nice: prefix: "
|
|
run _log_debug "test test test"
|
|
assert_output "DEBUG: nice: prefix: test test test"
|
|
}
|