From b225e36dd50337cde65fd1acfb0fe11a69ffcb71 Mon Sep 17 00:00:00 2001 From: Steve Bennett Date: Fri, 2 Mar 2012 16:42:46 +1000 Subject: 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 --- tests/expr-base.test | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 tests/expr-base.test (limited to 'tests/expr-base.test') 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 -- cgit v1.1