# Tests for fnmatch. # Copyright (C) 2000 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributes by Ulrich Drepper . # # The GNU C Library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # The GNU C Library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with the GNU C Library; see the file COPYING.LIB. If # not, write to the Free Software Foundation, Inc., # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Derived from the IEEE 2003.2 text. The standard only contains some # wording describing the situations to be tested. It does not specify # any specific tests. I.e., the tests below are in no case sufficient. # They are hopefully necessary, though. # B.6 004(C) C "!#%+,-./01234567889" "!#%+,-./01234567889" 0 C ":;=@ABCDEFGHIJKLMNO" ":;=@ABCDEFGHIJKLMNO" 0 C "PQRSTUVWXYZ]abcdefg" "PQRSTUVWXYZ]abcdefg" 0 C "hijklmnopqrstuvwxyz" "hijklmnopqrstuvwxyz" 0 C "^_{}~" "^_{}~" 0 # B.6 005(C) C "\"$&'()" "\\\"\\$\\&\\'\\(\\)" 0 C "*?[\\`|" "\\*\\?\\[\\\\\\`\\|" 0 C "<>" "\\<\\>" 0 # B.6 006(C) C "?*[" "[?*[][?*[][?*[]" 0 C "a/b" "?/b" 0 # B.6 007(C) C "a/b" "a?b" 0 C "a/b" "a/?" 0 C "a/b" "a?b" NOMATCH PATHNAME C "aa/b" "?/b" NOMATCH C "aa/b" "a?b" NOMATCH C "a/bb" "a/?" NOMATCH # B.6 009(C) C "abc" "[abc]" NOMATCH C "x" "[abc]" NOMATCH C "a" "[abc]" 0 C "[" "[[abc]" 0 C "a" "[][abc]" 0 C "a]" "[]a]]" 0 # B.6 010(C) C "xyz" "[!abc]" NOMATCH C "x" "[!abc]" 0 C "a" "[!abc]" NOMATCH # B.6 011(C) C "]" "[][abc]" 0 C "abc]" "[][abc]" NOMATCH C "[]abc" "[][]abc" NOMATCH C "]" "[!]]" NOMATCH C "aa]" "[!]a]" NOMATCH C "]" "[!a]" 0 C "]]" "[!a]]" 0 # B.6 012(C) # *** implement [. .] # B.6 013(C) # *** implement [. .] # B.6 014(C) # *** implement [. .] # B.6 015(C) # *** implement [= =] # B.6 016(C) # *** implement [= =] # B.6 017(C) C "a" "[[:alnum:]]" 0 C "a" "[![:alnum:]]" NOMATCH C "-" "[[:alnum:]]" NOMATCH C "a]a" "[[:alnum:]]a" NOMATCH C "-" "[[:alnum:]-]" 0 C "aa" "[[:alnum:]]a" 0 C "-" "[![:alnum:]]" 0 C "]" "[!][:alnum:]]" NOMATCH C "[" "[![:alnum:][]" NOMATCH C "a" "[[:alnum:]]" 0 C "b" "[[:alnum:]]" 0 C "c" "[[:alnum:]]" 0 C "d" "[[:alnum:]]" 0 C "e" "[[:alnum:]]" 0 C "f" "[[:alnum:]]" 0 C "g" "[[:alnum:]]" 0 C "h" "[[:alnum:]]" 0 C "i" "[[:alnum:]]" 0 C "j" "[[:alnum:]]" 0 C "k" "[[:alnum:]]" 0 C "l" "[[:alnum:]]" 0 C "m" "[[:alnum:]]" 0 C "n" "[[:alnum:]]" 0 C "o" "[[:alnum:]]" 0 C "p" "[[:alnum:]]" 0 C "q" "[[:alnum:]]" 0 C "r" "[[:alnum:]]" 0 C "s" "[[:alnum:]]" 0 C "t" "[[:alnum:]]" 0 C "u" "[[:alnum:]]" 0 C "v" "[[:alnum:]]" 0 C "w" "[[:alnum:]]" 0 C "x" "[[:alnum:]]" 0 C "y" "[[:alnum:]]" 0 C "z" "[[:alnum:]]" 0 C "A" "[[:alnum:]]" 0 C "B" "[[:alnum:]]" 0 C "C" "[[:alnum:]]" 0 C "D" "[[:alnum:]]" 0 C "E" "[[:alnum:]]" 0 C "F" "[[:alnum:]]" 0 C "G" "[[:alnum:]]" 0 C "H" "[[:alnum:]]" 0 C "I" "[[:alnum:]]" 0 C "J" "[[:alnum:]]" 0 C "K" "[[:alnum:]]" 0 C "L" "[[:alnum:]]" 0 C "M" "[[:alnum:]]" 0 C "N" "[[:alnum:]]" 0 C "O" "[[:alnum:]]" 0 C "P" "[[:alnum:]]" 0 C "Q" "[[:alnum:]]" 0 C "R" "[[:alnum:]]" 0 C "S" "[[:alnum:]]" 0 C "T" "[[:alnum:]]" 0 C "U" "[[:alnum:]]" 0 C "V" "[[:alnum:]]" 0 C "W" "[[:alnum:]]" 0 C "X" "[[:alnum:]]" 0 C "Y" "[[:alnum:]]" 0 C "Z" "[[:alnum:]]" 0 C "0" "[[:alnum:]]" 0 C "1" "[[:alnum:]]" 0 C "2" "[[:alnum:]]" 0 C "3" "[[:alnum:]]" 0 C "4" "[[:alnum:]]" 0 C "5" "[[:alnum:]]" 0 C "6" "[[:alnum:]]" 0 C "7" "[[:alnum:]]" 0 C "8" "[[:alnum:]]" 0 C "9" "[[:alnum:]]" 0 C "!" "[[:alnum:]]" NOMATCH C "#" "[[:alnum:]]" NOMATCH C "%" "[[:alnum:]]" NOMATCH C "+" "[[:alnum:]]" NOMATCH C "," "[[:alnum:]]" NOMATCH C "-" "[[:alnum:]]" NOMATCH C "." "[[:alnum:]]" NOMATCH C "/" "[[:alnum:]]" NOMATCH C ":" "[[:alnum:]]" NOMATCH C ";" "[[:alnum:]]" NOMATCH C "=" "[[:alnum:]]" NOMATCH C "@" "[[:alnum:]]" NOMATCH C "[" "[[:alnum:]]" NOMATCH C "\\" "[[:alnum:]]" NOMATCH C "]" "[[:alnum:]]" NOMATCH C "^" "[[:alnum:]]" NOMATCH C "_" "[[:alnum:]]" NOMATCH C "{" "[[:alnum:]]" NOMATCH C "}" "[[:alnum:]]" NOMATCH C "~" "[[:alnum:]]" NOMATCH C "\"" "[[:alnum:]]" NOMATCH C "$" "[[:alnum:]]" NOMATCH C "&" "[[:alnum:]]" NOMATCH C "'" "[[:alnum:]]" NOMATCH C "(" "[[:alnum:]]" NOMATCH C ")" "[[:alnum:]]" NOMATCH C "*" "[[:alnum:]]" NOMATCH C "?" "[[:alnum:]]" NOMATCH C "`" "[[:alnum:]]" NOMATCH C "|" "[[:alnum:]]" NOMATCH C "<" "[[:alnum:]]" NOMATCH C ">" "[[:alnum:]]" NOMATCH C "\t" "[[:cntrl:]]" 0 C "t" "[[:cntrl:]]" NOMATCH C "t" "[[:lower:]]" 0 C "\t" "[[:lower:]]" NOMATCH C "T" "[[:lower:]]" NOMATCH C "\t" "[[:space:]]" 0 C "t" "[[:space:]]" NOMATCH C "t" "[[:alpha:]]" 0 C "\t" "[[:alpha:]]" NOMATCH C "0" "[[:digit:]]" 0 C "\t" "[[:digit:]]" NOMATCH C "t" "[[:digit:]]" NOMATCH C "\t" "[[:print:]]" NOMATCH C "t" "[[:print:]]" 0 C "T" "[[:upper:]]" 0 C "\t" "[[:upper:]]" NOMATCH C "t" "[[:upper:]]" NOMATCH C "\t" "[[:blank:]]" 0 C "t" "[[:blank:]]" NOMATCH C "\t" "[[:graph:]]" NOMATCH C "t" "[[:graph:]]" 0 C "." "[[:punct:]]" 0 C "t" "[[:punct:]]" NOMATCH C "\t" "[[:punct:]]" NOMATCH C "0" "[[:xdigit:]]" 0 C "\t" "[[:xdigit:]]" NOMATCH C "a" "[[:xdigit:]]" 0 C "A" "[[:xdigit:]]" 0 C "t" "[[:xdigit:]]" NOMATCH C "a" "[[alpha]]" NOMATCH C "a" "[[alpha:]]" NOMATCH C "a]" "[[alpha]]" 0 C "a]" "[[alpha:]]" 0 # B.6 018(C) C "a" "[a-c]" 0 C "b" "[a-c]" 0 C "c" "[a-c]" 0 C "a" "[b-c]" NOMATCH C "d" "[b-c]" NOMATCH C "B" "[a-c]" NOMATCH C "b" "[A-C]" NOMATCH C "" "[a-c]" NOMATCH C "as" "[a-ca-z]" NOMATCH # B.6 019(C) C "b" "[c-a]" NOMATCH # B.6 020(C) C "a" "[a-c0-9]" 0 C "d" "[a-c0-9]" NOMATCH C "B" "[a-c0-9]" NOMATCH # B.6 021(C) C "-" "[-a]" 0 C "a" "[-b]" NOMATCH C "-" "[!-a]" NOMATCH C "a" "[!-b]" 0 C "-" "[a-c-0-9]" 0 C "b" "[a-c-0-9]" 0 C "a:" "a[0-9-a]" NOMATCH C "a:" "a[09-a]" 0 # B.6 024(C) C "" "*" 0 C "asd/sdf" "*" 0 # B.6 025(C) C "as" "[a-c][a-z]" 0 C "as" "??" 0 # B.6 026(C) C "asd/sdf" "as*df" 0 C "asd/sdf" "as*" 0 C "asd/sdf" "*df" 0 C "asd/sdf" "as*dg" NOMATCH C "asdf" "as*df" 0 C "asdf" "as*df?" NOMATCH C "asdf" "as*??" 0 C "asdf" "a*???" 0 C "asdf" "*????" 0 C "asdf" "????*" 0 C "asdf" "??*?" 0 # B.6 027(C) C "/" "/" 0 C "/" "/*" 0 C "/" "*/" 0 C "/" "/?" NOMATCH C "/" "?/" NOMATCH C "/" "?" 0 C "." "?" 0 C "/." "??" 0 C "/" "[!a-c]" 0 C "." "[!a-c]" 0