1#!/bin/bash 2 3[ -f testing.sh ] && . testing.sh 4 5#testing "name" "command" "result" "infile" "stdin" 6 7# Removal of extra /'s 8testing "/-only" "basename ///////" "/\n" "" "" 9testing "trailing /" "basename a//////" "a\n" "" "" 10testing "combined" "basename /////a///b///c///d/////" "d\n" "" "" 11 12# Standard suffix behavior. 13testing "suffix" "basename a/b/c/d.suffix .suffix" "d\n" "" "" 14 15# A suffix cannot be the entire result. 16testing "suffix=result" "basename .txt .txt" ".txt\n" "" "" 17 18# Deal with suffix appearing in the filename 19testing "reappearing suffix 1" "basename a.txt.txt .txt" "a.txt\n" "" "" 20testing "reappearing suffix 2" "basename a.txt.old .txt" "a.txt.old\n" "" "" 21 22# A suffix should be a real suffix, only a the end. 23testing "invalid suffix" "basename isthisasuffix? suffix" "isthisasuffix?\n" "" "" 24 25# Zero-length suffix 26testing "zero-length suffix" "basename a/b/c ''" "c\n" "" "" 27