diff options
author | Steve Bennett <steveb@workware.net.au> | 2012-03-02 16:42:46 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2012-08-07 15:09:45 +1000 |
commit | b225e36dd50337cde65fd1acfb0fe11a69ffcb71 (patch) | |
tree | c8401e007982b5864852bca8897394bc23c18991 /tests/expr-base.test | |
parent | 72a577998daa5edb99f6af1fc4820372e5563141 (diff) | |
download | jimtcl-b225e36dd50337cde65fd1acfb0fe11a69ffcb71.zip jimtcl-b225e36dd50337cde65fd1acfb0fe11a69ffcb71.tar.gz jimtcl-b225e36dd50337cde65fd1acfb0fe11a69ffcb71.tar.bz2 |
Remove octal literals with a leading 0 (TIP #114)
Now an octal literal needs to be explicitly indicated with a leading
0o or 0O, otherwise the number is treated as decimal.
This patch also adds support for binary literals.
e.g. 0b101 0B1101
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'tests/expr-base.test')
-rw-r--r-- | tests/expr-base.test | 39 |
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 |