Annotation of embedaddon/sqlite3/test/collateA.test, revision 1.1

1.1     ! misho       1: #
        !             2: # 2008 January 20
        !             3: #
        !             4: # The author disclaims copyright to this source code.  In place of
        !             5: # a legal notice, here is a blessing:
        !             6: #
        !             7: #    May you do good and not evil.
        !             8: #    May you find forgiveness for yourself and forgive others.
        !             9: #    May you share freely, never taking more than you give.
        !            10: #
        !            11: #***********************************************************************
        !            12: # This file implements regression tests for SQLite library.  The
        !            13: # focus of this script is the built-in RTRIM collating
        !            14: # API.
        !            15: #
        !            16: # $Id: collateA.test,v 1.3 2008/04/15 04:02:41 drh Exp $
        !            17: 
        !            18: set testdir [file dirname $argv0]
        !            19: source $testdir/tester.tcl
        !            20: 
        !            21: do_test collateA-1.1 {
        !            22:   execsql {
        !            23:     CREATE TABLE t1(
        !            24:       a INTEGER PRIMARY KEY,
        !            25:       b TEXT COLLATE BINARY,
        !            26:       c TEXT COLLATE RTRIM
        !            27:     );
        !            28:     INSERT INTO t1 VALUES(1, 'abcde','abcde');
        !            29:     INSERT INTO t1 VALUES(2, 'xyzzy ','xyzzy ');
        !            30:     INSERT INTO t1 VALUES(3, 'xyzzy  ','xyzzy  ');
        !            31:     INSERT INTO t1 VALUES(4, 'xyzzy   ','xyzzy   ');
        !            32:     INSERT INTO t1 VALUES(5, '   ', '   ');
        !            33:     INSERT INTO t1 VALUES(6, '', '');
        !            34:     SELECT count(*) FROM t1;
        !            35:   }
        !            36: } {6}
        !            37: do_test collateA-1.2 {
        !            38:   execsql {SELECT a FROM t1 WHERE b='abcde     '}
        !            39: } {}
        !            40: do_test collateA-1.3 {
        !            41:   execsql {SELECT a FROM t1 WHERE c='abcde     '}
        !            42: } {1}
        !            43: do_test collateA-1.4 {
        !            44:   execsql {SELECT a FROM t1 WHERE b='xyzzy'}
        !            45: } {}
        !            46: do_test collateA-1.5 {
        !            47:   execsql {SELECT a FROM t1 WHERE c='xyzzy'}
        !            48: } {2 3 4}
        !            49: do_test collateA-1.6 {
        !            50:   execsql {SELECT a FROM t1 WHERE c='xyzzy '}
        !            51: } {2 3 4}
        !            52: do_test collateA-1.7 {
        !            53:   execsql {SELECT a FROM t1 WHERE c='xyzzy  '}
        !            54: } {2 3 4}
        !            55: do_test collateA-1.8 {
        !            56:   execsql {SELECT a FROM t1 WHERE c='xyzzy   '}
        !            57: } {2 3 4}
        !            58: do_test collateA-1.9 {
        !            59:   execsql {SELECT a FROM t1 WHERE c='xyzzy    '}
        !            60: } {2 3 4}
        !            61: do_test collateA-1.10 {
        !            62:   execsql {SELECT a FROM t1 WHERE c='xyzzy                                  '}
        !            63: } {2 3 4}
        !            64: do_test collateA-1.11 {
        !            65:   execsql {SELECT 'abc123'='abc123                         ' COLLATE RTRIM;}
        !            66: } {1}
        !            67: do_test collateA-1.12 {
        !            68:   execsql {SELECT 'abc123                         '='abc123' COLLATE RTRIM;}
        !            69: } {1}
        !            70: do_test collateA-1.13 {
        !            71:   execsql {SELECT '  '='' COLLATE RTRIM, '  '='' COLLATE BINARY, '  '=''}
        !            72: } {1 0 0}
        !            73: do_test collateA-1.14 {
        !            74:   execsql {SELECT ''='  ' COLLATE RTRIM, ''='  ' COLLATE BINARY, ''='  '}
        !            75: } {1 0 0}
        !            76: do_test collateA-1.15 {
        !            77:   execsql {SELECT '  '='      ' COLLATE RTRIM, '  '='        '}
        !            78: } {1 0}
        !            79: do_test collateA-1.16 {
        !            80:   execsql {SELECT ''<>'  ' COLLATE RTRIM, ''<>'  ' COLLATE BINARY, ''<>'  '}
        !            81: } {0 1 1}
        !            82: do_test collateA-1.17 {
        !            83:   execsql {SELECT a FROM t1 WHERE c='xyzz'}
        !            84: } {}
        !            85: do_test collateA-1.18 {
        !            86:   execsql {SELECT a FROM t1 WHERE c='xyzzyy   '}
        !            87: } {}
        !            88: do_test collateA-1.19 {
        !            89:   execsql {SELECT a FROM t1 WHERE c='xyzz   '}
        !            90: } {}
        !            91: do_test collateA-1.20 {
        !            92:   execsql {SELECT a FROM t1 WHERE c='abcd   '}
        !            93: } {}
        !            94: do_test collateA-1.21 {
        !            95:   execsql {SELECT a FROM t1 WHERE c='abcd'}
        !            96: } {}
        !            97: do_test collateA-1.22 {
        !            98:   execsql {SELECT a FROM t1 WHERE c='abc'}
        !            99: } {}
        !           100: do_test collateA-1.23 {
        !           101:   execsql {SELECT a FROM t1 WHERE c='abcdef    '}
        !           102: } {}
        !           103: do_test collateA-1.24 {
        !           104:   execsql {SELECT a FROM t1 WHERE c=''}
        !           105: } {5 6}
        !           106: do_test collateA-1.25 {
        !           107:   execsql {SELECT a FROM t1 WHERE c=' '}
        !           108: } {5 6}
        !           109: do_test collateA-1.26 {
        !           110:   execsql {SELECT a FROM t1 WHERE c='                    '}
        !           111: } {5 6}
        !           112: 
        !           113: 
        !           114: do_test collateA-2.1 {
        !           115:   execsql {
        !           116:     CREATE INDEX i1b ON t1(b);
        !           117:     CREATE INDEX i1c ON t1(c);
        !           118:     PRAGMA integrity_check;
        !           119:   }
        !           120: } {ok}
        !           121: do_test collateA-2.2 {
        !           122:   execsql {SELECT a FROM t1 WHERE b='abcde     '}
        !           123: } {}
        !           124: do_test collateA-2.3 {
        !           125:   execsql {SELECT a FROM t1 WHERE c='abcde     '}
        !           126: } {1}
        !           127: do_test collateA-2.4 {
        !           128:   execsql {SELECT a FROM t1 WHERE b='xyzzy'}
        !           129: } {}
        !           130: do_test collateA-2.5 {
        !           131:   execsql {SELECT a FROM t1 WHERE c='xyzzy'}
        !           132: } {2 3 4}
        !           133: do_test collateA-2.6 {
        !           134:   execsql {SELECT a FROM t1 WHERE c='xyzzy '}
        !           135: } {2 3 4}
        !           136: do_test collateA-2.7 {
        !           137:   execsql {SELECT a FROM t1 WHERE c='xyzzy  '}
        !           138: } {2 3 4}
        !           139: do_test collateA-2.8 {
        !           140:   execsql {SELECT a FROM t1 WHERE c='xyzzy   '}
        !           141: } {2 3 4}
        !           142: do_test collateA-2.9 {
        !           143:   execsql {SELECT a FROM t1 WHERE c='xyzzy    '}
        !           144: } {2 3 4}
        !           145: do_test collateA-2.10 {
        !           146:   execsql {SELECT a FROM t1 WHERE c='xyzzy                                  '}
        !           147: } {2 3 4}
        !           148: do_test collateA-2.17 {
        !           149:   execsql {SELECT a FROM t1 WHERE c='xyzz'}
        !           150: } {}
        !           151: do_test collateA-2.18 {
        !           152:   execsql {SELECT a FROM t1 WHERE c='xyzzyy   '}
        !           153: } {}
        !           154: do_test collateA-2.19 {
        !           155:   execsql {SELECT a FROM t1 WHERE c='xyzz   '}
        !           156: } {}
        !           157: do_test collateA-2.20 {
        !           158:   execsql {SELECT a FROM t1 WHERE c='abcd   '}
        !           159: } {}
        !           160: do_test collateA-2.21 {
        !           161:   execsql {SELECT a FROM t1 WHERE c='abcd'}
        !           162: } {}
        !           163: do_test collateA-2.22 {
        !           164:   execsql {SELECT a FROM t1 WHERE c='abc'}
        !           165: } {}
        !           166: do_test collateA-2.23 {
        !           167:   execsql {SELECT a FROM t1 WHERE c='abcdef    '}
        !           168: } {}
        !           169: do_test collateA-2.24 {
        !           170:   execsql {SELECT a FROM t1 WHERE c=''}
        !           171: } {5 6}
        !           172: do_test collateA-2.25 {
        !           173:   execsql {SELECT a FROM t1 WHERE c=' '}
        !           174: } {5 6}
        !           175: do_test collateA-2.26 {
        !           176:   execsql {SELECT a FROM t1 WHERE c='                    '}
        !           177: } {5 6}
        !           178: 
        !           179: 
        !           180: do_test collateA-3.1 {
        !           181:   db close
        !           182:   sqlite3 db test.db
        !           183:   execsql {
        !           184:     REINDEX;
        !           185:     PRAGMA integrity_check;
        !           186:   }
        !           187: } {ok}
        !           188: do_test collateA-3.2 {
        !           189:   execsql {SELECT a FROM t1 WHERE b='abcde     '}
        !           190: } {}
        !           191: do_test collateA-3.3 {
        !           192:   execsql {SELECT a FROM t1 WHERE c='abcde     '}
        !           193: } {1}
        !           194: do_test collateA-3.4 {
        !           195:   execsql {SELECT a FROM t1 WHERE b='xyzzy'}
        !           196: } {}
        !           197: do_test collateA-3.5 {
        !           198:   execsql {SELECT a FROM t1 WHERE c='xyzzy'}
        !           199: } {2 3 4}
        !           200: do_test collateA-3.6 {
        !           201:   execsql {SELECT a FROM t1 WHERE c='xyzzy '}
        !           202: } {2 3 4}
        !           203: do_test collateA-3.7 {
        !           204:   execsql {SELECT a FROM t1 WHERE c='xyzzy  '}
        !           205: } {2 3 4}
        !           206: do_test collateA-3.8 {
        !           207:   execsql {SELECT a FROM t1 WHERE c='xyzzy   '}
        !           208: } {2 3 4}
        !           209: do_test collateA-3.9 {
        !           210:   execsql {SELECT a FROM t1 WHERE c='xyzzy    '}
        !           211: } {2 3 4}
        !           212: do_test collateA-3.10 {
        !           213:   execsql {SELECT a FROM t1 WHERE c='xyzzy                                  '}
        !           214: } {2 3 4}
        !           215: 
        !           216: 
        !           217: finish_test

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