gitlab.com/CoiaPrant/sqlite3@v1.19.1/testdata/tcl/tkt-9a8b09f8e6.test (about) 1 # 2014 June 26 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 [9a8b09f8e6] has been 14 # fixed. 15 # 16 17 set testdir [file dirname $argv0] 18 source $testdir/tester.tcl 19 set testprefix tkt-9a8b09f8e6 20 21 do_test 1.1 { 22 execsql { 23 CREATE TABLE t1(x TEXT); 24 INSERT INTO t1 VALUES('1'); 25 } 26 } {} 27 28 do_test 1.2 { 29 execsql { 30 CREATE TABLE t2(x INTEGER); 31 INSERT INTO t2 VALUES(1); 32 } 33 } {} 34 35 do_test 1.3 { 36 execsql { 37 CREATE TABLE t3(x REAL); 38 INSERT INTO t3 VALUES(1.0); 39 } 40 } {} 41 42 do_test 1.4 { 43 execsql { 44 CREATE TABLE t4(x REAL); 45 INSERT INTO t4 VALUES(1.11); 46 } 47 } {} 48 49 do_test 1.5 { 50 execsql { 51 CREATE TABLE t5(x, y); 52 INSERT INTO t5 VALUES('1', 'one'); 53 INSERT INTO t5 VALUES(1, 'two'); 54 INSERT INTO t5 VALUES('1.0', 'three'); 55 INSERT INTO t5 VALUES(1.0, 'four'); 56 } 57 } {} 58 59 do_test 2.1 { 60 execsql { 61 SELECT x FROM t1 WHERE x IN (1); 62 } 63 } {1} 64 65 do_test 2.2 { 66 execsql { 67 SELECT x FROM t1 WHERE x IN (1.0); 68 } 69 } {} 70 71 do_test 2.3 { 72 execsql { 73 SELECT x FROM t1 WHERE x IN ('1'); 74 } 75 } {1} 76 77 do_test 2.4 { 78 execsql { 79 SELECT x FROM t1 WHERE x IN ('1.0'); 80 } 81 } {} 82 83 do_test 2.5 { 84 execsql { 85 SELECT x FROM t1 WHERE 1 IN (x); 86 } 87 } {} 88 89 do_test 2.6 { 90 execsql { 91 SELECT x FROM t1 WHERE 1.0 IN (x); 92 } 93 } {} 94 95 do_test 2.7 { 96 execsql { 97 SELECT x FROM t1 WHERE '1' IN (x); 98 } 99 } {1} 100 101 do_test 2.8 { 102 execsql { 103 SELECT x FROM t1 WHERE '1.0' IN (x); 104 } 105 } {} 106 107 do_test 3.1 { 108 execsql { 109 SELECT x FROM t2 WHERE x IN (1); 110 } 111 } {1} 112 113 do_test 3.2 { 114 execsql { 115 SELECT x FROM t2 WHERE x IN (1.0); 116 } 117 } {1} 118 119 do_test 3.3 { 120 execsql { 121 SELECT x FROM t2 WHERE x IN ('1'); 122 } 123 } {1} 124 125 do_test 3.4 { 126 execsql { 127 SELECT x FROM t2 WHERE x IN ('1.0'); 128 } 129 } {1} 130 131 do_test 3.5 { 132 execsql { 133 SELECT x FROM t2 WHERE 1 IN (x); 134 } 135 } {1} 136 137 do_test 3.6 { 138 execsql { 139 SELECT x FROM t2 WHERE 1.0 IN (x); 140 } 141 } {1} 142 143 do_test 3.7 { 144 execsql { 145 SELECT x FROM t2 WHERE '1' IN (x); 146 } 147 } {} 148 149 do_test 3.8 { 150 execsql { 151 SELECT x FROM t2 WHERE '1.0' IN (x); 152 } 153 } {} 154 155 do_test 4.1 { 156 execsql { 157 SELECT x FROM t3 WHERE x IN (1); 158 } 159 } {1.0} 160 161 do_test 4.2 { 162 execsql { 163 SELECT x FROM t3 WHERE x IN (1.0); 164 } 165 } {1.0} 166 167 do_test 4.3 { 168 execsql { 169 SELECT x FROM t3 WHERE x IN ('1'); 170 } 171 } {1.0} 172 173 do_test 4.4 { 174 execsql { 175 SELECT x FROM t3 WHERE x IN ('1.0'); 176 } 177 } {1.0} 178 179 do_test 4.5 { 180 execsql { 181 SELECT x FROM t3 WHERE 1 IN (x); 182 } 183 } {1.0} 184 185 do_test 4.6 { 186 execsql { 187 SELECT x FROM t3 WHERE 1.0 IN (x); 188 } 189 } {1.0} 190 191 do_test 4.7 { 192 execsql { 193 SELECT x FROM t3 WHERE '1' IN (x); 194 } 195 } {} 196 197 do_test 4.8 { 198 execsql { 199 SELECT x FROM t3 WHERE '1.0' IN (x); 200 } 201 } {} 202 203 do_test 5.1 { 204 execsql { 205 SELECT x FROM t4 WHERE x IN (1); 206 } 207 } {} 208 209 do_test 5.2 { 210 execsql { 211 SELECT x FROM t4 WHERE x IN (1.0); 212 } 213 } {} 214 215 do_test 5.3 { 216 execsql { 217 SELECT x FROM t4 WHERE x IN ('1'); 218 } 219 } {} 220 221 do_test 5.4 { 222 execsql { 223 SELECT x FROM t4 WHERE x IN ('1.0'); 224 } 225 } {} 226 227 do_test 5.5 { 228 execsql { 229 SELECT x FROM t4 WHERE x IN (1.11); 230 } 231 } {1.11} 232 233 do_test 5.6 { 234 execsql { 235 SELECT x FROM t4 WHERE x IN ('1.11'); 236 } 237 } {1.11} 238 239 do_test 5.7 { 240 execsql { 241 SELECT x FROM t4 WHERE 1 IN (x); 242 } 243 } {} 244 245 do_test 5.8 { 246 execsql { 247 SELECT x FROM t4 WHERE 1.0 IN (x); 248 } 249 } {} 250 251 do_test 5.9 { 252 execsql { 253 SELECT x FROM t4 WHERE '1' IN (x); 254 } 255 } {} 256 257 do_test 5.10 { 258 execsql { 259 SELECT x FROM t4 WHERE '1.0' IN (x); 260 } 261 } {} 262 263 do_test 5.11 { 264 execsql { 265 SELECT x FROM t4 WHERE 1.11 IN (x); 266 } 267 } {1.11} 268 269 do_test 5.12 { 270 execsql { 271 SELECT x FROM t4 WHERE '1.11' IN (x); 272 } 273 } {} 274 275 do_test 6.1 { 276 execsql { 277 SELECT x, y FROM t5 WHERE x IN (1); 278 } 279 } {1 two 1.0 four} 280 281 do_test 6.2 { 282 execsql { 283 SELECT x, y FROM t5 WHERE x IN (1.0); 284 } 285 } {1 two 1.0 four} 286 287 do_test 6.3 { 288 execsql { 289 SELECT x, y FROM t5 WHERE x IN ('1'); 290 } 291 } {1 one} 292 293 do_test 6.4 { 294 execsql { 295 SELECT x, y FROM t5 WHERE x IN ('1.0'); 296 } 297 } {1.0 three} 298 299 do_test 6.5 { 300 execsql { 301 SELECT x, y FROM t5 WHERE 1 IN (x); 302 } 303 } {1 two 1.0 four} 304 305 do_test 6.6 { 306 execsql { 307 SELECT x, y FROM t5 WHERE 1.0 IN (x); 308 } 309 } {1 two 1.0 four} 310 311 do_test 6.7 { 312 execsql { 313 SELECT x, y FROM t5 WHERE '1' IN (x); 314 } 315 } {1 one} 316 317 do_test 6.8 { 318 execsql { 319 SELECT x, y FROM t5 WHERE '1.0' IN (x); 320 } 321 } {1.0 three} 322 323 finish_test