Index: third_party/sqlite/sqlite-src-3080704/test/func2.test |
diff --git a/third_party/sqlite/sqlite-src-3080704/test/func2.test b/third_party/sqlite/sqlite-src-3080704/test/func2.test |
deleted file mode 100644 |
index 08ad857509bc1c00354ceb44de2ae2e016317fec..0000000000000000000000000000000000000000 |
--- a/third_party/sqlite/sqlite-src-3080704/test/func2.test |
+++ /dev/null |
@@ -1,511 +0,0 @@ |
-# 2009 November 11 |
-# |
-# The author disclaims copyright to this source code. In place of |
-# a legal notice, here is a blessing: |
-# |
-# May you do good and not evil. |
-# May you find forgiveness for yourself and forgive others. |
-# May you share freely, never taking more than you give. |
-# |
-#*********************************************************************** |
-# This file implements regression tests for SQLite library. The |
-# focus of this file is testing built-in functions. |
-# |
- |
-set testdir [file dirname $argv0] |
-source $testdir/tester.tcl |
- |
-# Test plan: |
-# |
-# func2-1.*: substr implementation (ascii) |
-# func2-2.*: substr implementation (utf8) |
-# func2-3.*: substr implementation (blob) |
-# |
- |
-proc bin_to_hex {blob} { |
- set bytes {} |
- binary scan $blob \c* bytes |
- set bytes2 [list] |
- foreach b $bytes {lappend bytes2 [format %02X [expr $b & 0xFF]]} |
- join $bytes2 {} |
-} |
- |
-#---------------------------------------------------------------------------- |
-# Test cases func2-1.*: substr implementation (ascii) |
-# |
- |
-do_test func2-1.1 { |
- execsql {SELECT 'Supercalifragilisticexpialidocious'} |
-} {Supercalifragilisticexpialidocious} |
- |
-# substr(x,y), substr(x,y,z) |
-do_test func2-1.2.1 { |
- catchsql {SELECT SUBSTR()} |
-} {1 {wrong number of arguments to function SUBSTR()}} |
-do_test func2-1.2.2 { |
- catchsql {SELECT SUBSTR('Supercalifragilisticexpialidocious')} |
-} {1 {wrong number of arguments to function SUBSTR()}} |
-do_test func2-1.2.3 { |
- catchsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 1,1,1)} |
-} {1 {wrong number of arguments to function SUBSTR()}} |
- |
-# p1 is 1-indexed |
-do_test func2-1.3 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 0)} |
-} {Supercalifragilisticexpialidocious} |
-do_test func2-1.4 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 1)} |
-} {Supercalifragilisticexpialidocious} |
-do_test func2-1.5 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 2)} |
-} {upercalifragilisticexpialidocious} |
-do_test func2-1.6 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 30)} |
-} {cious} |
-do_test func2-1.7 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 34)} |
-} {s} |
-do_test func2-1.8 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 35)} |
-} {{}} |
-do_test func2-1.9 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 36)} |
-} {{}} |
- |
-# if p1<0, start from right |
-do_test func2-1.10 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -0)} |
-} {Supercalifragilisticexpialidocious} |
-do_test func2-1.11 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -1)} |
-} {s} |
-do_test func2-1.12 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -2)} |
-} {us} |
-do_test func2-1.13 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -30)} |
-} {rcalifragilisticexpialidocious} |
-do_test func2-1.14 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -34)} |
-} {Supercalifragilisticexpialidocious} |
-do_test func2-1.15 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -35)} |
-} {Supercalifragilisticexpialidocious} |
-do_test func2-1.16 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -36)} |
-} {Supercalifragilisticexpialidocious} |
- |
-# p1 is 1-indexed, p2 length to return |
-do_test func2-1.17.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 0, 1)} |
-} {{}} |
-do_test func2-1.17.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 0, 2)} |
-} {S} |
-do_test func2-1.18 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 1, 1)} |
-} {S} |
-do_test func2-1.19.0 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 2, 0)} |
-} {{}} |
-do_test func2-1.19.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 2, 1)} |
-} {u} |
-do_test func2-1.19.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 2, 2)} |
-} {up} |
-do_test func2-1.20 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 30, 1)} |
-} {c} |
-do_test func2-1.21 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 34, 1)} |
-} {s} |
-do_test func2-1.22 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 35, 1)} |
-} {{}} |
-do_test func2-1.23 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 36, 1)} |
-} {{}} |
- |
-# if p1<0, start from right, p2 length to return |
-do_test func2-1.24 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -0, 1)} |
-} {{}} |
-do_test func2-1.25.0 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -1, 0)} |
-} {{}} |
-do_test func2-1.25.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -1, 1)} |
-} {s} |
-do_test func2-1.25.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -1, 2)} |
-} {s} |
-do_test func2-1.26 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -2, 1)} |
-} {u} |
-do_test func2-1.27 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -30, 1)} |
-} {r} |
-do_test func2-1.28.0 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -34, 0)} |
-} {{}} |
-do_test func2-1.28.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -34, 1)} |
-} {S} |
-do_test func2-1.28.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -34, 2)} |
-} {Su} |
-do_test func2-1.29.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -35, 1)} |
-} {{}} |
-do_test func2-1.29.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -35, 2)} |
-} {S} |
-do_test func2-1.30.0 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -36, 0)} |
-} {{}} |
-do_test func2-1.30.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -36, 1)} |
-} {{}} |
-do_test func2-1.30.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -36, 2)} |
-} {{}} |
-do_test func2-1.30.3 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', -36, 3)} |
-} {S} |
- |
-# p1 is 1-indexed, p2 length to return, p2<0 return p2 chars before p1 |
-do_test func2-1.31.0 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 0, 0)} |
-} {{}} |
-do_test func2-1.31.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 0, -1)} |
-} {{}} |
-do_test func2-1.31.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 0, -2)} |
-} {{}} |
-do_test func2-1.32.0 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 1, 0)} |
-} {{}} |
-do_test func2-1.32.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 1, -1)} |
-} {{}} |
-do_test func2-1.33.0 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 2, 0)} |
-} {{}} |
-do_test func2-1.33.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 2, -1)} |
-} {S} |
-do_test func2-1.33.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 2, -2)} |
-} {S} |
-do_test func2-1.34.0 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 3, 0)} |
-} {{}} |
-do_test func2-1.34.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 3, -1)} |
-} {u} |
-do_test func2-1.34.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 3, -2)} |
-} {Su} |
-do_test func2-1.35.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 30, -1)} |
-} {o} |
-do_test func2-1.35.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 30, -2)} |
-} {do} |
-do_test func2-1.36 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 34, -1)} |
-} {u} |
-do_test func2-1.37 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 35, -1)} |
-} {s} |
-do_test func2-1.38.0 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 36, 0)} |
-} {{}} |
-do_test func2-1.38.1 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 36, -1)} |
-} {{}} |
-do_test func2-1.38.2 { |
- execsql {SELECT SUBSTR('Supercalifragilisticexpialidocious', 36, -2)} |
-} {s} |
- |
- |
-#---------------------------------------------------------------------------- |
-# Test cases func2-2.*: substr implementation (utf8) |
-# |
- |
-# Only do the following tests if TCL has UTF-8 capabilities |
-# |
-if {"\u1234"!="u1234"} { |
- |
-do_test func2-2.1.1 { |
- execsql "SELECT 'hi\u1234ho'" |
-} "hi\u1234ho" |
- |
-# substr(x,y), substr(x,y,z) |
-do_test func2-2.1.2 { |
- catchsql "SELECT SUBSTR()" |
-} {1 {wrong number of arguments to function SUBSTR()}} |
-do_test func2-2.1.3 { |
- catchsql "SELECT SUBSTR('hi\u1234ho')" |
-} {1 {wrong number of arguments to function SUBSTR()}} |
-do_test func2-2.1.4 { |
- catchsql "SELECT SUBSTR('hi\u1234ho', 1,1,1)" |
-} {1 {wrong number of arguments to function SUBSTR()}} |
- |
-do_test func2-2.2.0 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 0, 0)" |
-} {{}} |
-do_test func2-2.2.1 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 0, 1)" |
-} {{}} |
-do_test func2-2.2.2 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 0, 2)" |
-} "h" |
-do_test func2-2.2.3 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 0, 3)" |
-} "hi" |
-do_test func2-2.2.4 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 0, 4)" |
-} "hi\u1234" |
-do_test func2-2.2.5 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 0, 5)" |
-} "hi\u1234h" |
-do_test func2-2.2.6 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 0, 6)" |
-} "hi\u1234ho" |
- |
-do_test func2-2.3.0 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 1, 0)" |
-} {{}} |
-do_test func2-2.3.1 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 1, 1)" |
-} "h" |
-do_test func2-2.3.2 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 1, 2)" |
-} "hi" |
-do_test func2-2.3.3 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 1, 3)" |
-} "hi\u1234" |
-do_test func2-2.3.4 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 1, 4)" |
-} "hi\u1234h" |
-do_test func2-2.3.5 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 1, 5)" |
-} "hi\u1234ho" |
-do_test func2-2.3.6 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 1, 6)" |
-} "hi\u1234ho" |
- |
-do_test func2-2.4.0 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 3, 0)" |
-} {{}} |
-do_test func2-2.4.1 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 3, 1)" |
-} "\u1234" |
-do_test func2-2.4.2 { |
- execsql "SELECT SUBSTR('hi\u1234ho', 3, 2)" |
-} "\u1234h" |
- |
-do_test func2-2.5.0 { |
- execsql "SELECT SUBSTR('\u1234', 0, 0)" |
-} {{}} |
-do_test func2-2.5.1 { |
- execsql "SELECT SUBSTR('\u1234', 0, 1)" |
-} {{}} |
-do_test func2-2.5.2 { |
- execsql "SELECT SUBSTR('\u1234', 0, 2)" |
-} "\u1234" |
-do_test func2-2.5.3 { |
- execsql "SELECT SUBSTR('\u1234', 0, 3)" |
-} "\u1234" |
- |
-do_test func2-2.6.0 { |
- execsql "SELECT SUBSTR('\u1234', 1, 0)" |
-} {{}} |
-do_test func2-2.6.1 { |
- execsql "SELECT SUBSTR('\u1234', 1, 1)" |
-} "\u1234" |
-do_test func2-2.6.2 { |
- execsql "SELECT SUBSTR('\u1234', 1, 2)" |
-} "\u1234" |
-do_test func2-2.6.3 { |
- execsql "SELECT SUBSTR('\u1234', 1, 3)" |
-} "\u1234" |
- |
-do_test func2-2.7.0 { |
- execsql "SELECT SUBSTR('\u1234', 2, 0)" |
-} {{}} |
-do_test func2-2.7.1 { |
- execsql "SELECT SUBSTR('\u1234', 2, 1)" |
-} {{}} |
-do_test func2-2.7.2 { |
- execsql "SELECT SUBSTR('\u1234', 2, 2)" |
-} {{}} |
- |
-do_test func2-2.8.0 { |
- execsql "SELECT SUBSTR('\u1234', -1, 0)" |
-} {{}} |
-do_test func2-2.8.1 { |
- execsql "SELECT SUBSTR('\u1234', -1, 1)" |
-} "\u1234" |
-do_test func2-2.8.2 { |
- execsql "SELECT SUBSTR('\u1234', -1, 2)" |
-} "\u1234" |
-do_test func2-2.8.3 { |
- execsql "SELECT SUBSTR('\u1234', -1, 3)" |
-} "\u1234" |
- |
-} ;# End \u1234!=u1234 |
- |
-#---------------------------------------------------------------------------- |
-# Test cases func2-3.*: substr implementation (blob) |
-# |
- |
-ifcapable {!bloblit} { |
- finish_test |
- return |
-} |
- |
-do_test func2-3.1.1 { |
- set blob [execsql "SELECT x'1234'"] |
- bin_to_hex [lindex $blob 0] |
-} "1234" |
- |
-# substr(x,y), substr(x,y,z) |
-do_test func2-3.1.2 { |
- catchsql {SELECT SUBSTR()} |
-} {1 {wrong number of arguments to function SUBSTR()}} |
-do_test func2-3.1.3 { |
- catchsql {SELECT SUBSTR(x'1234')} |
-} {1 {wrong number of arguments to function SUBSTR()}} |
-do_test func2-3.1.4 { |
- catchsql {SELECT SUBSTR(x'1234', 1,1,1)} |
-} {1 {wrong number of arguments to function SUBSTR()}} |
- |
-do_test func2-3.2.0 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 0, 0)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.2.1 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 0, 1)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.2.2 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 0, 2)"] |
- bin_to_hex [lindex $blob 0] |
-} "12" |
-do_test func2-3.2.3 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 0, 3)"] |
- bin_to_hex [lindex $blob 0] |
-} "1234" |
- |
-do_test func2-3.3.0 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 1, 0)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.3.1 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 1, 1)"] |
- bin_to_hex [lindex $blob 0] |
-} "12" |
-do_test func2-3.3.2 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 1, 2)"] |
- bin_to_hex [lindex $blob 0] |
-} "1234" |
-do_test func2-3.3.3 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 1, 3)"] |
- bin_to_hex [lindex $blob 0] |
-} "1234" |
- |
-do_test func2-3.4.0 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -1, 0)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.4.1 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -1, 1)"] |
- bin_to_hex [lindex $blob 0] |
-} "34" |
-do_test func2-3.4.2 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -1, 2)"] |
- bin_to_hex [lindex $blob 0] |
-} "34" |
-do_test func2-3.4.3 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -1, 3)"] |
- bin_to_hex [lindex $blob 0] |
-} "34" |
- |
-do_test func2-3.5.0 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -2, 0)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.5.1 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -2, 1)"] |
- bin_to_hex [lindex $blob 0] |
-} "12" |
-do_test func2-3.5.2 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -2, 2)"] |
- bin_to_hex [lindex $blob 0] |
-} "1234" |
-do_test func2-3.5.3 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -2, 3)"] |
- bin_to_hex [lindex $blob 0] |
-} "1234" |
- |
-do_test func2-3.6.0 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -1, 0)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.6.1 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -1, -1)"] |
- bin_to_hex [lindex $blob 0] |
-} "12" |
-do_test func2-3.6.2 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -1, -2)"] |
- bin_to_hex [lindex $blob 0] |
-} "12" |
-do_test func2-3.6.3 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -1, -3)"] |
- bin_to_hex [lindex $blob 0] |
-} "12" |
- |
-do_test func2-3.7.0 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -2, 0)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.7.1 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -2, -1)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.7.2 { |
- set blob [execsql "SELECT SUBSTR(x'1234', -2, -2)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
- |
-do_test func2-3.8.0 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 1, 0)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.8.1 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 1, -1)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.8.2 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 1, -2)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
- |
-do_test func2-3.9.0 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 2, 0)"] |
- bin_to_hex [lindex $blob 0] |
-} {} |
-do_test func2-3.9.1 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 2, -1)"] |
- bin_to_hex [lindex $blob 0] |
-} "12" |
-do_test func2-3.9.2 { |
- set blob [execsql "SELECT SUBSTR(x'1234', 2, -2)"] |
- bin_to_hex [lindex $blob 0] |
-} "12" |
- |
-finish_test |