xref: /aosp_15_r20/external/toybox/tests/basename.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh
4*cf5a6c84SAndroid Build Coastguard Worker
5*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin"
6*cf5a6c84SAndroid Build Coastguard Worker
7*cf5a6c84SAndroid Build Coastguard Worker# Removal of extra /'s
8*cf5a6c84SAndroid Build Coastguard Workertestcmd "/-only" "///////" "/\n" "" ""
9*cf5a6c84SAndroid Build Coastguard Workertestcmd "trailing /" "a//////" "a\n" "" ""
10*cf5a6c84SAndroid Build Coastguard Workertestcmd "combined" "/////a///b///c///d/////" "d\n" "" ""
11*cf5a6c84SAndroid Build Coastguard Worker
12*cf5a6c84SAndroid Build Coastguard Worker# Standard suffix behavior.
13*cf5a6c84SAndroid Build Coastguard Workertestcmd "suffix" "a/b/c/d.suffix .suffix" "d\n" "" ""
14*cf5a6c84SAndroid Build Coastguard Worker
15*cf5a6c84SAndroid Build Coastguard Worker# A suffix cannot be the entire result.
16*cf5a6c84SAndroid Build Coastguard Workertestcmd "suffix=result" ".txt .txt" ".txt\n" "" ""
17*cf5a6c84SAndroid Build Coastguard Worker
18*cf5a6c84SAndroid Build Coastguard Worker# Deal with suffix appearing in the filename
19*cf5a6c84SAndroid Build Coastguard Workertestcmd "reappearing suffix 1" "a.txt.txt .txt" "a.txt\n" "" ""
20*cf5a6c84SAndroid Build Coastguard Workertestcmd "reappearing suffix 2" "a.txt.old .txt" "a.txt.old\n" "" ""
21*cf5a6c84SAndroid Build Coastguard Worker
22*cf5a6c84SAndroid Build Coastguard Worker# A suffix should be a real suffix, only a the end.
23*cf5a6c84SAndroid Build Coastguard Workertestcmd "invalid suffix" "isthisasuffix? suffix" "isthisasuffix?\n" "" ""
24*cf5a6c84SAndroid Build Coastguard Worker
25*cf5a6c84SAndroid Build Coastguard Worker# Zero-length suffix
26*cf5a6c84SAndroid Build Coastguard Workertestcmd "zero-length suffix" "a/b/c ''" "c\n" "" ""
27*cf5a6c84SAndroid Build Coastguard Worker
28*cf5a6c84SAndroid Build Coastguard Worker# -s.
29*cf5a6c84SAndroid Build Coastguard Workertestcmd "-s" "-s .txt /a/b/c.txt" "c\n" "" ""
30*cf5a6c84SAndroid Build Coastguard Workertestcmd "-s implies -a" "-s .txt /a/b/c.txt /a/b/d.txt" "c\nd\n" "" ""
31*cf5a6c84SAndroid Build Coastguard Workertestcmd "-a" "-a /a/b/f1 /c/d/f2" "f1\nf2\n" "" ""
32