summaryrefslogtreecommitdiffstats
path: root/test/literal2.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/literal2.test')
-rw-r--r--test/literal2.test84
1 files changed, 84 insertions, 0 deletions
diff --git a/test/literal2.test b/test/literal2.test
new file mode 100644
index 0000000..ed177ca
--- /dev/null
+++ b/test/literal2.test
@@ -0,0 +1,84 @@
+# 2024 Jan 23
+#
+# 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.
+#
+
+####################################################
+# DO NOT EDIT! THIS FILE IS AUTOMATICALLY GENERATED!
+####################################################
+
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+set testprefix literal2
+
+do_execsql_test 1.0 {
+ SELECT 123_456
+} {123456}
+
+# PG says ERROR: trailing junk after numeric literal at or near "123_"
+do_test 1.1 { catch { execsql {
+ SELECT 123__456
+} } } 1
+
+
+do_test 2.1 {
+ set myres {}
+ foreach r [db eval {SELECT 1.0e1_2}] {
+ lappend myres [format %.4f [set r]]
+ }
+ set res2 {1000000000000.0000}
+ set i 0
+ foreach r [set myres] r2 [set res2] {
+ if {[set r]<([set r2]-0.0001) || [set r]>([set r2]+0.0001)} {
+ error "list element [set i] does not match: got=[set r] expected=[set r2]"
+ }
+ incr i
+ }
+ set {} {}
+} {}
+
+do_execsql_test 3.0.0 {
+ SELECT 0xFF_FF
+} {65535}
+
+do_execsql_test 3.0.1 {
+ SELECT 0xFF_EF
+} {65519}
+
+# PG says ERROR: trailing junk after numeric literal at or near "0xFF_"
+do_test 3.0.2 { catch { execsql {
+ SELECT 0xFF__EF
+} } } 1
+
+# PG says ERROR: trailing junk after numeric literal at or near "0xFFEF_"
+do_test 3.0.4 { catch { execsql {
+ SELECT 0xFFEF_
+} } } 1
+
+do_execsql_test 3.1.0 {
+ SELECT 0XFF_FF
+} {65535}
+
+do_execsql_test 3.1.1 {
+ SELECT 0XFF_EF
+} {65519}
+
+# PG says ERROR: trailing junk after numeric literal at or near "0XFF_"
+do_test 3.1.2 { catch { execsql {
+ SELECT 0XFF__EF
+} } } 1
+
+# PG says ERROR: trailing junk after numeric literal at or near "0XFFEF_"
+do_test 3.1.4 { catch { execsql {
+ SELECT 0XFFEF_
+} } } 1
+
+finish_test