]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add requirements test cases for determining when an expression is true and
authordrh <drh@noemail.net>
Tue, 26 Nov 2013 22:46:54 +0000 (22:46 +0000)
committerdrh <drh@noemail.net>
Tue, 26 Nov 2013 22:46:54 +0000 (22:46 +0000)
when it is false.

FossilOrigin-Name: 838654e56304a5788ac384ca506c1938f48af488

manifest
manifest.uuid
test/e_expr.test

index 3c8be252ebe7a6eebbbc89441a99a57d8f87a636..1f5ab5775641233d37b616a46a22bfd3d1c2a48e 100644 (file)
--- 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
index c2761395726b05c9d44c6faef5b5da1d38a1b1d0..05481834be797309bf67896aab9908d9dfc46efc 100644 (file)
@@ -1 +1 @@
-d84aa44e3919e25f9520c5120a35ec21e837a9ea
\ No newline at end of file
+838654e56304a5788ac384ca506c1938f48af488
\ No newline at end of file
index 0f55cb9ae3b32d65aed8c42adf9a26b02a1365db..ea23a22d7f7194cd832eeea8a5dff5778cfaaafc 100644 (file)
@@ -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