1 # 2009 October 23 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. 12 # 13 # This file implements tests to verify that ticket [3fe897352e8d8] has been 14 # fixed. 15 # 16 17 set testdir [file dirname $argv0] 18 source $testdir/tester.tcl 19 20 # The following tests use hex_to_utf16be() and hex_to_utf16le() which 21 # which are only available if SQLite is built with UTF16 support. 22 ifcapable {!utf16} { 23 finish_test 24 return 25 } 26 27 do_test tkt-3fe89-1.1 { 28 db close 29 sqlite3 db :memory: 30 db eval { 31 PRAGMA encoding=UTF8; 32 CREATE TABLE t1(x); 33 INSERT INTO t1 VALUES(hex_to_utf16be('D800')); 34 SELECT hex(x) FROM t1; 35 } 36 } {EDA080} 37 do_test tkt-3fe89-1.2 { 38 db eval { 39 DELETE FROM t1; 40 INSERT INTO t1 VALUES(hex_to_utf16le('00D8')); 41 SELECT hex(x) FROM t1; 42 } 43 } {EDA080} 44 do_test tkt-3fe89-1.3 { 45 db eval { 46 DELETE FROM t1; 47 INSERT INTO t1 VALUES(hex_to_utf16be('DFFF')); 48 SELECT hex(x) FROM t1; 49 } 50 } {EDBFBF} 51 do_test tkt-3fe89-1.4 { 52 db eval { 53 DELETE FROM t1; 54 INSERT INTO t1 VALUES(hex_to_utf16le('FFDF')); 55 SELECT hex(x) FROM t1; 56 } 57 } {EDBFBF} 58 59 60 finish_test 61