Imported from ../bash-2.04.tar.gz.
This commit is contained in:
parent
b72432fdcc
commit
bb70624e96
387 changed files with 28522 additions and 9334 deletions
90
tests/extglob2.tests
Executable file
90
tests/extglob2.tests
Executable file
|
|
@ -0,0 +1,90 @@
|
|||
#
|
||||
# More ksh-like extended globbing tests, cribbed from zsh-3.1.5
|
||||
#
|
||||
shopt -s extglob
|
||||
|
||||
failed=0
|
||||
while read res str pat; do
|
||||
[[ $res = '#' ]] && continue
|
||||
[[ $str = ${pat} ]]
|
||||
ts=$?
|
||||
[[ $1 = -q ]] || echo "$ts: [[ $str = $pat ]]"
|
||||
if [[ ( $ts -gt 0 && $res = t) || ($ts -eq 0 && $res = f) ]]; then
|
||||
echo "Test failed: [[ $str = $pat ]]"
|
||||
(( failed += 1 ))
|
||||
fi
|
||||
done <<EOT
|
||||
t fofo *(f*(o))
|
||||
t ffo *(f*(o))
|
||||
t foooofo *(f*(o))
|
||||
t foooofof *(f*(o))
|
||||
t fooofoofofooo *(f*(o))
|
||||
f foooofof *(f+(o))
|
||||
f xfoooofof *(f*(o))
|
||||
f foooofofx *(f*(o))
|
||||
t ofxoofxo *(*(of*(o)x)o)
|
||||
f ofooofoofofooo *(f*(o))
|
||||
t foooxfooxfoxfooox *(f*(o)x)
|
||||
f foooxfooxofoxfooox *(f*(o)x)
|
||||
t foooxfooxfxfooox *(f*(o)x)
|
||||
t ofxoofxo *(*(of*(o)x)o)
|
||||
t ofoooxoofxo *(*(of*(o)x)o)
|
||||
t ofoooxoofxoofoooxoofxo *(*(of*(o)x)o)
|
||||
t ofoooxoofxoofoooxoofxoo *(*(of*(o)x)o)
|
||||
f ofoooxoofxoofoooxoofxofo *(*(of*(o)x)o)
|
||||
t ofoooxoofxoofoooxoofxooofxofxo *(*(of*(o)x)o)
|
||||
t aac *(@(a))a@(c)
|
||||
t ac *(@(a))a@(c)
|
||||
f c *(@(a))a@(c)
|
||||
t aaac *(@(a))a@(c)
|
||||
f baaac *(@(a))a@(c)
|
||||
t abcd ?@(a|b)*@(c)d
|
||||
t abcd @(ab|a*@(b))*(c)d
|
||||
t acd @(ab|a*(b))*(c)d
|
||||
t abbcd @(ab|a*(b))*(c)d
|
||||
t effgz @(b+(c)d|e*(f)g?|?(h)i@(j|k))
|
||||
t efgz @(b+(c)d|e*(f)g?|?(h)i@(j|k))
|
||||
t egz @(b+(c)d|e*(f)g?|?(h)i@(j|k))
|
||||
t egzefffgzbcdij *(b+(c)d|e*(f)g?|?(h)i@(j|k))
|
||||
f egz @(b+(c)d|e+(f)g?|?(h)i@(j|k))
|
||||
t ofoofo *(of+(o))
|
||||
t oxfoxoxfox *(oxf+(ox))
|
||||
f oxfoxfox *(oxf+(ox))
|
||||
t ofoofo *(of+(o)|f)
|
||||
# The following is supposed to match only as fo+ofo+ofo
|
||||
t foofoofo @(foo|f|fo)*(f|of+(o))
|
||||
t oofooofo *(of|oof+(o))
|
||||
t fffooofoooooffoofffooofff *(*(f)*(o))
|
||||
# The following tests backtracking in alternation matches
|
||||
t fofoofoofofoo *(fo|foo)
|
||||
# Exclusion
|
||||
t foo !(x)
|
||||
t foo !(x)*
|
||||
f foo !(foo)
|
||||
t foo !(foo)*
|
||||
t foobar !(foo)
|
||||
t foobar !(foo)*
|
||||
t moo.cow !(*.*).!(*.*)
|
||||
f mad.moo.cow !(*.*).!(*.*)
|
||||
f mucca.pazza mu!(*(c))?.pa!(*(z))?
|
||||
t fff !(f)
|
||||
t fff *(!(f))
|
||||
t fff +(!(f))
|
||||
t ooo !(f)
|
||||
t ooo *(!(f))
|
||||
t ooo +(!(f))
|
||||
t foo !(f)
|
||||
t foo *(!(f))
|
||||
t foo +(!(f))
|
||||
f f !(f)
|
||||
f f *(!(f))
|
||||
f f +(!(f))
|
||||
t foot @(!(z*)|*x)
|
||||
f zoot @(!(z*)|*x)
|
||||
t foox @(!(z*)|*x)
|
||||
t zoox @(!(z*)|*x)
|
||||
t foo *(!(foo))
|
||||
f foob !(foo)b*
|
||||
t foobb !(foo)b*
|
||||
EOT
|
||||
echo "$failed tests failed."
|
||||
Loading…
Add table
Add a link
Reference in a new issue