Home | History | Annotate | Download | only in test
      1 # 2010 September 28
      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 # This file implements regression tests for SQLite library. Specifically,
     12 # it tests that ticket [b351d95f9cd5ef17e9d9dbae18f5ca8611190001] has been
     13 # resolved.
     14 #
     15 
     16 set testdir [file dirname $argv0]
     17 source $testdir/tester.tcl
     18 source $testdir/lock_common.tcl
     19 source $testdir/malloc_common.tcl
     20 
     21 do_test tkt-b351d95.1 {
     22   execsql {
     23     CREATE table t1(a,b);
     24     INSERT INTO t1 VALUES('name1','This is a test');
     25     INSERT INTO t1 VALUES('name2','xyz');
     26     CREATE TABLE t2(x,y);
     27     INSERT INTO t2 SELECT a, CASE b WHEN 'xyz' THEN null ELSE b END FROM t1;
     28     SELECT x, y FROM t2 ORDER BY x;
     29   }
     30 } {name1 {This is a test} name2 {}}
     31 
     32 do_test tkt-b351d95.2 {
     33   execsql {
     34     DELETE FROM t2;
     35     INSERT INTO t2 SELECT a, coalesce(b,a) FROM t1;
     36     SELECT x, y FROM t2 ORDER BY x;
     37   }
     38 } {name1 {This is a test} name2 xyz}
     39 do_test tkt-b351d95.3 {
     40   execsql {
     41     DELETE FROM t2;
     42     INSERT INTO t2 SELECT a, coalesce(b,a) FROM t1;
     43     SELECT x, y BETWEEN 'xy' AND 'xz' FROM t2 ORDER BY x;
     44   }
     45 } {name1 0 name2 1}
     46 
     47 finish_test
     48