51 lines
853 B
Plaintext
51 lines
853 B
Plaintext
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
|