github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/testdata/tcl/quota-glob.test (about)

     1  # 2011 December 1
     2  #
     3  # The author disclaims copyright to this source code.  In place of
     4  # a legal notice, here is a blessing:
     5  #
     6  #    May you do good and not evil.
     7  #    May you find forgiveness for yourself and forgive others.
     8  #    May you share freely, never taking more than you give.
     9  #
    10  #***********************************************************************
    11  #
    12  # Tests for the glob-style string compare operator embedded in the
    13  # quota shim.
    14  #
    15  
    16  set testdir [file dirname $argv0]
    17  source $testdir/tester.tcl
    18  
    19  catch { unset testnum }
    20  catch { unset pattern }
    21  catch { unset text }
    22  catch { unset ans }
    23  
    24  foreach {testnum pattern text ans} {
    25     1  abcdefg   abcdefg   1
    26     2  abcdefG   abcdefg   0
    27     3  abcdef    abcdefg   0
    28     4  abcdefgh  abcdefg   0
    29     5  abcdef?   abcdefg   1
    30     6  abcdef?   abcdef    0
    31     7  abcdef?   abcdefgh  0
    32     8  abcdefg   abcdef?   0
    33     9  abcdef?   abcdef?   1
    34    10  abc/def   abc/def   1
    35    11  abc//def  abc/def   0
    36    12  */abc/*   x/abc/y   1
    37    13  */abc/*   /abc/     1
    38    16  */abc/*   x///a/ab/abc   0
    39    17  */abc/*   x//a/ab/abc/   1
    40    16  */abc/*   x///a/ab/abc   0
    41    17  */abc/*   x//a/ab/abc/   1
    42    18  **/abc/** x//a/ab/abc/   1
    43    19  *?/abc/*? x//a/ab/abc/y  1
    44    20  ?*/abc/?* x//a/ab/abc/y  1
    45    21  {abc[cde]efg}   abcbefg  0
    46    22  {abc[cde]efg}   abccefg  1
    47    23  {abc[cde]efg}   abcdefg  1
    48    24  {abc[cde]efg}   abceefg  1
    49    25  {abc[cde]efg}   abcfefg  0
    50    26  {abc[^cde]efg}  abcbefg  1
    51    27  {abc[^cde]efg}  abccefg  0
    52    28  {abc[^cde]efg}  abcdefg  0
    53    29  {abc[^cde]efg}  abceefg  0
    54    30  {abc[^cde]efg}  abcfefg  1
    55    31  {abc[c-e]efg}   abcbefg  0
    56    32  {abc[c-e]efg}   abccefg  1
    57    33  {abc[c-e]efg}   abcdefg  1
    58    34  {abc[c-e]efg}   abceefg  1
    59    35  {abc[c-e]efg}   abcfefg  0
    60    36  {abc[^c-e]efg}  abcbefg  1
    61    37  {abc[^c-e]efg}  abccefg  0
    62    38  {abc[^c-e]efg}  abcdefg  0
    63    39  {abc[^c-e]efg}  abceefg  0
    64    40  {abc[^c-e]efg}  abcfefg  1
    65    41  {abc[c-e]efg}   abc-efg  0
    66    42  {abc[-ce]efg}   abc-efg  1
    67    43  {abc[ce-]efg}   abc-efg  1
    68    44  {abc[][*?]efg}  {abc]efg} 1
    69    45  {abc[][*?]efg}  {abc*efg} 1
    70    46  {abc[][*?]efg}  {abc?efg} 1
    71    47  {abc[][*?]efg}  {abc[efg} 1
    72    48  {abc[^][*?]efg} {abc]efg} 0
    73    49  {abc[^][*?]efg} {abc*efg} 0
    74    50  {abc[^][*?]efg} {abc?efg} 0
    75    51  {abc[^][*?]efg} {abc[efg} 0
    76    52  {abc[^][*?]efg} {abcdefg} 1
    77    53  {*[xyz]efg}     {abcxefg} 1
    78    54  {*[xyz]efg}     {abcwefg} 0
    79  } {
    80    do_test quota-glob-$testnum.1 {
    81      sqlite3_quota_glob $::pattern $::text
    82    } $::ans
    83    do_test quota-glob-$testnum.2 {
    84      sqlite3_quota_glob $::pattern [string map {/ \\} $::text]
    85    } $::ans
    86  }
    87  finish_test