aboutsummaryrefslogtreecommitdiff
path: root/tests/basename.test
blob: 25e5493f6f5813008f2e716206d8629dd51aee0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash

[ -f testing.sh ] && . testing.sh

#testing "name" "command" "result" "infile" "stdin"

# Removal of extra /'s
testcmd "/-only" "///////" "/\n" "" ""
testcmd "trailing /" "a//////" "a\n" "" ""
testcmd "combined" "/////a///b///c///d/////" "d\n" "" ""

# Standard suffix behavior.
testcmd "suffix" "a/b/c/d.suffix .suffix" "d\n" "" ""

# A suffix cannot be the entire result.
testcmd "suffix=result" ".txt .txt" ".txt\n" "" ""

# Deal with suffix appearing in the filename
testcmd "reappearing suffix 1" "a.txt.txt .txt" "a.txt\n" "" ""
testcmd "reappearing suffix 2" "a.txt.old .txt" "a.txt.old\n" "" ""

# A suffix should be a real suffix, only a the end.
testcmd "invalid suffix" "isthisasuffix? suffix" "isthisasuffix?\n" "" ""

# Zero-length suffix
testcmd "zero-length suffix" "a/b/c ''" "c\n" "" ""