cmdr
Artifact [e3c42c15d3]
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.

Artifact e3c42c15d37c4c7a4a87224e1c0c756e03624269:


# -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0
# # ## ### ##### ######## ############# #####################
## Testing the cmdr::validate package (sub: integer).

kt check Tcl     8.5
kt check tcltest 2

kt require support debug
kt require support debug::caller

kt local   support cmdr::validate::common
kt local   testing cmdr::validate

# # ## ### ##### ######## ############# #####################
## Basic API.

set vtype cmdr::validate::integer
set vtdef 0
kt source vtype.tcl

# # ## ### ##### ######## ############# #####################
## Specific behaviour - validation

test vt-${vtype}-validate-2.0 "$vtype validate, fail" -body {
    $vtype validate P bogus
} -returnCodes error -result {Expected an integer for T "P", got "bogus"}

test vt-${vtype}-validate-2.1 "$vtype validate, fail, strict" -body {
    $vtype validate P {}
} -returnCodes error -result {Expected an integer for T "P", got ""}

test vt-${vtype}-validate-2.2 "$vtype validate, ok, decimal" -body {
    $vtype validate P 33
} -result 33

test vt-${vtype}-validate-2.3 "$vtype validate, ok, octal" -body {
    $vtype validate P 010
} -result 8

test vt-${vtype}-validate-2.4 "$vtype validate, ok, hex" -body {
    $vtype validate P 0xff
} -result 255

test vt-${vtype}-validate-2.5 "$vtype validate, ok, negative" -body {
    $vtype validate P -2
} -result -2

# # ## ### ##### ######## ############# #####################
cleanupTests
return