check_programs || return $?
load_config || return $?
+ while getopts "3fo" opt; do
+ case "$opt" in
+ "3") lib="mp3.sh" ;;
+ "f") lib="flac.sh" ;;
+ "o") lib="opus.sh" ;;
+ *) errlog "unknown option" && return 1 ;;
+ esac
+ done
+
[ -f "$LIB_PATH/$lib" ] \
|| errlog "lib $LIB_PATH/$lib not found" \
|| return $?
assert_failure
assert_line --index 0 "❌ ERROR: lib src/lib/vorbis.sh not found"
+}
+
+@test "failed: lib mp3.sh not found" {
+ run main -3
+
+ assert_failure
+ assert_line --index 0 "❌ ERROR: lib src/lib/mp3.sh not found"
+}
+
+@test "failed: lib flac.sh not found" {
+ run main -f
+
+ assert_failure
+ assert_line --index 0 "❌ ERROR: lib src/lib/flac.sh not found"
+}
+
+@test "failed: lib opus.sh not found" {
+ run main -o
+
+ assert_failure
+ assert_line --index 0 "❌ ERROR: lib src/lib/opus.sh not found"
+}
+
+@test "failed: unknown option" {
+ run main -x
+
+ assert_failure
+ assert_line --index 1 "❌ ERROR: unknown option"
}
\ No newline at end of file