gitlab.com/CoiaPrant/sqlite3@v1.19.1/testdata/tcl/numcast.test (about) 1 # 2013 March 20 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 # This particular file does testing of casting strings into numeric 13 # values. 14 # 15 16 set testdir [file dirname $argv0] 17 source $testdir/tester.tcl 18 19 foreach enc {utf8 utf16le utf16be} { 20 do_test numcast-$enc.0 { 21 db close 22 sqlite3 db :memory: 23 db eval "PRAGMA encoding='$enc'" 24 set x [db eval {PRAGMA encoding}] 25 string map {- {}} [string tolower $x] 26 } $enc 27 foreach {idx str rval ival} { 28 1 12345.0 12345.0 12345 29 2 12345.0e0 12345.0 12345 30 3 -12345.0e0 -12345.0 -12345 31 4 -12345.25 -12345.25 -12345 32 5 { -12345.0} -12345.0 -12345 33 6 { 876xyz} 876.0 876 34 7 { 456ķ89} 456.0 456 35 8 { Ġ 321.5} 0.0 0 36 } { 37 do_test numcast-$enc.$idx.1 { 38 db eval {SELECT CAST($str AS real)} 39 } $rval 40 do_test numcast-$enc.$idx.2 { 41 db eval {SELECT CAST($str AS integer)} 42 } $ival 43 } 44 } 45 46 finish_test