Add a test for the fixes on this branch.
[sqlite.git] / test / tkt3997.test
blob85e88db5913d69b1a13a41894e08e4e089146f12
1 # 2001 September 15
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
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.
10 #***********************************************************************
12 # Tests to make sure #3997 is fixed.
14 # $Id: tkt3997.test,v 1.1 2009/07/28 13:30:31 danielk1977 Exp $
16 set testdir [file dirname $argv0]
17 source $testdir/tester.tcl
19 proc reverse {lhs rhs} {
20   return [string compare $rhs $lhs]
22 proc usual {lhs rhs} {
23   return [string compare $lhs $rhs]
26 db collate reverse reverse
27 db collate usual usual
29 do_test tkt3997-1.1 {
30   execsql {
31     create table mytext(name BLOB);
32     INSERT INTO mytext VALUES('abc');
33     INSERT INTO mytext VALUES('acd');
34     INSERT INTO mytext VALUES('afe');
35   }
36 } {}
37 do_test tkt3997-1.2 {
38   execsql { 
39     SELECT name 
40     FROM mytext 
41     ORDER BY name COLLATE reverse 
42   }
43 } {afe acd abc}
44 do_test tkt3997-1.3 {
45   execsql { 
46     SELECT name 
47     FROM (SELECT name FROM mytext)  
48     ORDER BY name COLLATE reverse 
49   }
50 } {afe acd abc}
52 do_test tkt3997-2.1 {
53   execsql { 
54     CREATE TABLE mytext2(name COLLATE reverse);
55     INSERT INTO mytext2 SELECT name FROM mytext;
56   }
57 } {}
58 do_test tkt3997-2.2 {
59   execsql { 
60     SELECT name 
61     FROM (SELECT name FROM mytext2)  
62     ORDER BY name
63   }
64 } {afe acd abc}
65 do_test tkt3997-2.3 {
66   execsql { 
67     SELECT name 
68     FROM (SELECT name FROM mytext2)
69     ORDER BY name COLLATE usual
70   }
71 } {abc acd afe}
73 finish_test