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 "basename /-only" "basename ///////" "/\n" "" ""
9testing "basename trailing /" "basename a//////" "a\n" "" ""
10testing "basename combined" "basename /////a///b///c///d/////" "d\n" "" ""
11
12# Standard suffix behavior.
13testing "basename suffix" "basename a/b/c/d.suffix .suffix" "d\n" "" ""
14
15# A suffix cannot be the entire result.
16testing "basename suffix=result" "basename .txt .txt" ".txt\n" "" ""
17
18# Deal with suffix appearing in the filename
19testing "basename reappearing suffix 1" "basename a.txt.txt .txt" "a.txt\n" "" ""
20testing "basename 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 "basename invalid suffix" "basename isthisasuffix? suffix" "isthisasuffix?\n" "" ""
24