source [file dirname [info script]]/testing.tcl # Test number detection set good_testcases { 0 0 1 1 8 8 00 0 07 7 0x5 5 0x0 0 0x00 0 -0x5 -5 0b111 7 -0b111 -7 -0B101 -5 0o7 7 0d0 0 0d7 7 0d99 99 0d099 99 -0d099 -99 } set i 0 foreach {str exp} $good_testcases { test expr-base-1.[incr i] "expr conversion" [list expr [list $str]] $exp } # JimTCL specifically does not adhere to the octal default for numbers starting with zero test expr-base-2.1 {expr conversion jim specific} -constraints jim -body { expr [list "08"] } -result {8} set bad_testcases { {0x + 1} x 0xx5 0x-5 {0x 5} {0o8 + 1} 0d-5 0dff } set i 0 foreach str $bad_testcases { test expr-base-3.[incr i] "expr conversion failure" -returnCodes error -body [list expr $str] -match glob -result "*" } testreport