Annotation of embedaddon/rsync/wildtest.txt, revision 1.1

1.1     ! misho       1: # Input is in the following format (all items white-space separated):
        !             2: #
        !             3: # The first two items are 1 or 0 indicating if the wildmat call is expected to
        !             4: # succeed and if fnmatch works the same way as wildmat, respectively.  After
        !             5: # that is a text string for the match, and a pattern string.  Strings can be
        !             6: # quoted (if desired) in either double or single quotes, as well as backticks.
        !             7: #
        !             8: # MATCH FNMATCH_SAME "text to match" 'pattern to use'
        !             9: 
        !            10: # Basic wildmat features
        !            11: 1 1 foo                        foo
        !            12: 0 1 foo                        bar
        !            13: 1 1 ''                 ""
        !            14: 1 1 foo                        ???
        !            15: 0 1 foo                        ??
        !            16: 1 1 foo                        *
        !            17: 1 1 foo                        f*
        !            18: 0 1 foo                        *f
        !            19: 1 1 foo                        *foo*
        !            20: 1 1 foobar             *ob*a*r*
        !            21: 1 1 aaaaaaabababab     *ab
        !            22: 1 1 foo*               foo\*
        !            23: 0 1 foobar             foo\*bar
        !            24: 1 1 f\oo               f\\oo
        !            25: 1 1 ball               *[al]?
        !            26: 0 1 ten                        [ten]
        !            27: 1 1 ten                        **[!te]
        !            28: 0 1 ten                        **[!ten]
        !            29: 1 1 ten                        t[a-g]n
        !            30: 0 1 ten                        t[!a-g]n
        !            31: 1 1 ton                        t[!a-g]n
        !            32: 1 1 ton                        t[^a-g]n
        !            33: 1 1 a]b                        a[]]b
        !            34: 1 1 a-b                        a[]-]b
        !            35: 1 1 a]b                        a[]-]b
        !            36: 0 1 aab                        a[]-]b
        !            37: 1 1 aab                        a[]a-]b
        !            38: 1 1 ]                  ]
        !            39: 
        !            40: # Extended slash-matching features
        !            41: 0 1 foo/baz/bar                foo*bar
        !            42: 1 1 foo/baz/bar                foo**bar
        !            43: 0 1 foo/bar            foo?bar
        !            44: 0 1 foo/bar            foo[/]bar
        !            45: 0 1 foo/bar            f[^eiu][^eiu][^eiu][^eiu][^eiu]r
        !            46: 1 1 foo-bar            f[^eiu][^eiu][^eiu][^eiu][^eiu]r
        !            47: 0 1 foo                        **/foo
        !            48: 1 1 /foo               **/foo
        !            49: 1 1 bar/baz/foo                **/foo
        !            50: 0 1 bar/baz/foo                */foo
        !            51: 0 0 foo/bar/baz                **/bar*
        !            52: 1 1 deep/foo/bar/baz   **/bar/*
        !            53: 0 1 deep/foo/bar/baz/  **/bar/*
        !            54: 1 1 deep/foo/bar/baz/  **/bar/**
        !            55: 0 1 deep/foo/bar       **/bar/*
        !            56: 1 1 deep/foo/bar/      **/bar/**
        !            57: 1 1 foo/bar/baz                **/bar**
        !            58: 1 1 foo/bar/baz/x      */bar/**
        !            59: 0 0 deep/foo/bar/baz/x */bar/**
        !            60: 1 1 deep/foo/bar/baz/x **/bar/*/*
        !            61: 
        !            62: # Various additional tests
        !            63: 0 1 acrt               a[c-c]st
        !            64: 1 1 acrt               a[c-c]rt
        !            65: 0 1 ]                  [!]-]
        !            66: 1 1 a                  [!]-]
        !            67: 0 1 ''                 \
        !            68: 0 1 \                  \
        !            69: 0 1 /\                 */\
        !            70: 1 1 /\                 */\\
        !            71: 1 1 foo                        foo
        !            72: 1 1 @foo               @foo
        !            73: 0 1 foo                        @foo
        !            74: 1 1 [ab]               \[ab]
        !            75: 1 1 [ab]               [[]ab]
        !            76: 1 1 [ab]               [[:]ab]
        !            77: 0 1 [ab]               [[::]ab]
        !            78: 1 1 [ab]               [[:digit]ab]
        !            79: 1 1 [ab]               [\[:]ab]
        !            80: 1 1 ?a?b               \??\?b
        !            81: 1 1 abc                        \a\b\c
        !            82: 0 1 foo                        ''
        !            83: 1 1 foo/bar/baz/to     **/t[o]
        !            84: 
        !            85: # Character class tests
        !            86: 1 1 a1B                [[:alpha:]][[:digit:]][[:upper:]]
        !            87: 0 1 a          [[:digit:][:upper:][:space:]]
        !            88: 1 1 A          [[:digit:][:upper:][:space:]]
        !            89: 1 1 1          [[:digit:][:upper:][:space:]]
        !            90: 0 1 1          [[:digit:][:upper:][:spaci:]]
        !            91: 1 1 ' '                [[:digit:][:upper:][:space:]]
        !            92: 0 1 .          [[:digit:][:upper:][:space:]]
        !            93: 1 1 .          [[:digit:][:punct:][:space:]]
        !            94: 1 1 5          [[:xdigit:]]
        !            95: 1 1 f          [[:xdigit:]]
        !            96: 1 1 D          [[:xdigit:]]
        !            97: 1 1 _          [[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]
        !            98: #1 1 …         [^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]
        !            99: 1 1           [^[:alnum:][:alpha:][:blank:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]
        !           100: 1 1 .          [^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]
        !           101: 1 1 5          [a-c[:digit:]x-z]
        !           102: 1 1 b          [a-c[:digit:]x-z]
        !           103: 1 1 y          [a-c[:digit:]x-z]
        !           104: 0 1 q          [a-c[:digit:]x-z]
        !           105: 
        !           106: # Additional tests, including some malformed wildmats
        !           107: 1 1 ]          [\\-^]
        !           108: 0 1 [          [\\-^]
        !           109: 1 1 -          [\-_]
        !           110: 1 1 ]          [\]]
        !           111: 0 1 \]         [\]]
        !           112: 0 1 \          [\]]
        !           113: 0 1 ab         a[]b
        !           114: 0 1 a[]b       a[]b
        !           115: 0 1 ab[                ab[
        !           116: 0 1 ab         [!
        !           117: 0 1 ab         [-
        !           118: 1 1 -          [-]
        !           119: 0 1 -          [a-
        !           120: 0 1 -          [!a-
        !           121: 1 1 -          [--A]
        !           122: 1 1 5          [--A]
        !           123: 1 1 ' '                '[ --]'
        !           124: 1 1 $          '[ --]'
        !           125: 1 1 -          '[ --]'
        !           126: 0 1 0          '[ --]'
        !           127: 1 1 -          [---]
        !           128: 1 1 -          [------]
        !           129: 0 1 j          [a-e-n]
        !           130: 1 1 -          [a-e-n]
        !           131: 1 1 a          [!------]
        !           132: 0 1 [          []-a]
        !           133: 1 1 ^          []-a]
        !           134: 0 1 ^          [!]-a]
        !           135: 1 1 [          [!]-a]
        !           136: 1 1 ^          [a^bc]
        !           137: 1 1 -b]                [a-]b]
        !           138: 0 1 \          [\]
        !           139: 1 1 \          [\\]
        !           140: 0 1 \          [!\\]
        !           141: 1 1 G          [A-\\]
        !           142: 0 1 aaabbb     b*a
        !           143: 0 1 aabcaa     *ba*
        !           144: 1 1 ,          [,]
        !           145: 1 1 ,          [\\,]
        !           146: 1 1 \          [\\,]
        !           147: 1 1 -          [,-.]
        !           148: 0 1 +          [,-.]
        !           149: 0 1 -.]                [,-.]
        !           150: 1 1 2          [\1-\3]
        !           151: 1 1 3          [\1-\3]
        !           152: 0 1 4          [\1-\3]
        !           153: 1 1 \          [[-\]]
        !           154: 1 1 [          [[-\]]
        !           155: 1 1 ]          [[-\]]
        !           156: 0 1 -          [[-\]]
        !           157: 
        !           158: # Test recursion and the abort code (use "wildtest -i" to see iteration counts)
        !           159: 1 1 -adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1  -*-*-*-*-*-*-12-*-*-*-m-*-*-*
        !           160: 0 1 -adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1  -*-*-*-*-*-*-12-*-*-*-m-*-*-*
        !           161: 0 1 -adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1  -*-*-*-*-*-*-12-*-*-*-m-*-*-*
        !           162: 1 1 /adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1  /*/*/*/*/*/*/12/*/*/*/m/*/*/*
        !           163: 0 1 /adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1  /*/*/*/*/*/*/12/*/*/*/m/*/*/*
        !           164: 1 1 abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt              **/*a*b*g*n*t
        !           165: 0 1 abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz             **/*a*b*g*n*t

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>