(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description) op: assign_op.Equal rhs: {(SQ <'wildmatch tests'>)} spids: [4] ) ] redirects: [] ) (C {<.>} {<'./test-lib.sh'>}) (command.ShFunction name: match body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Number 1)} {<Id.Lit_Equals '='>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<test_expect_success>} { (DQ <'wildmatch: match \''> ($ Id.VSub_Number 3) <'\' \''> ($ Id.VSub_Number 4) <'\''> ) } { (DQ <'\n'> <'\t test-wildmatch wildmatch \''> ($ Id.VSub_Number 3) <'\' \''> ($ Id.VSub_Number 4) <'\'\n'> <'\t'> ) } ) ] spids: [22 35] ) ] else_action: [ (C {<test_expect_success>} { (DQ <'wildmatch: no match \''> ($ Id.VSub_Number 3) <'\' \''> ($ Id.VSub_Number 4) <'\''> ) } { (DQ <'\n'> <'\t ! test-wildmatch wildmatch \''> ($ Id.VSub_Number 3) <'\' \''> ($ Id.VSub_Number 4) <'\'\n'> <'\t'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: imatch body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Number 1)} {<Id.Lit_Equals '='>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<test_expect_success>} { (DQ <'iwildmatch: match \''> ($ Id.VSub_Number 2) <'\' \''> ($ Id.VSub_Number 3) <'\''> ) } { (DQ <'\n'> <'\t test-wildmatch iwildmatch \''> ($ Id.VSub_Number 2) <'\' \''> ($ Id.VSub_Number 3) <'\'\n'> <'\t'> ) } ) ] spids: [95 108] ) ] else_action: [ (C {<test_expect_success>} { (DQ <'iwildmatch: no match \''> ($ Id.VSub_Number 2) <'\' \''> ($ Id.VSub_Number 3) <'\''> ) } { (DQ <'\n'> <'\t ! test-wildmatch iwildmatch \''> ($ Id.VSub_Number 2) <'\' \''> ($ Id.VSub_Number 3) <'\'\n'> <'\t'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: pathmatch body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Number 1)} {<Id.Lit_Equals '='>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<test_expect_success>} { (DQ <'pathmatch: match \''> ($ Id.VSub_Number 2) <'\' \''> ($ Id.VSub_Number 3) <'\''> ) } { (DQ <'\n'> <'\t test-wildmatch pathmatch \''> ($ Id.VSub_Number 2) <'\' \''> ($ Id.VSub_Number 3) <'\'\n'> <'\t'> ) } ) ] spids: [168 181] ) ] else_action: [ (C {<test_expect_success>} { (DQ <'pathmatch: no match \''> ($ Id.VSub_Number 2) <'\' \''> ($ Id.VSub_Number 3) <'\''> ) } { (DQ <'\n'> <'\t ! test-wildmatch pathmatch \''> ($ Id.VSub_Number 2) <'\' \''> ($ Id.VSub_Number 3) <'\'\n'> <'\t'> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (C {<match>} {<1>} {<1>} {<foo>} {<foo>}) (C {<match>} {<0>} {<0>} {<foo>} {<bar>}) (C {<match>} {<1>} {<1>} {(SQ )} {(DQ )}) (C {<match>} {<1>} {<1>} {<foo>} {(SQ <'???'>)}) (C {<match>} {<0>} {<0>} {<foo>} {(SQ <'??'>)}) (C {<match>} {<1>} {<1>} {<foo>} {(SQ <'*'>)}) (C {<match>} {<1>} {<1>} {<foo>} {(SQ <'f*'>)}) (C {<match>} {<0>} {<0>} {<foo>} {(SQ <'*f'>)}) (C {<match>} {<1>} {<1>} {<foo>} {(SQ <'*foo*'>)}) (C {<match>} {<1>} {<1>} {<foobar>} {(SQ <'*ob*a*r*'>)}) (C {<match>} {<1>} {<1>} {<aaaaaaabababab>} {(SQ <'*ab'>)}) (C {<match>} {<1>} {<1>} {(SQ <'foo*'>)} {(SQ <'foo\\*'>)}) (C {<match>} {<0>} {<0>} {<foobar>} {(SQ <'foo\\*bar'>)}) (C {<match>} {<1>} {<1>} {(SQ <'f\\oo'>)} {(SQ <'f\\\\oo'>)}) (C {<match>} {<1>} {<1>} {<ball>} {(SQ <'*[al]?'>)}) (C {<match>} {<0>} {<0>} {<ten>} {(SQ <'[ten]'>)}) (C {<match>} {<0>} {<1>} {<ten>} {(SQ <'**[!te]'>)}) (C {<match>} {<0>} {<0>} {<ten>} {(SQ <'**[!ten]'>)}) (C {<match>} {<1>} {<1>} {<ten>} {(SQ <'t[a-g]n'>)}) (C {<match>} {<0>} {<0>} {<ten>} {(SQ <'t[!a-g]n'>)}) (C {<match>} {<1>} {<1>} {<ton>} {(SQ <'t[!a-g]n'>)}) (C {<match>} {<1>} {<1>} {<ton>} {(SQ <'t[^a-g]n'>)}) (C {<match>} {<1>} {<x>} {(SQ <'a]b'>)} {(SQ <'a[]]b'>)}) (C {<match>} {<1>} {<x>} {<a-b>} {(SQ <'a[]-]b'>)}) (C {<match>} {<1>} {<x>} {(SQ <'a]b'>)} {(SQ <'a[]-]b'>)}) (C {<match>} {<0>} {<x>} {<aab>} {(SQ <'a[]-]b'>)}) (C {<match>} {<1>} {<x>} {<aab>} {(SQ <'a[]a-]b'>)}) (C {<match>} {<1>} {<1>} {(SQ <']'>)} {(SQ <']'>)}) (C {<match>} {<0>} {<0>} {(SQ <'foo/baz/bar'>)} {(SQ <'foo*bar'>)}) (C {<match>} {<0>} {<0>} {(SQ <'foo/baz/bar'>)} {(SQ <'foo**bar'>)}) (C {<match>} {<0>} {<1>} {(SQ <foobazbar>)} {(SQ <'foo**bar'>)}) (C {<match>} {<1>} {<1>} {(SQ <'foo/baz/bar'>)} {(SQ <'foo/**/bar'>)}) (C {<match>} {<1>} {<0>} {(SQ <'foo/baz/bar'>)} {(SQ <'foo/**/**/bar'>)}) (C {<match>} {<1>} {<0>} {(SQ <'foo/b/a/z/bar'>)} {(SQ <'foo/**/bar'>)}) (C {<match>} {<1>} {<0>} {(SQ <'foo/b/a/z/bar'>)} {(SQ <'foo/**/**/bar'>)}) (C {<match>} {<1>} {<0>} {(SQ <'foo/bar'>)} {(SQ <'foo/**/bar'>)}) (C {<match>} {<1>} {<0>} {(SQ <'foo/bar'>)} {(SQ <'foo/**/**/bar'>)}) (C {<match>} {<0>} {<0>} {(SQ <'foo/bar'>)} {(SQ <'foo?bar'>)}) (C {<match>} {<0>} {<0>} {(SQ <'foo/bar'>)} {(SQ <'foo[/]bar'>)}) (C {<match>} {<0>} {<0>} {(SQ <'foo/bar'>)} {(SQ <'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'>)}) (C {<match>} {<1>} {<1>} {(SQ <foo-bar>)} {(SQ <'f[^eiu][^eiu][^eiu][^eiu][^eiu]r'>)}) (C {<match>} {<1>} {<0>} {(SQ <foo>)} {(SQ <'**/foo'>)}) (C {<match>} {<1>} {<x>} {(SQ <'XXX/foo'>)} {(SQ <'**/foo'>)}) (C {<match>} {<1>} {<0>} {(SQ <'bar/baz/foo'>)} {(SQ <'**/foo'>)}) (C {<match>} {<0>} {<0>} {(SQ <'bar/baz/foo'>)} {(SQ <'*/foo'>)}) (C {<match>} {<0>} {<0>} {(SQ <'foo/bar/baz'>)} {(SQ <'**/bar*'>)}) (C {<match>} {<1>} {<0>} {(SQ <'deep/foo/bar/baz'>)} {(SQ <'**/bar/*'>)}) (C {<match>} {<0>} {<0>} {(SQ <'deep/foo/bar/baz/'>)} {(SQ <'**/bar/*'>)}) (C {<match>} {<1>} {<0>} {(SQ <'deep/foo/bar/baz/'>)} {(SQ <'**/bar/**'>)}) (C {<match>} {<0>} {<0>} {(SQ <'deep/foo/bar'>)} {(SQ <'**/bar/*'>)}) (C {<match>} {<1>} {<0>} {(SQ <'deep/foo/bar/'>)} {(SQ <'**/bar/**'>)}) (C {<match>} {<0>} {<0>} {(SQ <'foo/bar/baz'>)} {(SQ <'**/bar**'>)}) (C {<match>} {<1>} {<0>} {(SQ <'foo/bar/baz/x'>)} {(SQ <'*/bar/**'>)}) (C {<match>} {<0>} {<0>} {(SQ <'deep/foo/bar/baz/x'>)} {(SQ <'*/bar/**'>)}) (C {<match>} {<1>} {<0>} {(SQ <'deep/foo/bar/baz/x'>)} {(SQ <'**/bar/*/*'>)}) (C {<match>} {<0>} {<0>} {(SQ <acrt>)} {(SQ <'a[c-c]st'>)}) (C {<match>} {<1>} {<1>} {(SQ <acrt>)} {(SQ <'a[c-c]rt'>)}) (C {<match>} {<0>} {<0>} {(SQ <']'>)} {(SQ <'[!]-]'>)}) (C {<match>} {<1>} {<x>} {(SQ <a>)} {(SQ <'[!]-]'>)}) (C {<match>} {<0>} {<0>} {(SQ )} {(SQ <'\\'>)}) (C {<match>} {<0>} {<x>} {(SQ <'\\'>)} {(SQ <'\\'>)}) (C {<match>} {<0>} {<x>} {(SQ <'XXX/\\'>)} {(SQ <'*/\\'>)}) (C {<match>} {<1>} {<x>} {(SQ <'XXX/\\'>)} {(SQ <'*/\\\\'>)}) (C {<match>} {<1>} {<1>} {(SQ <foo>)} {(SQ <foo>)}) (C {<match>} {<1>} {<1>} {(SQ <'@foo'>)} {(SQ <'@foo'>)}) (C {<match>} {<0>} {<0>} {(SQ <foo>)} {(SQ <'@foo'>)}) (C {<match>} {<1>} {<1>} {(SQ <'[ab]'>)} {(SQ <'\\[ab]'>)}) (C {<match>} {<1>} {<1>} {(SQ <'[ab]'>)} {(SQ <'[[]ab]'>)}) (C {<match>} {<1>} {<x>} {(SQ <'[ab]'>)} {(SQ <'[[:]ab]'>)}) (C {<match>} {<0>} {<x>} {(SQ <'[ab]'>)} {(SQ <'[[::]ab]'>)}) (C {<match>} {<1>} {<x>} {(SQ <'[ab]'>)} {(SQ <'[[:digit]ab]'>)}) (C {<match>} {<1>} {<x>} {(SQ <'[ab]'>)} {(SQ <'[\\[:]ab]'>)}) (C {<match>} {<1>} {<1>} {(SQ <'?a?b'>)} {(SQ <'\\??\\?b'>)}) (C {<match>} {<1>} {<1>} {(SQ <abc>)} {(SQ <'\\a\\b\\c'>)}) (C {<match>} {<0>} {<0>} {(SQ <foo>)} {(SQ )}) (C {<match>} {<1>} {<0>} {(SQ <'foo/bar/baz/to'>)} {(SQ <'**/t[o]'>)}) (C {<match>} {<1>} {<x>} {(SQ <a1B>)} {(SQ <'[[:alpha:]][[:digit:]][[:upper:]]'>)}) (C {<match>} {<0>} {<x>} {(SQ <a>)} {(SQ <'[[:digit:][:upper:][:space:]]'>)}) (C {<match>} {<1>} {<x>} {(SQ <A>)} {(SQ <'[[:digit:][:upper:][:space:]]'>)}) (C {<match>} {<1>} {<x>} {(SQ <1>)} {(SQ <'[[:digit:][:upper:][:space:]]'>)}) (C {<match>} {<0>} {<x>} {(SQ <1>)} {(SQ <'[[:digit:][:upper:][:spaci:]]'>)}) (C {<match>} {<1>} {<x>} {(SQ <' '>)} {(SQ <'[[:digit:][:upper:][:space:]]'>)}) (C {<match>} {<0>} {<x>} {(SQ <.>)} {(SQ <'[[:digit:][:upper:][:space:]]'>)}) (C {<match>} {<1>} {<x>} {(SQ <.>)} {(SQ <'[[:digit:][:punct:][:space:]]'>)}) (C {<match>} {<1>} {<x>} {(SQ <5>)} {(SQ <'[[:xdigit:]]'>)}) (C {<match>} {<1>} {<x>} {(SQ <f>)} {(SQ <'[[:xdigit:]]'>)}) (C {<match>} {<1>} {<x>} {(SQ <D>)} {(SQ <'[[:xdigit:]]'>)}) (C {<match>} {<1>} {<x>} {(SQ <_>)} { (SQ < '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' > ) } ) (C {<match>} {<1>} {<x>} {(SQ <_>)} { (SQ < '[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]' > ) } ) (C {<match>} {<1>} {<x>} {(SQ <.>)} {(SQ <'[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]'>)} ) (C {<match>} {<1>} {<x>} {(SQ <5>)} {(SQ <'[a-c[:digit:]x-z]'>)}) (C {<match>} {<1>} {<x>} {(SQ <b>)} {(SQ <'[a-c[:digit:]x-z]'>)}) (C {<match>} {<1>} {<x>} {(SQ <y>)} {(SQ <'[a-c[:digit:]x-z]'>)}) (C {<match>} {<0>} {<x>} {(SQ <q>)} {(SQ <'[a-c[:digit:]x-z]'>)}) (C {<match>} {<1>} {<x>} {(SQ <']'>)} {(SQ <'[\\\\-^]'>)}) (C {<match>} {<0>} {<0>} {(SQ <'['>)} {(SQ <'[\\\\-^]'>)}) (C {<match>} {<1>} {<x>} {(SQ <->)} {(SQ <'[\\-_]'>)}) (C {<match>} {<1>} {<x>} {(SQ <']'>)} {(SQ <'[\\]]'>)}) (C {<match>} {<0>} {<0>} {(SQ <'\\]'>)} {(SQ <'[\\]]'>)}) (C {<match>} {<0>} {<0>} {(SQ <'\\'>)} {(SQ <'[\\]]'>)}) (C {<match>} {<0>} {<0>} {(SQ <ab>)} {(SQ <'a[]b'>)}) (C {<match>} {<0>} {<x>} {(SQ <'a[]b'>)} {(SQ <'a[]b'>)}) (C {<match>} {<0>} {<x>} {(SQ <'ab['>)} {(SQ <'ab['>)}) (C {<match>} {<0>} {<0>} {(SQ <ab>)} {(SQ <'[!'>)}) (C {<match>} {<0>} {<0>} {(SQ <ab>)} {(SQ <'[-'>)}) (C {<match>} {<1>} {<1>} {(SQ <->)} {(SQ <'[-]'>)}) (C {<match>} {<0>} {<0>} {(SQ <->)} {(SQ <'[a-'>)}) (C {<match>} {<0>} {<0>} {(SQ <->)} {(SQ <'[!a-'>)}) (C {<match>} {<1>} {<x>} {(SQ <->)} {(SQ <'[--A]'>)}) (C {<match>} {<1>} {<x>} {(SQ <5>)} {(SQ <'[--A]'>)}) (C {<match>} {<1>} {<1>} {(SQ <' '>)} {(SQ <'[ --]'>)}) (C {<match>} {<1>} {<1>} {(SQ <'$'>)} {(SQ <'[ --]'>)}) (C {<match>} {<1>} {<1>} {(SQ <->)} {(SQ <'[ --]'>)}) (C {<match>} {<0>} {<0>} {(SQ <0>)} {(SQ <'[ --]'>)}) (C {<match>} {<1>} {<x>} {(SQ <->)} {(SQ <'[---]'>)}) (C {<match>} {<1>} {<x>} {(SQ <->)} {(SQ <'[------]'>)}) (C {<match>} {<0>} {<0>} {(SQ <j>)} {(SQ <'[a-e-n]'>)}) (C {<match>} {<1>} {<x>} {(SQ <->)} {(SQ <'[a-e-n]'>)}) (C {<match>} {<1>} {<x>} {(SQ <a>)} {(SQ <'[!------]'>)}) (C {<match>} {<0>} {<0>} {(SQ <'['>)} {(SQ <'[]-a]'>)}) (C {<match>} {<1>} {<x>} {(SQ <'^'>)} {(SQ <'[]-a]'>)}) (C {<match>} {<0>} {<0>} {(SQ <'^'>)} {(SQ <'[!]-a]'>)}) (C {<match>} {<1>} {<x>} {(SQ <'['>)} {(SQ <'[!]-a]'>)}) (C {<match>} {<1>} {<1>} {(SQ <'^'>)} {(SQ <'[a^bc]'>)}) (C {<match>} {<1>} {<x>} {(SQ <'-b]'>)} {(SQ <'[a-]b]'>)}) (C {<match>} {<0>} {<0>} {(SQ <'\\'>)} {(SQ <'[\\]'>)}) (C {<match>} {<1>} {<1>} {(SQ <'\\'>)} {(SQ <'[\\\\]'>)}) (C {<match>} {<0>} {<0>} {(SQ <'\\'>)} {(SQ <'[!\\\\]'>)}) (C {<match>} {<1>} {<1>} {(SQ <G>)} {(SQ <'[A-\\\\]'>)}) (C {<match>} {<0>} {<0>} {(SQ <aaabbb>)} {(SQ <'b*a'>)}) (C {<match>} {<0>} {<0>} {(SQ <aabcaa>)} {(SQ <'*ba*'>)}) (C {<match>} {<1>} {<1>} {(SQ <','>)} {(SQ <'[,]'>)}) (C {<match>} {<1>} {<1>} {(SQ <','>)} {(SQ <'[\\\\,]'>)}) (C {<match>} {<1>} {<1>} {(SQ <'\\'>)} {(SQ <'[\\\\,]'>)}) (C {<match>} {<1>} {<1>} {(SQ <->)} {(SQ <'[,-.]'>)}) (C {<match>} {<0>} {<0>} {(SQ <'+'>)} {(SQ <'[,-.]'>)}) (C {<match>} {<0>} {<0>} {(SQ <'-.]'>)} {(SQ <'[,-.]'>)}) (C {<match>} {<1>} {<1>} {(SQ <2>)} {(SQ <'[\\1-\\3]'>)}) (C {<match>} {<1>} {<1>} {(SQ <3>)} {(SQ <'[\\1-\\3]'>)}) (C {<match>} {<0>} {<0>} {(SQ <4>)} {(SQ <'[\\1-\\3]'>)}) (C {<match>} {<1>} {<1>} {(SQ <'\\'>)} {(SQ <'[[-\\]]'>)}) (C {<match>} {<1>} {<1>} {(SQ <'['>)} {(SQ <'[[-\\]]'>)}) (C {<match>} {<1>} {<1>} {(SQ <']'>)} {(SQ <'[[-\\]]'>)}) (C {<match>} {<0>} {<0>} {(SQ <->)} {(SQ <'[[-\\]]'>)}) (C {<match>} {<1>} {<1>} {(SQ <-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1>)} {(SQ <'-*-*-*-*-*-*-12-*-*-*-m-*-*-*'>)} ) (C {<match>} {<0>} {<0>} {(SQ <-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1>)} {(SQ <'-*-*-*-*-*-*-12-*-*-*-m-*-*-*'>)} ) (C {<match>} {<0>} {<0>} {(SQ <'-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1'>)} {(SQ <'-*-*-*-*-*-*-12-*-*-*-m-*-*-*'>)} ) (C {<match>} {<1>} {<1>} {(SQ <'XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1'>)} {(SQ <'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'>)} ) (C {<match>} {<0>} {<0>} {(SQ <'XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1'>)} {(SQ <'XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*'>)} ) (C {<match>} {<1>} {<0>} {(SQ <'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt'>)} {(SQ <'**/*a*b*g*n*t'>)} ) (C {<match>} {<0>} {<0>} {(SQ <'abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz'>)} {(SQ <'**/*a*b*g*n*t'>)} ) (C {<match>} {<0>} {<x>} {<foo>} {(SQ <'*/*/*'>)}) (C {<match>} {<0>} {<x>} {<'foo/bar'>} {(SQ <'*/*/*'>)}) (C {<match>} {<1>} {<x>} {<'foo/bba/arr'>} {(SQ <'*/*/*'>)}) (C {<match>} {<0>} {<x>} {<'foo/bb/aa/rr'>} {(SQ <'*/*/*'>)}) (C {<match>} {<1>} {<x>} {<'foo/bb/aa/rr'>} {(SQ <'**/**/**'>)}) (C {<match>} {<1>} {<x>} {<abcXdefXghi>} {(SQ <'*X*i'>)}) (C {<match>} {<0>} {<x>} {<'ab/cXd/efXg/hi'>} {(SQ <'*X*i'>)}) (C {<match>} {<1>} {<x>} {<'ab/cXd/efXg/hi'>} {(SQ <'*/*X*/*/*i'>)}) (C {<match>} {<1>} {<x>} {<'ab/cXd/efXg/hi'>} {(SQ <'**/*X*/**/*i'>)}) (C {<pathmatch>} {<1>} {<foo>} {<foo>}) (C {<pathmatch>} {<0>} {<foo>} {<fo>}) (C {<pathmatch>} {<1>} {<'foo/bar'>} {<'foo/bar'>}) (C {<pathmatch>} {<1>} {<'foo/bar'>} {(SQ <'foo/*'>)}) (C {<pathmatch>} {<1>} {<'foo/bba/arr'>} {(SQ <'foo/*'>)}) (C {<pathmatch>} {<1>} {<'foo/bba/arr'>} {(SQ <'foo/**'>)}) (C {<pathmatch>} {<1>} {<'foo/bba/arr'>} {(SQ <'foo*'>)}) (C {<pathmatch>} {<1>} {<'foo/bba/arr'>} {(SQ <'foo**'>)}) (C {<pathmatch>} {<1>} {<'foo/bba/arr'>} {(SQ <'foo/*arr'>)}) (C {<pathmatch>} {<1>} {<'foo/bba/arr'>} {(SQ <'foo/**arr'>)}) (C {<pathmatch>} {<0>} {<'foo/bba/arr'>} {(SQ <'foo/*z'>)}) (C {<pathmatch>} {<0>} {<'foo/bba/arr'>} {(SQ <'foo/**z'>)}) (C {<pathmatch>} {<1>} {<'foo/bar'>} {(SQ <'foo?bar'>)}) (C {<pathmatch>} {<1>} {<'foo/bar'>} {(SQ <'foo[/]bar'>)}) (C {<pathmatch>} {<0>} {<foo>} {(SQ <'*/*/*'>)}) (C {<pathmatch>} {<0>} {<'foo/bar'>} {(SQ <'*/*/*'>)}) (C {<pathmatch>} {<1>} {<'foo/bba/arr'>} {(SQ <'*/*/*'>)}) (C {<pathmatch>} {<1>} {<'foo/bb/aa/rr'>} {(SQ <'*/*/*'>)}) (C {<pathmatch>} {<1>} {<abcXdefXghi>} {(SQ <'*X*i'>)}) (C {<pathmatch>} {<1>} {<'ab/cXd/efXg/hi'>} {(SQ <'*/*X*/*/*i'>)}) (C {<pathmatch>} {<1>} {<'ab/cXd/efXg/hi'>} {(SQ <'*Xg*i'>)}) (C {<match>} {<0>} {<x>} {(SQ <a>)} {(SQ <'[A-Z]'>)}) (C {<match>} {<1>} {<x>} {(SQ <A>)} {(SQ <'[A-Z]'>)}) (C {<match>} {<0>} {<x>} {(SQ <A>)} {(SQ <'[a-z]'>)}) (C {<match>} {<1>} {<x>} {(SQ <a>)} {(SQ <'[a-z]'>)}) (C {<match>} {<0>} {<x>} {(SQ <a>)} {(SQ <'[[:upper:]]'>)}) (C {<match>} {<1>} {<x>} {(SQ <A>)} {(SQ <'[[:upper:]]'>)}) (C {<match>} {<0>} {<x>} {(SQ <A>)} {(SQ <'[[:lower:]]'>)}) (C {<match>} {<1>} {<x>} {(SQ <a>)} {(SQ <'[[:lower:]]'>)}) (C {<match>} {<0>} {<x>} {(SQ <A>)} {(SQ <'[B-Za]'>)}) (C {<match>} {<1>} {<x>} {(SQ <a>)} {(SQ <'[B-Za]'>)}) (C {<match>} {<0>} {<x>} {(SQ <A>)} {(SQ <'[B-a]'>)}) (C {<match>} {<1>} {<x>} {(SQ <a>)} {(SQ <'[B-a]'>)}) (C {<match>} {<0>} {<x>} {(SQ <z>)} {(SQ <'[Z-y]'>)}) (C {<match>} {<1>} {<x>} {(SQ <Z>)} {(SQ <'[Z-y]'>)}) (C {<imatch>} {<1>} {(SQ <a>)} {(SQ <'[A-Z]'>)}) (C {<imatch>} {<1>} {(SQ <A>)} {(SQ <'[A-Z]'>)}) (C {<imatch>} {<1>} {(SQ <A>)} {(SQ <'[a-z]'>)}) (C {<imatch>} {<1>} {(SQ <a>)} {(SQ <'[a-z]'>)}) (C {<imatch>} {<1>} {(SQ <a>)} {(SQ <'[[:upper:]]'>)}) (C {<imatch>} {<1>} {(SQ <A>)} {(SQ <'[[:upper:]]'>)}) (C {<imatch>} {<1>} {(SQ <A>)} {(SQ <'[[:lower:]]'>)}) (C {<imatch>} {<1>} {(SQ <a>)} {(SQ <'[[:lower:]]'>)}) (C {<imatch>} {<1>} {(SQ <A>)} {(SQ <'[B-Za]'>)}) (C {<imatch>} {<1>} {(SQ <a>)} {(SQ <'[B-Za]'>)}) (C {<imatch>} {<1>} {(SQ <A>)} {(SQ <'[B-a]'>)}) (C {<imatch>} {<1>} {(SQ <a>)} {(SQ <'[B-a]'>)}) (C {<imatch>} {<1>} {(SQ <z>)} {(SQ <'[Z-y]'>)}) (C {<imatch>} {<1>} {(SQ <Z>)} {(SQ <'[Z-y]'>)}) (C {<test_done>}) ] )