From: drh Date: Tue, 26 Nov 2013 22:46:54 +0000 (+0000) Subject: Add requirements test cases for determining when an expression is true and X-Git-Tag: version-3.8.2~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2c7e9bfc5013769d1cd149909b1d687173cefd65;p=thirdparty%2Fsqlite.git Add requirements test cases for determining when an expression is true and when it is false. FossilOrigin-Name: 838654e56304a5788ac384ca506c1938f48af488 --- diff --git a/manifest b/manifest index 3c8be252eb..1f5ab57756 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Changing\sthe\sCAST\sbehavior\sof\sREAL\svalues\sactually\schanged\sa\sdocumented\nrequirement.\s\sSo\swe\salso\shave\sto\schange\sthe\srequirement\sevidence\stext\sto\nmatch. -D 2013-11-26T21:18:45.278 +C Add\srequirements\stest\scases\sfor\sdetermining\swhen\san\sexpression\sis\strue\sand\nwhen\sit\sis\sfalse. +D 2013-11-26T22:46:54.424 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in e1a9b4258bbde53f5636f4e238c65b7e11459e2b F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -437,7 +437,7 @@ F test/e_createtable.test 3b453432cd14a12732ee9467597d2274ca37ce36 F test/e_delete.test d5186e2f5478b659f16a2c8b66c09892823e542a F test/e_droptrigger.test 3cd080807622c13e5bbb61fc9a57bd7754da2412 F test/e_dropview.test 0c9f7f60989164a70a67a9d9c26d1083bc808306 -F test/e_expr.test 5cc73445ccac0fa6e16ef05ccb42021c8bdd0c0e +F test/e_expr.test a9f7c084ea3648003bcc40dd50861af5d2341fc1 F test/e_fkey.test d83a04478bb9c02d2c513518548a69f818869f41 F test/e_fts3.test 5c02288842e4f941896fd44afdef564dd5fc1459 F test/e_insert.test 1e44f84d2abe44d66e4fbf198be4b20e3cc724a0 @@ -1143,7 +1143,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 8b12a15a2a8139d75f56a099f3f6af844da3ac9c -R 1c9b8ea37e158d8aa056f9d55c189c9f +P d84aa44e3919e25f9520c5120a35ec21e837a9ea +R ceef359da24957280bf0acfc550c26b7 U drh -Z 4aa8d025d1cf631a0e550b5e09b9ad22 +Z 5bb7513aebd7acd760a2df9416ad20ba diff --git a/manifest.uuid b/manifest.uuid index c276139572..05481834be 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d84aa44e3919e25f9520c5120a35ec21e837a9ea \ No newline at end of file +838654e56304a5788ac384ca506c1938f48af488 \ No newline at end of file diff --git a/test/e_expr.test b/test/e_expr.test index 0f55cb9ae3..ea23a22d7f 100644 --- a/test/e_expr.test +++ b/test/e_expr.test @@ -1849,5 +1849,43 @@ foreach {tn expr} { do_expr_test e_expr-36.4.$tn $expr null {} } +# EVIDENCE-OF: R-62477-06476 For example, the values NULL, 0.0, 0, +# 'english' and '0' are all considered to be false. +# +do_execsql_test e_expr-37.1 { + SELECT CASE WHEN NULL THEN 'true' ELSE 'false' END; +} {false} +do_execsql_test e_expr-37.2 { + SELECT CASE WHEN 0.0 THEN 'true' ELSE 'false' END; +} {false} +do_execsql_test e_expr-37.3 { + SELECT CASE WHEN 0 THEN 'true' ELSE 'false' END; +} {false} +do_execsql_test e_expr-37.4 { + SELECT CASE WHEN 'engligh' THEN 'true' ELSE 'false' END; +} {false} +do_execsql_test e_expr-37.5 { + SELECT CASE WHEN '0' THEN 'true' ELSE 'false' END; +} {false} + +# EVIDENCE-OF: R-55532-10108 Values 1, 1.0, 0.1, -0.1 and '1english' are +# considered to be true. +# +do_execsql_test e_expr-37.6 { + SELECT CASE WHEN 1 THEN 'true' ELSE 'false' END; +} {true} +do_execsql_test e_expr-37.7 { + SELECT CASE WHEN 1.0 THEN 'true' ELSE 'false' END; +} {true} +do_execsql_test e_expr-37.8 { + SELECT CASE WHEN 0.1 THEN 'true' ELSE 'false' END; +} {true} +do_execsql_test e_expr-37.9 { + SELECT CASE WHEN -0.1 THEN 'true' ELSE 'false' END; +} {true} +do_execsql_test e_expr-37.10 { + SELECT CASE WHEN '1english' THEN 'true' ELSE 'false' END; +} {true} + finish_test