diff options
Diffstat (limited to 't/percent.t')
-rwxr-xr-x | t/percent.t | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/t/percent.t b/t/percent.t new file mode 100755 index 0000000..c3b97b7 --- /dev/null +++ b/t/percent.t @@ -0,0 +1,110 @@ +#!/bin/sh +export "PATH=.:$PATH" + +printf '1..13\n' +printf '# percent rules\n' + +tap3 'literal matches' <<'EOF' +xe -ap bcd echo found -- abc bcd defg +>>> +found +EOF + +tap3 'multiple patterns' <<'EOF' +xe -ap one echo 1 + two echo 2 + three echo 3 -- zero one two three four five +>>> +1 +2 +3 +EOF + +tap3 '{} expansion' <<'EOF' +xe -ap bcd echo {} -- abc bcd defg +>>> +bcd +EOF + +tap3 '% expansion' <<'EOF' +xe -ap bcd echo % -- abc bcd defg +>>> +bcd +EOF + +tap3 'dirnames' <<'EOF' +xe -ap bcd echo % -- abc bcd /tmp/bcd /tmp/abc +>>> +bcd +/tmp/bcd +EOF + +tap3 '? glob' <<'EOF' +xe -ap "b?d" echo % -- abc bcd b3d defg +>>> +bcd +b3d +EOF + +tap3 '* glob' <<'EOF' +xe -ap "b*d" echo % -- bd bed bad bugged bx zbd b/d +>>> +bd +bed +bad +bugged +EOF + +tap3 'multiple * glob' <<'EOF' +xe -ap "b*g*d" echo % -- bd bed bugged bx zbd bagdad badger ba/gd/ad +>>> +bugged +bagdad +EOF + +tap3 'multiple ** glob' <<'EOF' +xe -ap "b**g**d" echo % -- bd bed bugged bx zbd bagdad badger ba/gd/ad +>>> +bugged +bagdad +ba/gd/ad +EOF + +tap3 '/ slash' <<'EOF' +xe -ap a/b echo 1 + c///d echo 2 + "*" echo 3 -- a/b a//b a/ b c/d /c////d +>>> +1 +1 +3 +3 +2 +3 +EOF + +tap3 '[] ranges' <<'EOF' +xe -ap "[abc]" echo "1%" + "[d-g]" echo "2%" + "[^xyz-]" echo "3%" + "[!-vw]" echo "4%" + % echo "5%" -- a c d e g h w x - +>>> +1a +1c +2d +2e +2g +3h +3w +4x +5- +EOF + +tap3 '{} alternation' <<'EOF' +xe -ap "{a,bc,def*}" echo % -- x a abc bc bcd def defx xdef +>>> +a +bc +def +defx +EOF + +tap3 '% match' <<'EOF' +xe -ap %.c echo obj/%.o -- foo.c bar.cc meh/quux.c +>>> +obj/foo.o +meh/obj/quux.o +EOF |