aboutsummaryrefslogtreecommitdiff
path: root/tests/expr-base.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/expr-base.test')
-rw-r--r--tests/expr-base.test39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/expr-base.test b/tests/expr-base.test
new file mode 100644
index 0000000..5c9e1da
--- /dev/null
+++ b/tests/expr-base.test
@@ -0,0 +1,39 @@
+source [file dirname [info script]]/testing.tcl
+
+# Test number detection
+set good_testcases {
+ 0 0
+ 1 1
+ 8 8
+ 00 0
+ 07 7
+ 08 8
+ 0x5 5
+ 0x0 0
+ 0x00 0
+ -0x5 -5
+ 0b111 7
+ -0b111 -7
+ -0B101 -5
+ 0o7 7
+}
+
+set i 0
+foreach {str exp} $good_testcases {
+ test expr-base-1.[incr i] "expr conversion" [list expr [list $str]] $exp
+}
+
+set bad_testcases {
+ {0x + 1}
+ x
+ 0xx5
+ 0x-5
+ {0x 5}
+ {0o8 + 1}
+}
+
+set i 0
+foreach str $bad_testcases {
+ test expr-base-2.[incr i] "expr conversion failure" -returnCodes error -body [list expr $str] -match glob -result "*"
+}
+testreport